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

 
 
 
Reply to this topicStart new topic
> проблема с Openocd
asket
сообщение Dec 12 2011, 10:01
Сообщение #1


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

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Просьба помочь новичку разобраться с OpenOCD 0.5.0 + Eclipse, процессор AT91SAM9263, мне нужно загрузить прошивку во внешную SDRAM в режиме отладки, но она не загружается, хотел бы понять ошибки.

Первое что я сделал, запустил демон telnet
Код
openocd -f my_openocd_tiny.cfg

Open On-Chip Debugger 0.5.0 (2011-08-26-10:27)
Licensed under GNU GPL v2
For bug reports, read

    http://openocd.berlios.de/doc/doxygen/bugs.html

Info : only one transport option; autoselect 'jtag'

trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain

adapter_nsrst_delay: 300

jtag_ntrst_delay: 200

RCLK - adaptive

1

Info : RCLK (adaptive clock speed) not supported - fallback to 3 kHz

Info : JTAG tap: at91sam9263.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0)

Info : Embedded ICE version 6

Info : at91sam9263.cpu: hardware has 2 breakpoint/watchpoint units


конфигурационный файл достаточно прост
Код
#daemon configuration
telnet_port 4444
gdb_port 3333

# include the FT2232 interface config
source [find interface/olimex-jtag-tiny.cfg]

# include the target config
source [find target/at91sam9263.cfg]


далее запускаю arm-eabi-gdb с подключением к telnet, данная утилитка взята из ecoscentric

Код
(gdb) target remote localhost:3333
Remote debugging using localhost:3333
0x00000000 in ?? ()
(gdb) mon reset halt
JTAG tap: at91sam9263.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0)
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x000000d3 pc: 0x00000000
MMU: disabled, D-Cache: disabled, I-Cache: disabled
NOTE! DCC downloads have not been enabled, defaulting to slow memory writes. Type 'help dcc'.
NOTE! Severe performance degradation without fast memory access enabled. Type 'help fast'.
(gdb) load
No executable file specified.
Use the "file" or "exec-file" command.
(gdb) load pio_test
Loading section .rom_vectors, size 0x40 lma 0x2001b300
Loading section .text, size 0x1670c lma 0x2001b840
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Loading section .rodata, size 0x4668 lma 0x20031f4c
Ignoring packet error, continuing...
Loading section .data, size 0x2df8 lma 0x200365b4
Ignoring packet error, continuing...
Start address 0x2001b840, load size 121772
Ignoring packet error, continuing...
Transfer rate: 620 bytes/sec, 12177 bytes/write.
(gdb)


как видно gdb пытается залить elf- прошивку в SDRAM по адресу 0x2001b300, но стучится лбом об стену, что не так?
Может скрипт понадобится для инициализации EBI0?

Спасибо за любую помощь.

Кстати, чуть не забыл, во флеше RedBoot, при загрузке выдает сообщение об ограничении возможности использования оперативки, поэтому в lds-файле указал стартовый адрес доступной памяти

Код
RAM: 0x20000000-0x24000000 [0x2001b300-0x238ed000 available]                    
FLASH: 0x10000000-0x107fffff, 128 x 0x10000 blocks

Go to the top of the page
 
+Quote Post
asket
сообщение Dec 14 2011, 18:03
Сообщение #2


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

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Похоже никто не может ответить на мой вопрос, выскажу свою мысль, если что, поправьте пожалуйста..
Я так понимаю, что иницализацию контроллера SDRAM делает встроенный RedBoot (не мною создан и встроен), когда устанавливается связь gdb с openocd, gdb сбрасывает процессор и соответственно все регистры "обнуляются", что вследствии процессор не видит SDRAM, попробывал ввести команду программного сброса типа mon soft_reset_halt, ситуация аналогична, где ошибка, не могу понять.. в Eclipse в настройках Debug configuration мне досталось по умолчанию 'run' в таком виде:
Код
target remote localhost:3333
mon reset halt
load

Может не стоит сбрасывать процессор, а сразу остановить halt и загрузить прошивку load?


Сообщение отредактировал asket - Dec 14 2011, 20:23
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 15 2011, 09:20
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



А не пробовали нормальный способ загрузки и прочая?
Ибо в дальнейшем вас ждет еще много, много сюрпризов. Если вы, конечно, до них доберетесь.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
asket
сообщение Dec 15 2011, 09:43
Сообщение #4


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

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Цитата(DpInRock @ Dec 15 2011, 12:20) *
А не пробовали нормальный способ загрузки и прочая?
Ибо в дальнейшем вас ждет еще много, много сюрпризов. Если вы, конечно, до них доберетесь.

Нормальный способ это какой? Через RedBoot все окей, но только бинарники, я бы воспользовался IAR, к которому я привык, но вся библиотека написана с использованием eCOS, вынужден в Линуксе на GNUtools программировать..
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 15 2011, 11:38
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Samba, например. Либо, если вы программист, напишите свой загрузчик. Там очень простой интерфейс по 232. Примерно 40 значащих строк на паскале.




--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
asket
сообщение Dec 15 2011, 15:49
Сообщение #6


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

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Цитата(DpInRock @ Dec 15 2011, 15:38) *
Samba, например. Либо, если вы программист, напишите свой загрузчик. Там очень простой интерфейс по 232. Примерно 40 значащих строк на паскале.

Да нет, меня RedBoot вполне устраивает, иногда возникает ситуация, когда требуется отладка в пошаговом режиме..
короче, я под Windows поставил набор GCCDF из CD, прилагаемого к эмулятору Olimex ARM-USB-Tiny, там все окей, достаточно ввести всего две строчки

Код
mon soft_reset_halt
load


Мне вот интересно, под Win версия OpenOCD 1.0 , а под Linux стоит 0.5.0, причем файлы конфигурации несовместимы, хотелось бы понять какая линуховая версия является аналогом 1.0-версии openocd под Win?
Ставил линуксовый 0.1.0, но это не то же самое, что 1.0 виндовая..

Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 15 2011, 17:38
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Ничего нормального не вижу.
Вами управляют конфигурационные файлы.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

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

 


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


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