asket 0 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба Просьба помочь новичку разобраться с 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asket 0 14 декабря, 2011 Опубликовано 14 декабря, 2011 (изменено) · Жалоба Похоже никто не может ответить на мой вопрос, выскажу свою мысль, если что, поправьте пожалуйста.. Я так понимаю, что иницализацию контроллера SDRAM делает встроенный RedBoot (не мною создан и встроен), когда устанавливается связь gdb с openocd, gdb сбрасывает процессор и соответственно все регистры "обнуляются", что вследствии процессор не видит SDRAM, попробывал ввести команду программного сброса типа mon soft_reset_halt, ситуация аналогична, где ошибка, не могу понять.. в Eclipse в настройках Debug configuration мне досталось по умолчанию 'run' в таком виде: target remote localhost:3333 mon reset halt load Может не стоит сбрасывать процессор, а сразу остановить halt и загрузить прошивку load? Изменено 14 декабря, 2011 пользователем asket Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба А не пробовали нормальный способ загрузки и прочая? Ибо в дальнейшем вас ждет еще много, много сюрпризов. Если вы, конечно, до них доберетесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asket 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба А не пробовали нормальный способ загрузки и прочая? Ибо в дальнейшем вас ждет еще много, много сюрпризов. Если вы, конечно, до них доберетесь. Нормальный способ это какой? Через RedBoot все окей, но только бинарники, я бы воспользовался IAR, к которому я привык, но вся библиотека написана с использованием eCOS, вынужден в Линуксе на GNUtools программировать.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба Samba, например. Либо, если вы программист, напишите свой загрузчик. Там очень простой интерфейс по 232. Примерно 40 значащих строк на паскале. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asket 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба 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 виндовая.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба Ничего нормального не вижу. Вами управляют конфигурационные файлы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться