Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
- MAT91SAM9XE512 - SK - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Старый форум » SK-MAT91SAM9XE512
voyt (Guest)
Добавлено 25.06.2008 11:28 Редактировалось 25.06.2008 11:28 Сообщение: 11
voyt (Guest)

Насчет JTAG - разве по нему можно запрограммировать DataFlash? В доке по SAM-BA написано, что Boot Program работает только с DBGU и с USB.
Вопрос: U-boot может загрузить по TFTP stand-alone программу ( bin-файл ) в SDRAM и запустить его? Это чтобы постоянно не приходилось записывать программу в DataFlash и тем самым не придется запускать винду в виртуалке ( для SAM-BA ) да и производительность разработки/отладки повысится....
Спуститься к концу Подняться к началу
voyt (Guest)
Добавлено 25.06.2008 11:31 Редактировалось 25.06.2008 11:31 Сообщение: 12
voyt (Guest)

Цитата
Спасибо за участие!
Я всегда в консолях работаю, в Х-ы очень редко переключаюсь, для активации нужно нажать Alt+Ctrl+F(1-5).
После входа запускаю mc.

Не за что! Дело в том, что у меня host-OS тоже Linux, поэтому, если нажать Alt+Ctrl+F(1-5) у меня переключение будет на хост-машине Да и мне удобнее в X, т.к. я люблю работать в 4-х консолях одновременно.
Спуститься к концу Подняться к началу
voyt (Guest)
Добавлено 25.06.2008 21:06 Редактировалось 25.06.2008 21:06 Сообщение: 13
voyt (Guest)

Разобрался сам - достаточно было прочитать доку к u-boot'у. Для тех, у кого возникнет подобный вопрос:
Итак, для того чтобы запустить т.н. stand-alone программу ( т.е. программу, не требующую ОС ) необходимо загрузить u-boot. Для обсуждаемой платы достаточно нажать любую кнопку в терминале ( т.е. послать любой символ в uart ) при загрузке м-ра. Далее ввести команды:
Код

tftp 0х20000000 /tftpboot/program.bin
go 0х20000000

Естественно нужно предварительно настроить tftp ( dhcp, bootp ). Можно использовать уже настроенную виртуальную машину с диска, идущего в комплекте.
Первоисточник: http://www.denx.de/wiki/view/DULG/UBootStandalone
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 25.06.2008 21:43 Редактировалось 25.06.2008 21:43 Сообщение: 14
starterkit (Guest)

Еще раз спасибо за участие, хочу добавить.
Залить в память платы можно не только через TFTP (слегка глючит в u-boot, причем не только этой версии и не только для ARM9), кстати, можно орбойтись и без DHCP с bootp (присвоив IP хостовой машины в сетке 192.168.0.xxx).
Так же можно залить через терминалку (например HyperTerminal) по kermit протоколу, командой
Код
loadb 0x20000000
go 0x20000000

Еще как вариант, можно код лить в SDRAM прямо из SAM-BA и запускать, я пытался настроить это в прилагаемых скриптах (в скриптах есть "Run from 0x21d00000") но до ума не довел.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно starterkit 25.06.2008 г. в 21:52:01
Спуститься к концу Подняться к началу
voyt (Guest)
Добавлено 01.07.2008 12:53 Редактировалось 01.07.2008 12:53 Сообщение: 15
voyt (Guest)

Для тех заинтересовался отладкой stand-alone программ для этой платы. Теперь я с уверенностью могу сказать, что самый удобный вариант - это загрузка по JTAG в SDRAM.
Я использую Amontec JTAGKey аппаратный отладчик-программатор, OpenOCD, gdb + Eclipse и все это под GNU/Linux.
Вот пример работы для данной платы:
1) Запускаем OpenOCD из под root'a:
# /opt/bin/openocd --file /opt/lib/openocd/interface/jtagkey.cfg --file /opt/lib/openocd/target/at91sam9260.cfg
3) По-умолчанию OpenOCD слушает порт 3333. Запускаем gdb:
$ arm-elf-gdb
4) В gdb вводим команды:
target remote localhost:3333
monitor soft_reset_halt
monitor arm7_9 force_hw_bkpts enable
symbol-file ВАША_ПРОГРАММА.elf
set $pc = 0x20000000
load ВАША_ПРОГРАММА.elf
thbreak main

Ваша программа остановится в начале ф-ии main. Для использования Eclipse создаем файл с этими командами - и в настройках IDE отладчика задаем полный путь к этому файлу.
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 20.07.2008 16:20 Редактировалось 20.07.2008 16:20 Сообщение: 16
sasamy (Guest)

Цитата

Тут у меня возникла идея. Моя рабочая ОС - GNU/Linux. Решил, что, если буду дальше плотно и много работать с эти камнем, то попробую написать под эту ОС систему загрузки прошивок через USB. Благо, протокол открыт ( описан в даташите ). Алгоритм примерно такой как и у SAM-BA. А то как-то напряжно запускать vmware только для прошивки....


Есть SAM-BA для linux - пользуюсь, нормально работает, правда пока только заливку dataflash использовал но думаю и с остальным все ок должно быть.

sam-ba_cdc_2.7.linux_01.zip
Спуститься к концу Подняться к началу
voyt (Guest)
Добавлено 04.08.2008 15:31 Редактировалось 04.08.2008 15:31 Сообщение: 17
voyt (Guest)

2 sasamy:
спасибо за ссылку!
Спуститься к концу Подняться к началу
Толямбр (Guest)
Добавлено 10.09.2008 00:13 Редактировалось 10.09.2008 00:13 Сообщение: 18
Толямбр (Guest)

VOYT, а ты где Amontec JTAGKey достал? Я пару месяцев назад в инете пробовал найти, у кого в России можно его купить и не нашел... .
И ,кстати, почему выбрал его, а не , скажем, USB-JTAG от Olimex?
Спуститься к концу Подняться к началу
Strijar (Guest)
Добавлено 13.11.2008 17:16 Редактировалось 13.11.2008 17:16 Сообщение: 19
Strijar (Guest)

Цитата
Есть SAM-BA для linux - пользуюсь, нормально работает, правда пока только заливку dataflash использовал но думаю и с остальным все ок должно быть.


А через что пробовали? RS232 или USB? У меня на аналогичной плате напрямую по USB не пошел - подключился на RS232 через USB переходник. Утилита вроде работает в SRAM побайтово читает/пишет. Если пробовать из/в файл - виснет (даже на 20 байтах)
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 13.11.2008 19:21 Редактировалось 13.11.2008 19:21 Сообщение: 20
sasamy (Guest)

2Strijar
Я тоже через переходник usb<->rs232 все делал - usb напрямую даже не пробовал. Сейчас зашиты bootstrap & u-boot - вообще этой утилитой не пользуюсь, функционала u-boot хватает. Правда эта плата меня интересует как раз в плане применения на ней ос linux. Писать с нуля для таких достаточно мощных процессоров как-то непривлекательно :)
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Старый форум » SK-MAT91SAM9XE512