|
AT91RM9200 SPI boot, Загрузка программы из dataflash в sram, sdram |
|
|
|
Jun 23 2010, 15:41
|
Частый гость
 
Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768

|
Добрый день.
Имеется связка : AT91RM9200 +dataflash AT45DB321 + sdram 2x16 + nand flash, среда разработки IAR или GNU(yagartoo+openocd+eclipce)
В IAR есть два проекта, для AT91RM9200, взял проект для DK (он мигает одним светодиодом), версию с линковкой в sram. ucrouter взял flash утилиту AT91RM9200-29lv160d.bin, поставил bms=1, подключится через Debug UART. В консоли пошли символы "ССССС ". Загрузил при помощи xmodem протокола утилиту в процессор, дождался второго приглашения (верно определилась dataflash и пошли буква СССС) , заслал свою программу, выставил BMS=1, передернул питание = вместо моей программы запустился загрузчик. Где я ошибся?
На форуме нашел mac файл для IAR инициализирующий SDRAM. Подключил к проекту, изменил файлы .icf, так чтобы программа линковалась в SDRAM, стек в внутренню SRAM. Никак не получается залить программу в SDRAM и там ее отладить, есть ли пример .icf файла для IAR, позволяющий отлаживать программу в SDRAM? (SDRAM инициализируется корректно, с адреса 0х20000000 память пишется, читается)
с ucrouter взял исходники boot.patch.tgz, исправил Makefile, скрипт линкера, написал скрипт openocd и gdb (eclipse) . Как результат : SDRAM инициплизируется, туда записывается приложение и запускается (выполняется по шагам). Но все работает нестабильно, запись происходит через раз. Кто нибудь может поделиться скриптом openocd и парным скриптом gdb?
С уважением Арищенко Иван.
|
|
|
|
|
Jul 7 2010, 07:33
|
Частый гость
 
Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768

|
Подниму тему : В приложении два файла : 1. Проект GNU, последний yagartoo, приложение слинковано в sdram (32x). Грузится, мигает светодиодом. За основу брал проект c ucrouter пример работы с MCI картой. Make написан заново. 2. Скрипт OpenOCD (для версии 4). По команде reset init инициализируется pll, sdram и выполняется remap. (за основу взял файлы из поставки OpenOCD) скрипт gdb : target remote localhost:3333 monitor halt monitor sleep 1000 monitor reset init monitor sleep 1000 load thbreak main Вопрос : spi loader с инструкцией (куда должно быть слинковано приложение) и последовательность действий? Загрузчик первого уровня должен загрузить bootloader в sram и передать ему управление. bootloader должен проинициализировать sdram переписать мое приложение из dataflash в sdram и передать ему управление.
|
|
|
|
|
Jul 8 2010, 05:56
|
Частый гость
 
Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768

|
Ну собственно все : Я взял загрузчик с загрузчик. Последовательность действий : 1. В startup коде удаляется кусок, настраивающий PLL 2. Программа линкуется в SDRAM с адреса 0x21f00000 (с этого адреса в память загрузчик переписывает прикладное приложение из dataflash и запускает его) 3. BMS=1, в теминале по debug порту появляется приглашение загрузки программы по xmodem 4. Записать бинарник romboot.bin 5. Приглашение romboot : press any key to enter bootloader ATMEL LOADER VER 1.01 Aug 4 2004 18:24:55 *----------------------------------------* DataFlash:AT45DB321 Nb pages: 008192 Page Size: 000528 Size=04325376 bytes Logical address: 0xC0000000 *----------------------------------------* 1: Download Dataflash [addr] 2: Read Dataflash [addr] 3: Start U-BOOT 4: Clear bootloader section in Dataflash *----------------------------------------* Enter: 6. Зашить программу загрузчика в dataflash командой : 1 0xc0000000 -> появятся приглашение "CCCC" -> передать бинарник загрузчика 7. Зашить прикладную программу : 1 0хс0008000 -> появятся приглашение "CCCC" -> передать бинарник программы Все, можно ресетить процессор и закрывать тему.
|
|
|
|
|
Jul 8 2010, 13:34
|

Профессионал
    
Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661

