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

 
 
> AT91RM9200+IAR EW 5.40 и загрузка через DBGU, Не могу загрузить собранный исполняемый файл в процессор через DBGU
Romanticus
сообщение Jun 29 2010, 06:48
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 18-07-06
Из: Н. Новгород
Пользователь №: 18 910



Хотел сделать загружаемый файл для процессора, выполняющий настройку консоли, SDRAM, и выполняющую простенький тест SDRAM.
Взял за основу примерчик для AT91RM9200EK под названием Getting Started из комплекта поставки студии, файл начальной инициализации там готовый, интегрирован код для начальной инициализации проца, консоли и вывод сообщения в консоль.

Пример собирается успешно. Выбрал опцию "создавать бинарный файл (.bin). По формату похоже на поставляемые с платой dataflashboot.bin.

Сбрасываю проц, он начинает с секундным интервалом слать в консоль символ 'C'. Посылаю в порт гипертерминалом по протоколу х-модем получившийся файл, он успешно передается, но реакции никакой - никакого текста не выводится и понять, в каком состоянии проц не получается sad.gif

Помогите, пожалуйста, начинающему...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
bbk_a
сообщение Jul 16 2010, 17:43
Сообщение #2





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



Решаю, практически, ту же проблему. Объединим усилия?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jul 16 2010, 18:22
Сообщение #3


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Помогите, пожалуйста, начинающему..


Собрать на коленке JTAG (виглер) подключится и посмотреть что же все-таки происходит.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 16 2010, 20:11
Сообщение #4


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Или взять в руки карандашик и бумажку и "поиграть в компьютер", пытаясь понять, что к чему и зачем (это всегда полезно, кстати).

Вопрос на засыпку. Есть в системе светодиодик? Умеете его включать/выключать? Тогда дело за малым. Включаем в нужном месте программы LED и делаем после этого while(1). Будете четко понимать, до куда программа дошла, до куда нет.
Go to the top of the page
 
+Quote Post
bbk_a
сообщение Jul 17 2010, 17:45
Сообщение #5





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



Светодиод работает. Сейчас борюсь с DBGU. Хочу передать через него хоть что-то. Лучшая помощь - живой примерчик под IAR, если можно.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 17 2010, 21:23
Сообщение #6


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



А что, Atmel'овских примеров не хватает для проведения приемов борьбы?
Go to the top of the page
 
+Quote Post
bbk_a
сообщение Jul 18 2010, 07:32
Сообщение #7





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



В том-то всё и дело, что не удаётся найти такой, чтобы запустить и он заработал.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jul 18 2010, 08:26
Сообщение #8


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Не знаю, за этот камень не скажу, но примеры для других всегда работали, не встречал не рабочих, криво на писанных да, но это ведь пример.
Вы когда его запускаете учитываете под какую он плату был написан ?, хотя бы тактовые проверить совпадают с вашими или нет.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 18 2010, 10:25
Сообщение #9


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



DBGU запускается "с пол оборота". Там все проще не бывает, ни прерываний, ни DMA для начала использования не надо. Раз примеры не работают, не факт, что вы вообще добираетесь до функции, где собственно настройка и запуск DBGU происходит. Именно поэтому, я вам и советовал разобраться, то куда вы доходите при передаче управления той части программы, которую вы загружаете через X-modem.

P.S. Очень часто проблема лежит не в том месте, где нам кажется.
Go to the top of the page
 
+Quote Post
bbk_a
сообщение Jul 18 2010, 20:09
Сообщение #10





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



DBGU пишет и читает.
Теперь вот хочу добиться от него прерывания при чтении.
Go to the top of the page
 
+Quote Post
bbk_a
сообщение Jul 21 2010, 07:16
Сообщение #11





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



Надо сделать так, чтобы код запускался при включении питания.
Для этого пытаюсь записать bin-файл во FLASH память
Руководствуюсь примером из AT91RM9200-GettingStarted-GHS3_6-1_1
Вот что пишет HyperTerminal:

CCCCCCCCC

zooboot development version (Jan 07 2003 - 13:22:16)

zooboot code: 21f00000 -> 21f0df9c
DRAM Configuration:
Bank #0: 20000000 32 MB
Flash: 2 MB
*** Using default environment
AT91RM9200-DK> protect off all
Un-Protect Flash Bank # 1
AT91RM9200-DK> loadb 20000000
## Ready for binary (kermit) download ...
## Start Addr = 0x20000000
AT91RM9200-DK> erase all
Erase Flash Bank # 1:
Erasing sector 0 ... ok.
Erasing sector 1 ... ok.
Erasing sector 2 ... ok.
Erasing sector 3 ... ok.
Erasing sector 4 ... ok.
Erasing sector 5 ... ok.
Erasing sector 6 ... ok.
Erasing sector 7 ... ok.
Erasing sector 8 ... ok.
Erasing sector 9 ... ok.
Erasing sector 10 ... ok.
Erasing sector 11 ... ok.
Erasing sector 12 ... ok.
Erasing sector 13 ... ok.
Erasing sector 14 ... ok.
Erasing sector 15 ... ok.
Erasing sector 16 ... ok.
Erasing sector 17 ... ok.
Erasing sector 18 ... ok.
Erasing sector 19 ... ok.
Erasing sector 20 ... ok.
Erasing sector 21 ... ok.
Erasing sector 22 ... ok.
Erasing sector 23 ... ok.
Erasing sector 24 ... ok.
Erasing sector 25 ... ok.
Erasing sector 26 ... ok.
Erasing sector 27 ... ok.
Erasing sector 28 ... ok.
Erasing sector 29 ... ok.
Erasing sector 30 ... ok.
Erasing sector 31 ... ok.
Erasing sector 32 ... ok.
Erasing sector 33 ... ok.
Erasing sector 34 ... ok.
Erasing sector 35 ... ok.
Erasing sector 36 ... ok.
Erasing sector 37 ... ok.
Erasing sector 38 ... ok.
Erasing sector 39 ... ok.
Done.
AT91RM9200-DK> cp.b 20000000 10000000 10000
Copy to Flash... Flash not Erased
AT91RM9200-DK>

... дальше уже не интересно, хотя...

AT91RM9200-DK> protect on 10000000 1000ffff
Usage:
protect - enable or disable FLASH write protection

Вопрос: кто виноват, что делать и, главное, как?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 21 2010, 07:57
Сообщение #12


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Вы же можете, наверное, посмотреть содержимое памяти? Тогда посмотрите пару-тройку секторов flash. Она действительно не стерлась? Если не стерта - правильно ли инициализирована? Выполнен ли remap (flash читается с 0х10000000 или с 0х00000000)?
Go to the top of the page
 
+Quote Post
bbk_a
сообщение Jul 21 2010, 20:10
Сообщение #13





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



Инициализация flash и remap где это всё должно происходить?
До сих пор я использую готовые файлы (loader.bin и AT91RM9200boot.bin) исправить которые я не могу.
До загрузки своего, дело ещё не дошло.
Есть некоторое подозрение, что этот самый AT91RM9200boot.bin надо бы переделать под свою плату.

Сообщение отредактировал bbk_a - Jul 21 2010, 20:11
Go to the top of the page
 
+Quote Post

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

 


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


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