|
eclipse + lpc1769 |
|
|
|
Mar 6 2015, 06:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Приветствую. Пытаюсь разобраться, как работать с 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, ещё есть эмуляторы для Техаса  )? Спасибо.
|
|
|
|
|
Mar 6 2015, 18:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(mdmitry @ Mar 6 2015, 19:49)  Спасибо. Пытаюсь разбираться, но так много разной инфы, что пока склеить в одно целое не получается. В основном смотрю инфу с 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? Если заказывать новый, то какой, чтоб не быть привязанным к производителю процессора? Да, может посоветуете, что почитать? Какой-нибудь наиболее правильный источник. Цитата(mdmitry @ Mar 6 2015, 19:49)  2) всех (make file project) Тогда вопрос, а если это ARM Cortex-M4 (Tiva C) от TI, получится ли использовать Eclipse совместно с программатором от TI (XDS510)? Тут, наверное, правильнее всего использовать и их Code Composer Studio, но вопрос о том, если Техасовский ARM программируется их программатором, то возможно ли использовать этот программатор для работы с ARM-ми от других производителей?
|
|
|
|
|
Mar 6 2015, 22:09
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Эклипса - это просто удобный редактор. Она ничего не знает про микроконтроллеры и программаторы. Она лишь умеет вызывать make для сборки проекта и gdb для отладки. Ещё она умеет вызывать внешние программы. То есть, для программирования надо настроить запуск внешней программы (или создать цель для make). (Есть вариант программировать через gdb). Таким образом, всё, что вам надо - написать makefile и подсунуть его эклипсе. Для тех, кто не хочет писать makefile, существуют плагины, которые позволяют автоматизировать их создание. Но я не рекомендую этот путь. На форуме куча постов с вопросами типа "поставил плагин, расставил птички, и ничего не получается. Что мне делать?". Судя по этому, плагины работают не очень хорошо. И даже если сначала что-то получится, то потом может сломаться. И вы окажетесь в очень неприятной ситуации - надо что-то срочно исправить, а у вас ничего не работает. В случае самописного makefile вы в любом случае сможете собрать проект из командной строки.
Насчёт совместимости программаторов не подскажу, не знаком с перечисленными программаторами. Могу только высказать общее соображение: если это JTAG, то он как правило есть на всех ARM- контроллерах, поэтому, если программатор поддерживается каким-нибудь универсальным софтом (типа OpenOCD), то, скорее всего, он будет работать на всех ARM-ах. Если же это программатор, использующий какой-то специфический протокол программирования, то, соответственно, он не будет работать на других контроллерах.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Mar 7 2015, 08:52
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(AHTOXA @ Mar 7 2015, 01:09)  Спасибо. Посмотрел мануал на make, заценил содержимое автосгенерированного makefile, пока страшно с ним разбираться, попробую использовать Eclipse ARM Plug-ins. Шаблонный прект под ARM начал компилиться. Что необходимо поменять/добавить в шаблонный проект, чтоб он стал пригоден для разработки под мой контроллер? Как понимаю, надо: 1) добавить либы для работы с периферией от производителя 2) подкорректировать mem.ld 3) ???
|
|
|
|
|
Mar 7 2015, 12:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Почитал доку на 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) - не помогло.
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 9 2015, 06:50
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
поправил значение для 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: Ïîïûòêà îáúåäèíèòü äèñê ñ ïàïêîé íà îáúåäèíåííîì äèñêå. перед этим в консоль пишет (см.рисунок)
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 9 2015, 11:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Сам не понял что сделал, каким-то чудом всё подконектилось. И даже что-то выполняется. Делал это: -В Config options подсунул скрипты из установки OpenOCD (рисунок в сообщении №7) -Нашёл ссылку на zadig_2.1.1.exe. -При её помощи перебил драйвера для Amontec JTAGKey-2. -Попробовал стартануть debug в eclipse, законнектилось и может бегать по коду, правда, как-то тормозит. Память можно просмотреть, писать/читать RAM. -Но счас не работает с CrossWorks и не определено в диспетчере устройств. В консоль при подключении выдаёт: CODE 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.htmlInfo : 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, как от этого избавиться? Спасибо.
Прикрепленные изображения
|
|
|
|
|
Mar 9 2015, 14:35
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Для Olimex ARM-USB-TINY-H перебил драйвера при помощи zadig_2.1.1.exe, добавил в настройки olimex-arm-usb-tiny-h.cfg, так же всё заработало (только опять как-то очень медленно). Пробовал законектить таким же способом Altera USB-Blaster, но тут не работает CODE 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.htmlWarn : 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 нету).
|
|
|
|
|
Mar 11 2015, 14:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Разобрался немного, как это всё работает. Хочу двигаться дальше на базе платы с LPC1788. Создал шаблонный проект, добавил либы, пытаюсь законнектиться - выдаёт ошибку: CODE 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.htmlInfo : 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 тоже всё гуд.
Эскизы прикрепленных изображений
|
|
|
|
|
May 6 2015, 16:48
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425

|
дабы не плодить темы: есть мануал "для чайников" как связать 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 ? какие команды ему надо совать ? может ли меня не идти отладка, если я пытаюсь отлаживать основную программу, а помимо нее еще есть бутлоадер ?
|
|
|
|
|
May 7 2015, 06:39
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(swisst @ May 6 2015, 19:48)  как настроить 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
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 7 2015, 17:47
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425

|
Цитата(Сергей Борщ @ May 7 2015, 09:39)  спасибо за ответ - сделал по Вашей рекомендации. вывод openocd CODE 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.htmlInfo : 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 - выхлоп следующий, после чего все надо начинать сначала CODE 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: CODE Temporary breakpoint 1, main () at main.c:44 44 Init();
No breakpoint number 2.
Program received signal SIGINT, Interrupt. 0xfffffffe in ?? ()
при этом таргет отваливается от отладки - программа выполняется с перезапуском (циклически), в openocd бесконечно: CODE 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
добиться стабильности пока не получается
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|