реклама на сайте
подробности

 
 
> AT91SAM9260 SIBERIA - нужен загрузчик, прошу помощи с загрузкой и выполнением программы
fvv
сообщение Jul 18 2013, 09:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 2-10-07
Пользователь №: 31 000



AT91SAM9260 плата Siberia, решил обойтись без линукса, подключился через JTAG ипользуя IAR 5.4, запустил монитор и UART- дело шло, но как дело дошло до автономного запуска после подачи питания - нашла коса на камень. Загрузчик bootstrap который шел вместе с платой никак не хочет загружать мою программу, начал разбираться и понял что это мне не посилам, я не понимаю как размещать мой код чтобы загрузчик его загрузил и запустил. Попытки разобраться с атмеловским примером загрузчика (проект для IAR) - безуспешны - копилируется успешно, но что он делает непонятно, при запуске отладки после какихто действий - улетает в аборт хендлер.
Помогите пожалуста, может у кого есть загрузчик с обяснениями.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
Jury093
сообщение Jul 18 2013, 10:54
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(fvv @ Jul 18 2013, 13:51) *
AT91SAM9260 плата Siberia, решил обойтись без линукса, подключился через JTAG ипользуя IAR 5.4, запустил монитор и UART- дело шло, но как дело дошло до автономного запуска после подачи питания - нашла коса на камень. Загрузчик bootstrap который шел вместе с платой никак не хочет загружать мою программу, начал разбираться и понял что это мне не посилам, я не понимаю как размещать мой код чтобы загрузчик его загрузил и запустил.

если я правильно помню идеологию - ваш бутстрап после старта ищет жестко прописанный внешний флеш (SerialFlash или NAND), откуда считывает бинарную область и отдает туда управление. обычно туда кладут u-boot.. прошиваете туда свой "восход солнца вручную" с примитивным маханием пином или выводом в dbgu и контролируете результат..
при наличие исходников "Загрузчик bootstrap который шел вместе с платой" смотрите откуда, куда и сколько грузится..
кстати, у первичного бутлоадера есть ограничитель размера
Go to the top of the page
 
+Quote Post
fvv
сообщение Jul 18 2013, 11:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 2-10-07
Пользователь №: 31 000



подобие исходников есть, но они под GCC, нечем компилировать. Об 4кБ я уже понял. Проекту бутлодадера для IAR не хватает памяти для dbgu. Хотелось бы готового решения.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jul 18 2013, 14:14
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(fvv @ Jul 18 2013, 15:28) *
подобие исходников есть, но они под GCC, нечем компилировать. Об 4кБ я уже понял. Проекту бутлодадера для IAR не хватает памяти для dbgu. Хотелось бы готового решения.

ну допустим исходники бутстрапа для 9260-evm включены в пакет типа:
http://www.atmel.com/Images/at91sam9260-ek.zip
там для IAR, GNU и KEIL
у вас плата "сибирь" - что там отличается от -evm, имхо, проще списаться с автором платы или поискать фанатов

для компилляции сорцов под GCC можно поставить на виндюки что-то типа VmWare (~полчаса на установку) и под нее засетапить любой дистрибут (еще ~полчаса), ну или грузануться с подходящего LiveCD..

Цитата
Проекту бутлодадера для IAR не хватает памяти для dbgu

там можно чуть повыкидывать лишнего (хоть работу с флешом) и вставить вывод отладочного "му" - что будет изначать успешный запуск стендалоне..
Go to the top of the page
 
+Quote Post
fvv
сообщение Jul 18 2013, 16:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 2-10-07
Пользователь №: 31 000



похоже что мои действия " на ощупь" на 4й день увенчались успехом, - в проекте для IAR надо было в дефайнах препроцессора в настройка проекта указать AT45_SLOT_B вместо AT45_SLOT_A и тут же задается адрес по которуму надо грузить программу, было FROM_ADDR=0x8400, пока не знаю почему сделан этот сдвиг но записав программу SAM-BA -й с удивление обнаружил успех. Потом изменил на FROM_ADDR=0x8000, перезалил и убедился что действительно все работает.
Спасибо за подсказки.

Теперь еще надо разобраться как запустить вен не на 100МГц а на 180МГц, так как мои исправления в коде при отладке отменяются средой разработки.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jul 18 2013, 19:53
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(fvv @ Jul 18 2013, 20:39) *
похоже что мои действия " на ощупь" на 4й день увенчались успехом, - в проекте для IAR надо было в дефайнах препроцессора в настройка проекта указать AT45_SLOT_B вместо AT45_SLOT_A и тут же задается адрес по которуму надо грузить программу, было FROM_ADDR=0x8400, пока не знаю почему сделан этот сдвиг но записав программу SAM-BA -й с удивление обнаружил успех. Потом изменил на FROM_ADDR=0x8000, перезалил и убедился что действительно все работает.
Спасибо за подсказки.

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

Цитата
Теперь еще надо разобраться как запустить вен не на 100МГц а на 180МГц, так как мои исправления в коде при отладке отменяются средой разработки.

не очень понял что такое "вен", но если это АРМ, то внимательно смотрите настройки блока PLL, и после выхода на 180 тщательно протестируйте память..
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 18:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016