Segment 3 27 марта, 2009 Опубликовано 27 марта, 2009 · Жалоба Собсно есть ARM-USB-OCD, есть макетка от Олимекса с LPC2129. Пытаюсь дебажить, точнее залить во флеш программу, но не выходит :crying: Запускаю openOCD с обычным cfg, он видит JTAG, все ок тут. Открываю свойства проекта в IAR, выбираю GDB Server, localhost, ставлю чтобы Verify after download, и нажимаю залить и отладить. В итоге ошибка что не верный выходной файл проекта - мол Fri Mar 27 23:21:40 2009: ELF/DWARF Error: Unknown В пункте Build converter выбираю Intel Extended и генерю hex, но он видимо идет не как основной и дебагер его не цепляет.. помогите, я наверно чтото не так делаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 27 марта, 2009 Опубликовано 27 марта, 2009 (изменено) · Жалоба в IAR flash loader берет файлы simple code (IAR ровский формат). Надо что бы он генерировался причем этот файл должен быть в дополнение к обычному для IAR (elf для 5ки), но насколько я помню в 5ке по умолчанию настроено все что бы симплкод генерировался... Изменено 27 марта, 2009 пользователем KRS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 27 марта, 2009 Опубликовано 27 марта, 2009 · Жалоба просто по умолчанию всегда генерируется файл( его имя указывается в Linker ) к примеру project.out и рядом с ним разные форматы которые я могу настроить в Build Conventer.. собсно а как подменить то файлы? чего мне делать то теперь? Или все это решается покупкой J-Link ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 27 марта, 2009 Опубликовано 27 марта, 2009 · Жалоба просто по умолчанию всегда генерируется файл( его имя указывается в Linker ) к примеру project.out и рядом с ним разные форматы которые я могу настроить в Build Conventer.. правильно! у IAR flashloader - это специальная прога, которая используя фичи IARовского отладчика с компа счтитывает файл и шьет его. Т.е. запрос и парсирование файла осуществляется в АРМ. Файл нужен в формате IAR Simple code. Создайте чистый проект, в настройках по умолчанию для дебаг будут нужные параметры, что бы получить simple code. я отлаживал разными отладчиками, все ок! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба Как я отлаживаю сейчас, после пары половых актов с отладчиком и заменой паленого кварца изза которого я мучался в недоумении в течение нескольких дней: - загружаю программу через lpc21isp.exe - запускаю openOCD - Run without downloading Всетаки не смог понять почему не хочет грузить через жтаг.. сделал новый чистый проект - посмотрел настройки - сделал такие же, не катит.. Конечно по сути я быстро гружу софтину, но вот каждый раз запускать заного openOCD бесит.. хелп Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба А какая ошибка то? FlashLoader загружается? он уже ошибку выдает? Вы лог дебагера вставте сюда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба Лог openOCD Open On-Chip Debugger (2008-06-19 19:00) svn: 717 URL: http://svn.berlios.de/svnroot/repos/openocd/trunk Info: options.c:50 configuration_output_handler(): jtag_speed: 3, 3 Info: options.c:50 configuration_output_handler(): Open On-Chip Debugger (2008-06-19 19:00) svn: 717 Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4) Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4) А лог дебагера Sun Mar 29 00:28:09 2009: ELF/DWARF Error: Unknown Sun Mar 29 00:28:09 2009: 0 bytes verified (0.00 Kbytes/sec) Sun Mar 29 00:28:09 2009: Failed to load debugee: G:\Work\IAR\Debug\Exe\project.out Если ставлю галку " Use flash loader(s) " в настройках Debuger->Download, а потом жму Download and run то IAR чото виснет, отрубаю ARM-USB-OCD - после этого IAR очухивается ну и само собой говорит что error просто, типа отрубили.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба А что лог дебагера всего 3 строчки? ( у меня сейчас IAR нет под рукой, могу только в понедельник посмотреть живьем) но насколько я помню там побольше всего должно быть. Flash Loader туда много чего пишет, что он стартанул например.... А у вас с настройках flashloader включен? конфигурация для LPC2129 там еще в параметрах flashloader нужно частоту кварца указатьв khz (но если 12 Mhz кварц и так работает) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба Я настройки частоты вообще не увидел.. вот то что есть а, вот, если поставить так как на скриншоте то лог Sun Mar 29 00:40:02 2009: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\config\flashloader\NXP\LPC21xx22xx.mac Sun Mar 29 00:40:03 2009: 2048 bytes downloaded and verified (3.21 Kbytes/sec) Sun Mar 29 00:40:03 2009: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\config\flashloader\NXP\FlashLayout2RAM16K.out Sun Mar 29 00:40:03 2009: Target reset Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 28 марта, 2009 Опубликовано 28 марта, 2009 (изменено) · Жалоба Я настройки частоты вообще не увидел.. вот то что есть А частота это параметр бутлоадера там где ,,,,default - это парамтеры бутлоадера, насколько я помню там надо дописать, что то типа clock_freq=xxx ( но точно не помню), обычно и так шьет. Судя по логу у вас IAR все прошивает!! А дебагер не стартует потому что ему файл не нравится уже основной! Хотя нет, опять лог дебагера не полный, там должно быть больше строк! Sun Mar 29 00:40:03 2009: 2048 bytes downloaded and verified (3.21 Kbytes/sec) вот эта строчка странная к чему она относится не понятно, вот если бы она после загрузки flashloaderа стояла... Изменено 28 марта, 2009 пользователем KRS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба То что 2048 прошивает - это фигня какаято, у меня размер всегда меняется и в тот момент был 9кб, так что неизвестно что и куда он заливает... У кого есть ARM-USB-OCD под рукой и IAR - прошу, проверьте или скажите по пунктам как прошивать( во флеш и в рам ), очень нужно, я уже все перепробовал! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба IAR еще сам загрузчик ( FLashLoader) грузит, он может и занимает 2 кб, но почему запись в логе раньше. Хотя судя по следующей строке, что загружен FlashLoader (Loaded) это относится к нему. В общем судя пол логу сам FlashLoader у вас загружен и проверен! Но почему на этом лог обрывается непонятно. Вам надо посмотреть макро файл флеш лоадера C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\config\flashloader\NXP\LPC21xx22xx.mac мне, когда я шил через wiggler приходилось это файл менять ( я отключал запись в регистры, отключение pll и т.д. но шить можно было только после hardware reset, но это и так делалось). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба Вот он.. что с ним не так? execUserFlashInit() { // Disable the PLL. __writeMemory32(0x00000000, 0xE01FC080, "Memory"); // PLLCON = 0 // Qualify the PLL change. __writeMemory32(0x000000AA, 0xE01FC08C, "Memory"); // PLLFEED = 0xAA __writeMemory32(0x00000055, 0xE01FC08C, "Memory"); // PLLFEED = 0x55 // Make sure that the flash memory system is correctly setup. __writeMemory32(0x00000000, 0xE01FC000, "Memory"); // MAMCR = 0 __writeMemory32(0x00000007, 0xE01FC004, "Memory"); // MAMTIM = 7 __writeMemory32(0x00000002, 0xE01FC000, "Memory"); // MAMCR = 2 // If the MAM values was wrong, a dummy read is necessary to get the flash memory in sync. __writeMemory32(0x00000001, 0xE01FC040, "Memory"); // MEMMAP = 1 __readMemory32(0x00000000, "Memory"); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба А вы закомментируйте там все! А лучше поставьте вывод сообщений в начале и в конце типа __message "-----START flash init"; __message "-----END flash init"; тогда они должны в логе появится! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба Так, вставил, вот лог. Ошибка выдается такаяже - что неверный формат project.out (см в скриншоте выше) Sun Mar 29 20:44:51 2009: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\config\flashloader\NXP\LPC21xx22xx.mac Sun Mar 29 20:44:51 2009: START flash init Sun Mar 29 20:44:51 2009: END flash init Sun Mar 29 20:44:51 2009: 2048 bytes downloaded and verified (3.21 Kbytes/sec) Sun Mar 29 20:44:51 2009: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\config\flashloader\NXP\FlashLayout2RAM16K.out Sun Mar 29 20:44:51 2009: Target reset Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться