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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите моргнуть светодиодом, нужен простой поект под EWARM на9200
Bender
сообщение Aug 24 2005, 08:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Не выходит каменный цветок sad.gif
Не могу разобраться с IARом, не мигает светодиод
У кого есть самый простой проект - дайте посмотреть, а?
Желательна загрузка через x-modem
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Aug 24 2005, 09:56
Сообщение #2


Местный
***

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



Про отладку через X-modem можешь забыть. Это не такой простой проц, чтобы все с ходу работало. Запускай J-TAG и отлаживай. Самый простой проект, что нашел и уже как-то постил - флэшлоадер.

PS: Не плоди темы. Понятно, что только начинаешь, потому в одной теме все грабли последовательно и будем обходить - не надо форум засорять.
Прикрепленные файлы
Прикрепленный файл  FL_AT91RM9200_AM29LV160D.RAR ( 33.65 килобайт ) Кол-во скачиваний: 89
 
Go to the top of the page
 
+Quote Post
Bender
сообщение Aug 24 2005, 11:55
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Спасибо, смотрю
Но дело в другом - все попытки загрузить бутлоадер ни к чему не приводят, ибо плата самодельная : нет АТ29, память только 16 разрядная, кварц не 18МГц а 20. ВсЁ чего я добился - запуск RomBoot.bin и только. Дальше он ничего не грузит. На АТ91.сом лекарства не нашел.
С Вигглером то же беда- OCD Commander работает, проц виден, Баньян даже определяет тип арма, а вот IAR плевал на это - не работает ни через вигглер ни через RDI. (8 и 15 выводы DB25 замкнуты)
Поэтому хотелось бы увидеть рабочий небольшой проектик с работой с UART и кнопкой/лампочкой, загружающийся через DBGU, чтобы разобраться .

Чао!
Go to the top of the page
 
+Quote Post
dch
сообщение Aug 24 2005, 14:37
Сообщение #4


Профессионал
*****

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



Цитата(Bender @ Aug 24 2005, 14:55)
RomBoot.bin

Что есть RomBoot.bin?
С уважением, Дмитрий.
Go to the top of the page
 
+Quote Post
Bender
сообщение Aug 25 2005, 05:00
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



RomBoot.bin - приблуда из состава U-boot. Грузится в RAM проца по x-modem'у, и начинает загрузку опять же по x-modem'у только уже U-boot, и прописывает его (U-boot) во флэш. После чего U-boot загружается сам по сбросу.
Вроде так
Go to the top of the page
 
+Quote Post
Bender
сообщение Aug 25 2005, 10:20
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Неужели никто не знает как помигать светодиодом? Вроде простой вопрос?
Хотя бы где взять сэмплы для ИАРа? Ссылочку не жалко? или письмом?

...

Вроде многие ИАРом пользуются, а как сами начинали - расскажите, интересно.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Aug 25 2005, 15:00
Сообщение #7


Местный
***

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



Начинали так:

1. Рисуем схему
2. Покупаем комплектуху и J-LINK
3. Разводим плату и отдаем ее в печать
4. Собираем плату
5. Делаем первое включение
6. Качаем IAR и лекарство к нему
7. Создаем ПУСТОЙ проект и начинаем его настраивать на наш проц
8. Отлаживаем макрос настройки проца для подключения по J-TAG
9. Правим настройки линкера (файл .xcl) под свою схему
10. Пробуем программить "Hello, World!" (мигать светодиодами)
11. Пишем FlashLoader для своих микрух
12. Начинаем запускать по кусочкам всю периферию проца
13. ПРограммим, программим и еще раз программим.

Не претендую на истину в последней инстанции. В зависимости от поставленной задачи последовательность может сильно измениться.
Go to the top of the page
 
+Quote Post
Bender
сообщение Aug 26 2005, 04:46
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Цитата
1. Рисуем схему
2. Покупаем комплектуху .....
3. Разводим плату и отдаем ее в печать
4. Собираем плату


Было сделано до меня.

Цитата
5. Делаем первое включение


Угу

Цитата
6. Качаем IAR и лекарство к нему
7. Создаем ПУСТОЙ проект и начинаем его настраивать на наш проц


Так

Цитата
8. Отлаживаем макрос настройки проца для подключения по J-TAG
9. Правим настройки линкера (файл .xcl) под свою схему
10. Пробуем программить "Hello, World!" (мигать светодиодами)


А вот тут засада - не понимаю принципа настроки линкера и макросов
Какой файл для чего нужен? раньше было bin и hex, а тут d79,s79,a79,...
Что находится в cstartup?

