Перейти к содержанию
    

Добрый день.

 

Имеется связка : 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?

 

 

С уважением Арищенко Иван.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подниму тему :

 

В приложении два файла :

 

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 и передать ему управление.

 

AT91RM9200_HelloWorld.zip

openocd_at91rm9200.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну собственно все :

 

Я взял загрузчик с загрузчик.

 

Последовательность действий :

 

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" -> передать бинарник программы

 

 

Все, можно ресетить процессор и закрывать тему.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну собственно все :

...

 

Здравствуйте!

Прошло 3 года- ссылки устарели, скиньте пожалуйста ссылку на загрузчик "Я взял загрузчик с загрузчик"

 

Спасибо.

Изменено пользователем IgorKossak
бездумное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Нужны исходники romboot'a, не могу найти, что неудивительно через столько-то времени. Прошу помощи - может быть, у кого-нибудь они остались?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Нужны исходники romboot'a, не могу найти, что неудивительно через столько-то времени. Прошу помощи - может быть, у кого-нибудь они остались?

Dataflashboot_1.05_AT91RM9200.tar.gz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Увидел похожую связку AT91RM9200 + AT45DB321C

Есть плата от HP MSL 4048 с процессором AT91RM9200. Для это платы есть прошивки с раширением *.frm MSL4048_8.70.txt расширение изменено на txt.

Мне нужнро как-то вытащить бинарник с AT45DB321C, либо понять как этот файл записать на AT45DB321C.

Дело осложняется тем, что AT45DB321C не сдуть с платы, стоит на шарах, потом просто так не посадить обратно.

Может кто помочь в Москве или Зеленограде с прошивкой? Или через какую связку можно считать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Заблокируйте чтение с AT45 и подключитесь через SAM-BA, ничего сдувать не придется. Представленный бинарник явно не полный, т.е. должен быть еще один загрузчик в начале AT45.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

aaarrr есть подозрение что файл сжат, хорошо бы его открыть в какой нить редакторе, чтобы структуру показал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

aaarrr есть подозрение что файл сжат, хорошо бы его открыть в какой нить редакторе, чтобы структуру показал.

Да, большая часть сжата. Декомпрессор открыт (смещение 0x440+), но он не может быть напрямую загружен средствами Boot ROM RM9200, должен быть еще один загрузчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

aaarrr вот бинарник с AT45DB321C, но с другой библиотеки чуток, рискнул чип отпаял AT45DB321C_HP_1_8g2.zip

 

И вот сама пррошивка для этого, они могут только версиями отличатся. MSL_1x8_G2_3.80.txt

 

А как вы эти файлы анализируете, в какой проге?

Изменено пользователем Гарри

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...