|
Цитата(Arischenko Ivan @ Jun 23 2010, 19:41)  ucrouter взял flash утилиту AT91RM9200-29lv160d.bin, поставил bms=1, подключится через Debug UART. В консоли пошли символы "ССССС ". Загрузил при помощи xmodem протокола утилиту в процессор, дождался второго приглашения (верно определилась dataflash и пошли буква СССС) , заслал свою программу, выставил BMS=1, передернул питание = вместо моей программы запустился загрузчик. Где я ошибся? Таких проблемм как Вы написали, вообще то не наблюдалось. После того как Ваша программка загрузилась, выскочит меню и там есть пункт прописать в dataflash, если нажали правильную клавишу то ошибки быть не должно, стабильно пишется AT45DB321, AT45DB642, другие я не ставлю у себя. На всякий случай для защиты там введён пукт меню верифицировать flash. Те Ваша программка прогружается опять в SDRAM и содержимое SDRAM сравнивается с flash :-) Может ресетнулись до того как в третий раз выдалось CCCC? PS. Как говорили старые программисты позле записи полезно прочитать еще раз id flash , но в руководстве на них нет об этом ничего и я таких проблемм не наблюдал, хотя в основном шью я то параллельную а эта для образа диска используется, но при прошивке образа диска таких проблемм не наблюдалось.
Сообщение отредактировал dch - Jul 8 2010, 13:53
|
|
|
|
|
Aug 2 2013, 03:11
|
Группа: Новичок
Сообщений: 6
Регистрация: 26-06-13
Пользователь №: 77 295

|
Цитата(Arischenko Ivan @ Jul 8 2010, 08:56)  Ну собственно все : ... Здравствуйте! Прошло 3 года- ссылки устарели, скиньте пожалуйста ссылку на загрузчик "Я взял загрузчик с загрузчик" Спасибо.
Сообщение отредактировал IgorKossak - Aug 2 2013, 16:48
Причина редактирования: бездумное цитирование
|
|
|
|
|
Jun 25 2014, 06:43
|
Группа: Новичок
Сообщений: 7
Регистрация: 22-11-07
Пользователь №: 32 584

|
Здравствуйте! Нужны исходники romboot'a, не могу найти, что неудивительно через столько-то времени. Прошу помощи - может быть, у кого-нибудь они остались?
|
|
|
|
|
Jun 25 2014, 07:18
|
Группа: Новичок
Сообщений: 7
Регистрация: 22-11-07
Пользователь №: 32 584

|
Спасибо!
|
|
|
|
|
May 6 2015, 06:51
|
Группа: Участник
Сообщений: 10
Регистрация: 6-05-15
Пользователь №: 86 541

|
Увидел похожую связку AT91RM9200 + AT45DB321C Есть плата от HP MSL 4048 с процессором AT91RM9200. Для это платы есть прошивки с раширением *.frm
MSL4048_8.70.txt ( 1.76 мегабайт )
Кол-во скачиваний: 62 расширение изменено на txt. Мне нужнро как-то вытащить бинарник с AT45DB321C, либо понять как этот файл записать на AT45DB321C. Дело осложняется тем, что AT45DB321C не сдуть с платы, стоит на шарах, потом просто так не посадить обратно. Может кто помочь в Москве или Зеленограде с прошивкой? Или через какую связку можно считать?
|
|
|
|
|
May 6 2015, 07:29
|
Группа: Участник
Сообщений: 10
Регистрация: 6-05-15
Пользователь №: 86 541

|
aaarrr есть подозрение что файл сжат, хорошо бы его открыть в какой нить редакторе, чтобы структуру показал.
|
|
|
|
|
May 6 2015, 08:07
|
Группа: Участник
Сообщений: 10
Регистрация: 6-05-15
Пользователь №: 86 541

|
aaarrr на плате стоит FM25L256, с него сдул бинарник
FM25L256.txt ( 32 килобайт )
Кол-во скачиваний: 49 Там может быть загрузчик?
|
|
|
|
|
May 6 2015, 14:16
|
Группа: Участник
Сообщений: 10
Регистрация: 6-05-15
Пользователь №: 86 541

|
aaarrr вот бинарник с AT45DB321C, но с другой библиотеки чуток, рискнул чип отпаял
AT45DB321C_HP_1_8g2.zip ( 1.31 мегабайт )
Кол-во скачиваний: 47И вот сама пррошивка для этого, они могут только версиями отличатся.
MSL_1x8_G2_3.80.txt ( 1.34 мегабайт )
Кол-во скачиваний: 44А как вы эти файлы анализируете, в какой проге?
Сообщение отредактировал Гарри - May 6 2015, 14:17
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|