Не поделитесь ли своими первыми проектами п.8, п.9, п.10 ?

Чао!
Go to the top of the page
 
+Quote Post
dch
сообщение Aug 26 2005, 14:45
Сообщение #9


Профессионал
*****

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



Цитата(Bender @ Aug 25 2005, 08:00)
RomBoot.bin - приблуда из состава U-boot. Грузится в RAM проца по x-modem'у, и начинает загрузку опять же по x-modem'у только уже U-boot, и прописывает его (U-boot) во флэш. После чего U-boot загружается сам по сбросу.

Если RomBoot.bin у Вас загружается и выполняется, и выдает свое приглашение, и Вы умеете его компилировать, то значит светодиодом уже мигнули. Настройте порт как output и выдайте туда 0 или 1.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Aug 27 2005, 16:24
Сообщение #10


Местный
***

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



Benfer

По поводу пункта 8.

Для того чтобы отлаживать и загружать софт по J-TAG необходимо минимально сконфигурировать процессор - запустить основной генератор, сделать ремэп, подать клоки на проц. Можно также PLL запустить, SDRAM инициализировать, но не обязательно. Это делается с помощью специального макроса, подключаемого к проекту в настройках в секции Debugger. Пример такого файла смотри в проекте флэшлоадера, который я уже кидал.

По поводу пункта 9.

Для того чтобы объяснить компилятору сколько и какой памяти вы поставили в схему, а также как ее надо использовать существует файл xcl. Пример для пустого проекта, использующего только внутреннюю SRAM процессорат тоже в проекте флэшлоадера смотри. Для того чтобы моргнуть светодиодом этого достаточно.

По поводу cstartup, low_level_init, segment_init.

Пока вам туда не надо лезть. Моргать светодиодом можно и без этого. А вообще, в докумантации на IAR это все подробнейшим образом изложено. Стоит не полениться и заглянуть в меню Help. Без этого все равно ничего не получится - любым инструментом надо уметь работать, будь то молоток или компилятор.
Go to the top of the page
 
+Quote Post
Bender
сообщение Aug 31 2005, 13:18
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Ну все, светодиод моргает. Даже 3. Гружусь все таки через икс-модем.СДрамина работает.
Но вот еще вопрос к знатокам - я настроил ПЛЛ на 180/60 МГц, а светодиды моргают максимум 360кГц - не должно ли быть выше?
Может чего я не сделал - а?
И с Вигглером непонятки - софт OCD Commander, Banyan видят и работают с ним, а ИАР пытается конектится, но не выходит . Даже до исполнения скрипта не доходит дело
?

Чао!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 1 2005, 08:18
Сообщение #12


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Bender @ Aug 31 2005, 16:18)
...И с Вигглером непонятки - софт OCD Commander, Banyan видят и работают с ним, а ИАР пытается конектится, но не выходит . Даже до исполнения скрипта не доходит дело
...
*

Для работы с эмулятором в IAR нужно сформировать дополнительный выходной файл в формате *.sim (simple) для загрузки.
См. настройки линкера.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 1 2005, 09:57
Сообщение #13


Местный
***

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



Bender

Кэш включи - пошустреет. При условии что все клоки правильно расставил.

Что значит "я настроил ПЛЛ на 180/60 МГц" PLLA =180 , MCK = 60? А на процессор солько?
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 1 2005, 11:24
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Цитата(VladislavS @ Sep 1 2005, 12:57)
Bender

Кэш включи - пошустреет. При условии что все клоки правильно расставил.

Что значит "я настроил ПЛЛ на 180/60 МГц"  PLLA =180 , MCK = 60? А на процессор солько?
*


Да, только не PLLA , а PLLB=(MAIN*(8+1)) to PCK
MCK=PLLB/3, a MAIN=20

*(AT91C_CKGR_MOR)=0x00000600;// включаем внешний задающий генератор
*(AT91C_CKGR_PLLBR)=0x00089c01;
*(AT91C_PMC_MCKR)=0x00000203;

А кэш это какой регистр включает?
А сильно пошустреет? а то маловато 1/3 МГц на пине мне

Чао!
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 1 2005, 11:45
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Цитата(IgorKossak @ Sep 1 2005, 11:18)
Цитата(Bender @ Aug 31 2005, 16:18)
...И с Вигглером непонятки - софт OCD Commander, Banyan видят и работают с ним, а ИАР пытается конектится, но не выходит . Даже до исполнения скрипта не доходит дело
...
*

Для работы с эмулятором в IAR нужно сформировать дополнительный выходной файл в формате *.sim (simple) для загрузки.
См. настройки линкера.
*



Не помогает. Сначала выдается - ОШИБКА НЕИЗВЕСТНА код 14
жму ресет, потом пропустить - и снова сообщение - Не могу перевести в бэкграунд режим.
вот и все на этом кончается

Чао!
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 1 2005, 11:58
Сообщение #16


Местный
***

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



Кэш включить можно вот так:
Код
  ;-------------------------------------------
  ; Read/modify/write CP15 Register 1, Control
  ;-------------------------------------------
   MRC    p15, 0, r0, c1, c0, 0 ; read cp15 control registre (cp15 r1) in r0
   ldr    r4, =0x00001004               ; Set bit : DCache Enable | ICache enable
   ORR    r0, r0, r4
   MCR    p15, 0, r0, c1, c0, 0; write r0 in cp15 control registre (cp15 r1)

Я это прописал в cstartup.s79. Если писать то же на С, то смотри описание

Код
__intrinsic void            __MCR( __ul coproc, __ul opcode_1, __ul src, __ul CRn, __ul CRm, __ul opcode_2 );
__intrinsic unsigned long   __MRC( __ul coproc, __ul opcode_1, __ul CRn, __ul CRm, __ul opcode_2 );


Выигрыш в скорости большой получишь. Но и без кэша 1/3 МГц что-то маловато. Проверь все ли клоки куда надо переключились. А почему от PLLB заводишься? PLLB обычно на 96 МГц заводят, чтобы на USB 48 МГц подать.
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 1 2005, 12:35
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



С кэшем чуть позже, щас будем разбираться с клоками sad.gif((
А все это что еще кроме MCK и PCK ? икуда еще надо их подавать?

Чао!
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 2 2005, 05:59
Сообщение #18


Местный
***

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



Цитата(Bender @ Sep 1 2005, 15:35)
С кэшем чуть позже, щас будем разбираться с клоками sad.gif((
А все это что еще кроме MCK и PCK ? икуда еще надо их подавать?

Чао!
*


Если ты почитаешь Errata, то увидишь, что установка нужных битов еще не гарантирует переключение на нужный генератор. Я бы посоветовал контролировать какие клоки у тебя РЕАЛЬНО выводя их (с деленнием) на PCK0 и контролируя осциллографом.

А клоки подавать надо на всю периферию которой пользуешься.
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 2 2005, 11:00
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Цитата(VladislavS @ Sep 2 2005, 08:59)
  Если ты почитаешь Errata, то увидишь, что установка нужных битов еще не гарантирует переключение на нужный генератор. Я бы посоветовал контролировать какие клоки у тебя РЕАЛЬНО выводя их (с деленнием) на PCK0 и контролируя осциллографом.

А клоки подавать надо на всю периферию которой пользуешься.
*


В принципе я и так контролирую - по SDRAM- клок строго 60, ну процессор в 3 раза больше соответственно
Благодаря вашим советам включил кэш, оптимизацию, немного разогнал - до 200/100, в итоге ножка дергается с f=4.7 МГц. Прогресс?
Есть еще цель - хватать данные с f=27 МГц, прерывание приходит на FIQ.Объем до мегабайта.

Успею? или нет?

Чао!
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 7 2005, 05:22
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Кэш включил используя данный код:

Код
#include "intrinsic.h"
...

__MCR(15,0,__MRC(15,0,1,0,0) | 0x00001004,1,0,0);
Go to the top of the page
 
+Quote Post
vvj
сообщение Sep 8 2005, 10:46
Сообщение #21


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 20-01-05
Пользователь №: 2 090



Цитата(Bender)
Кэш включил
Рад видеть что кто-то уже поделился!
Цитата(Bender @ Aug 26 2005, 07:46)
засада - не понимаю принципа настроки линкера и макросов
Какой файл для чего нужен? раньше было bin и hex,  а тут d79,s79,a79,...
Что находится в cstartup?
Не поделитесь ли своими первыми проектами п.8, п.9, п.10 ?
Чао!
Тоже вот ищу что-либо подобное - т.к. нахожусь на той же стадии - loder из GreenHill's GettingStarted грузится по Xmodemу (т.е. приселает комент по DBGU) а всё остальное (топо BasicFlash) молчит angry.gif

Не могли бы поделится результатом поисков, ув. Bender ?
Go to the top of the page
 
+Quote Post
Bender
сообщение Sep 8 2005, 13:38
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



Мог бы поделиться, пиши kuleschov(a)alpha/tula/net
Go to the top of the page
 
+Quote Post

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

 


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


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