doom13 0 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба Приветствую. Пытаюсь разобраться, как работать с ARM в Eclipse и что для этого надо. Пока есть Eclipse, установил Sourcery CodeBench Lite Edition и ARM Plug-Ins для Eclipse. При создании нового проекта вижу, что можно выбрать проект под STM32 или просто под Cortex-M0/0+/3/4. Возникает много вопросов. 1) Возможно ли приспособить eclipse для работы с контроллером lpc1769? 2) Для каких ARM-процессоров это вообще можно сделать? 3) Какой программатор необходим (в наличии есть Amontec JTAG Key-2, Olimex ARM-USB-TINY, ещё есть эмуляторы для Техаса :) )? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба Ещё вопрос: можно установить Sourcery CodeBench Lite Edition, а можно gcc-arm-none-eabi с этого сайта.? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба 1) да 2) всех (make file project) toolchain на Ваш выбор. Может быть Вы посмотрите список тем на форуме? Все Ваши вопросы обсуждались не раз. Освойте утилиту make и половина вопросов исчезнет, не будет привязки к Plug-In. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба Спасибо. Пытаюсь разбираться, но так много разной инфы, что пока склеить в одно целое не получается. В основном смотрю инфу с GNU ARM Eclipse. Как понимаю (поправте пожалуйста кто в теме, если ошибаюсь), Toolchain можно использовать либо Sourcery CodeBench Lite Edition, либо GNU Tools for ARM Embedded Processors, для последнего надо доустановить Build Tools (gnuarmeclipse-build-tools-win32), чтобы появился make. А какой программатор необходим? Где-то находил, что Olimex ARM-USB-TINY можно использовать с LPC1769 (с какими ещё процессорами он будет работать?). А получится ли подключиться Amontec JTAG Key-2? Если заказывать новый, то какой, чтоб не быть привязанным к производителю процессора? Да, может посоветуете, что почитать? Какой-нибудь наиболее правильный источник. 2) всех (make file project) Тогда вопрос, а если это ARM Cortex-M4 (Tiva C) от TI, получится ли использовать Eclipse совместно с программатором от TI (XDS510)? Тут, наверное, правильнее всего использовать и их Code Composer Studio, но вопрос о том, если Техасовский ARM программируется их программатором, то возможно ли использовать этот программатор для работы с ARM-ми от других производителей? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба Эклипса - это просто удобный редактор. Она ничего не знает про микроконтроллеры и программаторы. Она лишь умеет вызывать make для сборки проекта и gdb для отладки. Ещё она умеет вызывать внешние программы. То есть, для программирования надо настроить запуск внешней программы (или создать цель для make). (Есть вариант программировать через gdb). Таким образом, всё, что вам надо - написать makefile и подсунуть его эклипсе. Для тех, кто не хочет писать makefile, существуют плагины, которые позволяют автоматизировать их создание. Но я не рекомендую этот путь. На форуме куча постов с вопросами типа "поставил плагин, расставил птички, и ничего не получается. Что мне делать?". Судя по этому, плагины работают не очень хорошо. И даже если сначала что-то получится, то потом может сломаться. И вы окажетесь в очень неприятной ситуации - надо что-то срочно исправить, а у вас ничего не работает. В случае самописного makefile вы в любом случае сможете собрать проект из командной строки. Насчёт совместимости программаторов не подскажу, не знаком с перечисленными программаторами. Могу только высказать общее соображение: если это JTAG, то он как правило есть на всех ARM- контроллерах, поэтому, если программатор поддерживается каким-нибудь универсальным софтом (типа OpenOCD), то, скорее всего, он будет работать на всех ARM-ах. Если же это программатор, использующий какой-то специфический протокол программирования, то, соответственно, он не будет работать на других контроллерах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 7 марта, 2015 Опубликовано 7 марта, 2015 · Жалоба Спасибо. Посмотрел мануал на make, заценил содержимое автосгенерированного makefile, пока страшно с ним разбираться, попробую использовать Eclipse ARM Plug-ins. Шаблонный прект под ARM начал компилиться. Что необходимо поменять/добавить в шаблонный проект, чтоб он стал пригоден для разработки под мой контроллер? Как понимаю, надо: 1) добавить либы для работы с периферией от производителя 2) подкорректировать mem.ld 3) ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 7 марта, 2015 Опубликовано 7 марта, 2015 · Жалоба Почитал доку на Open OCD, нашёл, что может работать и с Amontec, и с Olimex, и с ещё целой кучей программаторов. Даже есть упоминание об Altera USB-Blaster (что самое интересное), на форуме нарыл что его даже конектили с stm32. Пока остаётся вопрос по Debug Configuration. В Config options добавил скрипты из папки OOCD, но что-то не прокатило. В чём может быть проблема? Ошибка следующая: Error in services launch sequence Launching command [C:\ARM\GNU ARM Eclipse\OpenOCD/openocd -c gdb_port 3333 -c telnet_port 4444 -f interface/jtagkey2.cfg -f target/lpc1769.cfg -c echo "Started by GNU ARM Eclipse"] failed. Launching command [C:\ARM\GNU ARM Eclipse\OpenOCD/openocd -c gdb_port 3333 -c telnet_port 4444 -f interface/jtagkey2.cfg -f target/lpc1769.cfg -c echo "Started by GNU ARM Eclipse"] failed. Cannot run program "C:\ARM\GNU ARM Eclipse\OpenOCD/openocd": Launching failed Может проблема в пути (см. рис. 2)? Почему оно думает, что openocd должен располагаться в C:\ARM\GNU ARM Eclipse\OpenOCD? Прописал правильный путь в PATH (C:\ARM\GNU ARM Eclipse\OpenOCD\bin) - не помогло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 9 марта, 2015 Опубликовано 9 марта, 2015 · Жалоба поправил значение для openocd_path, теперь выдаёт другую ошибку: Error in final launch sequence Failed to execute MI command: -target-select remote localhost:3333 Error message from debugger back end: localhost:3333: Ïîïûòêà îáúåäèíèòü äèñê ñ ïàïêîé íà îáúåäèíåííîì äèñêå. Failed to execute MI command: -target-select remote localhost:3333 Error message from debugger back end: localhost:3333: Ïîïûòêà îáúåäèíèòü äèñê ñ ïàïêîé íà îáúåäèíåííîì äèñêå. localhost:3333: Ïîïûòêà îáúåäèíèòü äèñê ñ ïàïêîé íà îáúåäèíåííîì äèñêå. перед этим в консоль пишет (см.рисунок) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 9 марта, 2015 Опубликовано 9 марта, 2015 · Жалоба Сам не понял что сделал, каким-то чудом всё подконектилось. И даже что-то выполняется. Делал это: -В Config options подсунул скрипты из установки OpenOCD (рисунок в сообщении №7) -Нашёл ссылку на zadig_2.1.1.exe. -При её помощи перебил драйвера для Amontec JTAGKey-2. -Попробовал стартануть debug в eclipse, законнектилось и может бегать по коду, правда, как-то тормозит. Память можно просмотреть, писать/читать RAM. -Но счас не работает с CrossWorks и не определено в диспетчере устройств. В консоль при подключении выдаёт: GNU ARM Eclipse 64-bit Open On-Chip Debugger 0.8.0-00063-gbda7f5c (2015-01-31-18:41) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' adapter speed: 10 kHz adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 cortex_m reset_config sysresetreq Started by GNU ARM Eclipse Warn : Using DEPRECATED interface driver 'ft2232' Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/... Info : max TCK change to: 30000 kHz Info : clock speed 10 kHz Info : JTAG tap: lpc1769.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Info : lpc1769.cpu: hardware has 6 breakpoints, 4 watchpoints Info : accepting 'gdb' connection from 3333 undefined debug reason 7 - target needs reset Info : JTAG tap: lpc1769.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc semihosting is enabled Info : JTAG tap: lpc1769.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc, semihosting Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1679). Workaround: increase "set remotetimeout" in GDB Info : Padding image section 0 with 1 bytes Warn : Verification will fail since checksum in image (0x00000000) to be written to flash is different from calculated vector checksum (0xefff7612). Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum. Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (19686). Workaround: increase "set remotetimeout" in GDB Info : JTAG tap: lpc1769.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc, semihosting Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1695). Workaround: increase "set remotetimeout" in GDB Info : JTAG tap: lpc1769.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc, semihosting ===== arm v7m registers (0) r0 (/32): 0x00000000 (1) r1 (/32): 0x00000002 (2) r2 (/32): 0x00000000 (3) r3 (/32): 0x00000000 (4) r4 (/32): 0x00000000 (5) r5 (/32): 0x00000000 (6) r6 (/32): 0x12345678 (7) r7 (/32): 0x00000000 (8) r8 (/32): 0x4002C000 (9) r9 (/32): 0x695DE206 (10) r10 (/32): 0x53B782AA (11) r11 (/32): 0x9C5CC64C (12) r12 (/32): 0x00000107 (13) sp (/32): 0x10001FFC (14) lr (/32): 0xFFFFFFFF (15) pc (/32): 0x1FFF0080 (16) xPSR (/32): 0x01000000 (17) msp (/32): 0x10001FFC (18) psp (/32): 0x1F99F724 (19) primask (/1): 0x00 (20) basepri (/8): 0x00 (21) faultmask (/1): 0x00 (22) control (/2): 0x00 ===== Cortex-M DWT registers (23) dwt_ctrl (/32) (24) dwt_cyccnt (/32) (25) dwt_0_comp (/32) (26) dwt_0_mask (/4) (27) dwt_0_function (/32) (28) dwt_1_comp (/32) (29) dwt_1_mask (/4) (30) dwt_1_function (/32) (31) dwt_2_comp (/32) (32) dwt_2_mask (/4) (33) dwt_2_function (/32) (34) dwt_3_comp (/32) (35) dwt_3_mask (/4) (36) dwt_3_function (/32) Warn : negative acknowledgment, but no packet pending Просьба рассказать, как же всё сделать правильно. Чёткого мануала по запуску не нахожу, не совсем понимаю, что за танцы я тут танцевал. Для чего Zadig-ом менять драйвер? Нельзя ли как-то сделать чтоб драйвер подходил и для CrossWorks и для OpenOCD? Ещё Eclipse как-то очень пидалит в режиме Debug, как от этого избавиться? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 9 марта, 2015 Опубликовано 9 марта, 2015 · Жалоба Для Olimex ARM-USB-TINY-H перебил драйвера при помощи zadig_2.1.1.exe, добавил в настройки olimex-arm-usb-tiny-h.cfg, так же всё заработало (только опять как-то очень медленно). Пробовал законектить таким же способом Altera USB-Blaster, но тут не работает GNU ARM Eclipse 64-bit Open On-Chip Debugger 0.8.0-00063-gbda7f5c (2015-01-31-18:41) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only Info : only one transport option; autoselect 'jtag' adapter speed: 10 kHz adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 cortex_m reset_config sysresetreq Started by GNU ARM Eclipse Info : No lowlevel driver configured, will try them all Info : usb blaster interface using libftdi Info : This adapter doesn't support configurable speed Info : JTAG tap: lpc1769.cpu tap/device found: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Warn : JTAG tap: lpc1769.cpu UNEXPECTED: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Error: JTAG tap: lpc1769.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Warn : Unexpected idcode after end of chain: 32 0x03800000 Warn : Unexpected idcode after end of chain: 64 0x04770303 Warn : Unexpected idcode after end of chain: 96 0xffff4ba0 Error: double-check your JTAG setup (interface, speed, missing TAPs, ...) Error: Trying to use configured scan chain anyway... Error: lpc1769.cpu: IR capture error; saw 0x0f not 0x01 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x3 in JTAG-DP transaction Info : accepting 'gdb' connection from 3333 undefined debug reason 7 - target needs reset Error: Target not examined yet Error: Target not examined yet Info : JTAG tap: lpc1769.cpu tap/device found: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Warn : JTAG tap: lpc1769.cpu UNEXPECTED: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Error: JTAG tap: lpc1769.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Warn : Unexpected idcode after end of chain: 32 0x03800000 Warn : Unexpected idcode after end of chain: 64 0x04770303 Warn : Unexpected idcode after end of chain: 96 0xffff4ba0 Error: double-check your JTAG setup (interface, speed, missing TAPs, ...) Error: Trying to use configured scan chain anyway... Error: lpc1769.cpu: IR capture error; saw 0x0f not 0x01 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x3 in JTAG-DP transaction Error: Target not examined yet in procedure 'reset' Error: Target not examined yet in procedure 'halt' Error: Target not examined yet in procedure 'arm' Error: Target not examined yet Info : JTAG tap: lpc1769.cpu tap/device found: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Warn : JTAG tap: lpc1769.cpu UNEXPECTED: 0x02030303 (mfg: 0x181, part: 0x2030, ver: 0x0) Error: JTAG tap: lpc1769.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Warn : Unexpected idcode after end of chain: 32 0x03800000 Warn : Unexpected idcode after end of chain: 64 0x04770303 Warn : Unexpected idcode after end of chain: 96 0xffff4ba0 Error: double-check your JTAG setup (interface, speed, missing TAPs, ...) Error: Trying to use configured scan chain anyway... Error: lpc1769.cpu: IR capture error; saw 0x0f not 0x01 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x3 in JTAG-DP transaction Error: Target not examined yet in procedure 'reset' Error: Target not halted Error: failed erasing sectors 0 to 1 Error: flash_erase returned -304 Info : dropped 'gdb' connection Должно ли работать с USB-Blaster? В скриптах есть файл конфигурации, но ног и USB-Blaster меньше (ножки nTRST нету). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 11 марта, 2015 Опубликовано 11 марта, 2015 · Жалоба Разобрался немного, как это всё работает. Хочу двигаться дальше на базе платы с LPC1788. Создал шаблонный проект, добавил либы, пытаюсь законнектиться - выдаёт ошибку: GNU ARM Eclipse 64-bit Open On-Chip Debugger 0.8.0-00063-gbda7f5c (2015-01-31-18:41) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' adapter speed: 10 kHz adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 cortex_m reset_config sysresetreq cortex_m reset_config sysresetreq Started by GNU ARM Eclipse Warn : Using DEPRECATED interface driver 'ft2232' Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/... Info : max TCK change to: 30000 kHz Info : clock speed 10 kHz Info : JTAG tap: lpc1788.cpu tap/device found: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Warn : JTAG tap: lpc1788.cpu UNEXPECTED: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Error: JTAG tap: lpc1788.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Error: Trying to use configured scan chain anyway... Error: IR capture error at bit 4, saw 0x21 not 0x...3 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x6 in JTAG-DP transaction Info : accepting 'gdb' connection from 3333 undefined debug reason 7 - target needs reset Error: Target not examined yet Error: Target not examined yet Info : JTAG tap: lpc1788.cpu tap/device found: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Warn : JTAG tap: lpc1788.cpu UNEXPECTED: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Error: JTAG tap: lpc1788.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Error: Trying to use configured scan chain anyway... Error: IR capture error at bit 4, saw 0x21 not 0x...3 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x6 in JTAG-DP transaction Error: Target not examined yet in procedure 'reset' Error: Target not examined yet in procedure 'halt' Error: Target not examined yet in procedure 'arm' Error: Target not examined yet Info : JTAG tap: lpc1788.cpu tap/device found: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Warn : JTAG tap: lpc1788.cpu UNEXPECTED: 0x6af6902b (mfg: 0x015, part: 0xaf69, ver: 0x6) Error: JTAG tap: lpc1788.cpu expected 1 of 1: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4) Error: Trying to use configured scan chain anyway... Error: IR capture error at bit 4, saw 0x21 not 0x...3 Warn : Bypassing JTAG setup events due to errors Warn : Invalid ACK 0x6 in JTAG-DP transaction Error: Target not examined yet in procedure 'reset' Error: Target not halted Error: failed erasing sectors 0 to 1 Error: flash_erase returned -304 Error: Target not examined yet Error: Target not examined yet Info : dropped 'gdb' connection В чём может быть проблема? В CrossWorks работает. С LPC1769 в Eclipse с OpenOCD тоже всё гуд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Проблема была в конфликте OpenOCD + Amontec JTAG Key-2 c распиновкой JTAG на плате Starterkit SK-MLPC1788. CrossWorks с драйверами для Amontec нормально работает, а OpenOCD с драйвером WinUSB выдаёт ошибку. Убрал пины VTARGET, RST, DBGRQ, DBGACK - всё заработало (CrossWorks также работает). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 6 мая, 2015 Опубликовано 6 мая, 2015 · Жалоба дабы не плодить темы: есть мануал "для чайников" как связать eclipse + openocd + gdb железо: lpcxpresso1769 + JLinkV7 (lpc-link на борде аппаратно отключен от таргета), соединяю по swd софт: eclipse + OpenOCD plugin (отсюда); eclipse + Zylin plugin думаю проблема в инициализации gdb, если не проблема - покажите 100% рабочий gdbinit - openocd вроде как видит таргет, запускаю так: C:\Users\vvs>openocd -f board/lpcxpresso-lpc1769.cfg Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:05) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : JLink SWD mode enabled adapter speed: 100 kHz adapter speed: 10 kHz adapter_nsrst_delay: 200 cortex_m reset_config sysresetreq cortex_m reset_config sysresetreq Info : J-Link ARM V7 compiled Jun 20 2012 19:45:53 Info : J-Link caps 0xb9ff7bbf Info : J-Link hw version 70000 Info : J-Link hw type J-Link Info : J-Link max mem block 9000 Info : J-Link configuration Info : USB-Address: 0x0 Info : Kickstart power on JTAG-pin 19: 0x0 Info : Vref = 3.112 TCK = 0 TDI = 0 TDO = 1 TMS = 0 SRST = 1 TRST = 0 Info : J-Link JTAG Interface ready Info : clock speed 10 kHz Info : SWD IDCODE 0x2ba01477 Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints Error: lpc17xx.cpu -- clearing lockup after double fault Polling target lpc17xx.cpu failed, trying to reexamine Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc файл конфига: telnet_port 4444 gdb_port 3333 source [find interface/jlink.cfg] transport select swd adapter_khz 100 source [find target/lpc17xx.cfg] cortex_m reset_config srst init sleep 200 reset halt wait_halt как настроить gdb ? какие команды ему надо совать ? может ли меня не идти отладка, если я пытаюсь отлаживать основную программу, а помимо нее еще есть бутлоадер ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 7 мая, 2015 Опубликовано 7 мая, 2015 · Жалоба как настроить gdb ? какие команды ему надо совать ?Я на свежей машине делаю так: В эклипсе Help->Check for updates, Help->Install new software-> в строке work with выбираю all available sities, в строку поиска ввожу "gdb" (без кавычек), жду закачки оглавления репозиториев, выбираю C/C++ GDB hardware debugging, устанавливаю. Потом Help->Eclipse marketplace, в строку поиска вбиваю "embsysregview", устанавливаю. Затем компилирую проект, иду в меню Run->Debug configurations, слева выбираю GDB hardware debugging, жму иконку New launch configuration, на вкладке Debugger в строку GDB command ввожу "arm-none-eabi-gdb", номер порта 3333. Все, можно запускать отладчик через кнопку Debug в этом окне. Ваш конфиг можно сократить до source [find interface/jlink.cfg] transport select swd adapter_khz 100 source [find target/lpc17xx.cfg] cortex_m reset_config srst Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 7 мая, 2015 Опубликовано 7 мая, 2015 · Жалоба спасибо за ответ - сделал по Вашей рекомендации. вывод openocd C:\Users\vvs>openocd -f board/lpcxpresso-lpc1769.cfg Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:05) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : JLink SWD mode enabled adapter speed: 100 kHz adapter speed: 10 kHz adapter_nsrst_delay: 200 cortex_m reset_config sysresetreq cortex_m reset_config sysresetreq Info : J-Link ARM V7 compiled Jun 20 2012 19:45:53 Info : J-Link caps 0xb9ff7bbf Info : J-Link hw version 70000 Info : J-Link hw type J-Link Info : J-Link max mem block 9000 Info : J-Link configuration Info : USB-Address: 0x0 Info : Kickstart power on JTAG-pin 19: 0x0 Info : Vref = 3.112 TCK = 1 TDI = 0 TDO = 0 TMS = 0 SRST = 1 TRST = 1 Info : J-Link JTAG Interface ready Info : clock speed 10 kHz Info : SWD IDCODE 0x2ba01477 Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints Error: lpc17xx.cpu -- clearing lockup after double fault target state: halted target halted due to debug-request, current mode: Handler HardFault xPSR: 0x21000003 pc: 0xfffffffe msp: 0xffffffd8 Polling target lpc17xx.cpu failed, trying to reexamine Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc дальше ждет подключения gdb, если в настройках gdb выбрано Load Image - выхлоп следующий, после чего все надо начинать сначала Info : accepting 'gdb' connection on tcp/3333 target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1293). Workaround: increase "set remotetimeout" in GDB Error: usb_bulk_read failed (requested=1730, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=3462, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=3462, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=3462, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=34, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=102, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=88, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=84, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=34, result=0) Error: jlink_swd_run_queue failed USB io (-107) Error: usb_bulk_write failed (requested=34, result=0) Error: jlink_swd_run_queue failed USB io (-107) без Load Image шатко-валко заработало, но... запускается отладка, останавливается на main (как и прошу), делаю пару раз Step Over - получаю в gdb: Temporary breakpoint 1, main () at main.c:44 44 Init(); No breakpoint number 2. Program received signal SIGINT, Interrupt. 0xfffffffe in ?? () при этом таргет отваливается от отладки - программа выполняется с перезапуском (циклически), в openocd бесконечно: target state: halted target halted due to debug-request, current mode: Handler HardFault xPSR: 0x21000003 pc: 0xfffffffe psp: 0xffffffd8 Polling target lpc17xx.cpu failed, trying to reexamine Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints Error: lpc17xx.cpu -- clearing lockup after double fault target state: halted target halted due to debug-request, current mode: Handler HardFault xPSR: 0x21000003 pc: 0xfffffffe msp: 0xffffffd8 Polling target lpc17xx.cpu failed, trying to reexamine Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints Error: lpc17xx.cpu -- clearing lockup after double fault target state: halted target halted due to debug-request, current mode: Handler HardFault xPSR: 0x21000003 pc: 0xfffffffe psp: 0xffffffd8 Polling target lpc17xx.cpu failed, trying to reexamine Info : lpc17xx.cpu: hardware has 6 breakpoints, 4 watchpoints добиться стабильности пока не получается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться