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

 
 
> IAR Flashloader для AT91RM9200 + AM29LV160D, Выкладываю. Может кому будет полезно.
VladislavS
сообщение Jun 20 2005, 06:56
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Только начал работать с ARM и сразу на AT91RM9200. До этого имел дело c ATMega128. Потихоньку начал разбираться. Сначала во внутренней RAM простенькие программы запускал, шупал настройки и проникался масштабом бедствий. Потом дошло дело до Flashloader. Два дня отладчика и он заработал.

В эттаче FlashLoader для AT91RM9200 + AM29LV160DB(T) с исходниками.
Может кому полезно будет.

Ну и попутно вопросы созрели:

1. Помогите разобраться с тактовыми частотами. PLLB = 96 МГц c выходом 48 для USB это понятно. Все остальное буду тактировать от PLLA. Какую MCK надо подать на Memory Controller, если на нем подключено AM29LV160DB 70 нc и SDRAM с CL=2 при 100 МГц.

2. Тактовая на SDRAM равна MCK? Тогда что лучше в плане производительности
a) Процессор на 180 МГц и SDRAM на 90 МГц
б) Процессор на 100 Мгц и SDRAM на 100 МГц
Код будет исполняться из SDRAM.

3. Не совсем понял с времянкой работы FLASH на SMC. Во флэшлоадере MCK у меня 96 МГц c PLLB и все настройки SMC по умолчанию. Как это вяжется с 70 нc скоростью микросхемы AM29LV160D? Похоже, я что-то не понимаю.

4. Стоит ли стэк помещать во внутренней RAM процессора, а не в SDRAM. Получу ли я прибавку в скорости. Как к этому отнесется кэш?

Прикрепленный файл  FL_AT91RM9200_AM29LV160D.RAR ( 33.65 килобайт ) Кол-во скачиваний: 364
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VladislavS
сообщение Sep 24 2005, 06:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Ребят, давайте мух от котлет отделять.

1. vvj, Если у тебя 29LV160 в 16-разрядном режиме, то забей на Bootloader. Тебе достаточно прошить код, перевести BMS в 0 и он стартанет прямо с флэшки. Только не забывай про ремэпы и что внутренняя SRAM проца будет по адресу 0x200000 и это надо указать в XCL-файле. Для 8-разрядного режима будет работать механизм Bootloader, только почитай Errata пункт 37.

2. Насчет cstartup.s79 и векторов. Все вектора, которые используются в приложении, будут вкомпилены в выходной файл. Если часть векторов не используется, как в вашем случае, на их местах будут нули. Для обычного приложения это штатная ситуация. Если мы хотим чтобы BootLoader признал наш код за валидное приложение, то должны прописать все вектора, а шестой еще и специальной информацией. Проще всего это сделать в cstartup.s79. Пример такого cstartup.s79 прикрепляю. Обратить внимание на код по адресу 0x14.

3. Насчет XCL-файла. Смею вас огорчить, но запрограммировать ARM в IAR не прописав руками XCL нереально. Справедливости ради надо отметить, что в настройках линкера есть кнопочка Command line configuration tool, но я как-то попробовал ей законфигурить и плюнув просто написал все в XCL. А необходимо это все по очень простой причине. ВЫ ДОЛЖНЫ СКАЗАТЬ КОМПИЛЯТОРУ СКОЛЬКО КАКОЙ ПАМЯТИ ПО КАКИМ АДРЕСАМ ЕСТЬ В СИСТЕМЕ И КУДА РАЗМЕЩАТЬ ВЕКТОРА ПРЕРЫВАНИЙ, СТЭКИ, СЕГМЕНТЫ КОДА И ДАННЫХ, КУЧУ. Ведь ARM может иметь довольно богатый набор различных типов памяти на борту и за бортом. Плюс тот же REMAP надо учесть. При этом, в отличии напримр от AVR, адресное пространство данных не отделено от адресного пространства программ, что дает множество возможных вариантов построения проекта. На этом месте советую почитать про сегменты в IAR-вском хэлпе.

4. Более того, один проект обычно содержит несколько XCL. Например, для отладки совсем не обязательно прошивать флэшки, а можно использовать для размещения кода SDRAM. При финальной же компиляции все переносится во flash. И примеров, когда надо использовать разную память в проекте, может быть множество.

5. Насчет Wiggler. Он хорош, если ARM для вас хобби. Но если это ваша работа, то я не понимаю как можно экономить на инструменте. Сравните стоимость фирменного J-Link и более чем вдвое дешевого MT-Link со стоимостью изготовления опытной четырех-шестислойной печатной платы для AT91RM9200 со всей его периферией !!! После подписания счета на печатные платы мой директор счет на J-Link подмахнул даже не спросив что это.

Кстати, Flashloader для DataFlash уже работает. Так что, сегодня-завтра еще обкатаю на предмет ошибок и в понедельник выложу.
Прикрепленные файлы
Прикрепленный файл  cstartup.rar ( 1.92 килобайт ) Кол-во скачиваний: 71
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- VladislavS   IAR Flashloader для AT91RM9200 + AM29LV160D   Jun 20 2005, 06:56
- - VladislavS   С вопросом номер 3 разобрался сам. Был невнимателе...   Jun 20 2005, 13:57
- - GSG   Цитата1. Помогите разобраться с тактовыми частотам...   Jun 21 2005, 07:43
- - VladislavS   Просветление потихоньку приходит. Спасибо. С часто...   Jun 21 2005, 09:11
|- - GSG   Случайно примера как в IAR написать команды включе...   Jun 21 2005, 09:33
- - VladislavS   Надо отдать должное IAR за исчерпывающую документа...   Jun 21 2005, 11:51
- - vvj   А можно что-нибудь по-проще? Не понимаю как его (f...   Sep 16 2005, 14:27
- - VladislavS   Для того чтобы использовать этот FlashLoader надо ...   Sep 16 2005, 17:12
|- - vvj   Цитата(VladislavS @ Sep 16 2005, 20:12)Для то...   Sep 21 2005, 10:45
- - VladislavS   В меню настройках Debuger надо указать Use macro f...   Sep 21 2005, 18:55
- - GSG   Мы просто меняли в редакторе нех-значение 6 байта ...   Sep 22 2005, 10:39
- - VladislavS   Вопрос не в том чтобы загрузиться, это я как раз у...   Sep 22 2005, 12:30
|- - vvj   Такие дела: Wiggler глючит - отложил пока, в испол...   Sep 23 2005, 14:05
- - VladislavS   Еще раз внимательно прочти страницу 88 и особенно ...   Sep 23 2005, 14:24
|- - vvj   Цитата(VladislavS @ Sep 23 2005, 17:24)Кстати...   Sep 23 2005, 19:15
- - Bender   Да, аналогично У фуджиков тоже были свои стартап...   Sep 24 2005, 01:26
|- - vvj   Цитата(VladislavS @ Sep 24 2005, 09:04)Насчет...   Oct 6 2005, 13:52
- - VladislavS   Как и обещал выкладываю новую версию FlashLoader-а...   Sep 26 2005, 04:25
- - vvj   извиняюсь за повтор но наболело: Закачиваю значи...   Sep 27 2005, 14:12
- - VladislavS   Может просто неправильно инициализируешь клоки? Не...   Sep 27 2005, 17:37
|- - vvj   Цитата(VladislavS @ Sep 27 2005, 20:37)А то ч...   Sep 28 2005, 13:51
- - VladislavS   JTAG по тебе плачет. Недавно только на дружественн...   Sep 28 2005, 14:18
|- - vvj   Цитата(VladislavS @ Sep 28 2005, 17:18)JTAG п...   Sep 28 2005, 16:30
- - VladislavS   Ну из твоих постов не было очевидно, что ты провер...   Sep 28 2005, 18:26
- - vvj   Такой вопрос: если посмотреть на map файлы каждой ...   Sep 29 2005, 10:17
- - VladislavS   Ну блин, когда BMS=0, то FLASH с адреса 0x00000000...   Sep 29 2005, 13:59
|- - vvj   Цитата(VladislavS @ Sep 29 2005, 16:59)Вот с ...   Sep 29 2005, 18:43
- - Bender   Цитата(vvj @ Sep 29 2005, 21:43)И ещё: не наш...   Sep 30 2005, 05:01
- - VladislavS   Вот тебе XCL для "тупого апликэйшина", р...   Sep 30 2005, 05:37
- - vvj   Код#include "AT91RM9200.h" unsigned long c...   Sep 30 2005, 09:50
- - vvj   Заработало, извиняюсь, видимо php здесь не сработа...   Sep 30 2005, 09:52
- - vvj   Заработало, извиняюсь, видимо php здесь не сработа...   Sep 30 2005, 09:53
- - VladislavS   Так заработало или нет? Народ, а FlashLoader то у...   Sep 30 2005, 16:16
|- - vvj   Цитата(VladislavS @ Sep 30 2005, 19:16)А то м...   Oct 4 2005, 19:28
- - VladislavS   При BMS=0 Flash начинается с адреса 0x00000000 и ...   Oct 5 2005, 05:25
- - vvj   А не могли бы пояснить с переменными: по инструкци...   Oct 5 2005, 08:30
- - VladislavS   По директиве LDR надо просто почитать о методах ад...   Oct 5 2005, 13:27
- - VladislavS   В принципе, IAR-ом c FlashLoader-ом можно прошить ...   Oct 6 2005, 18:09


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

 


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


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