Перейти к содержанию
    

Приветствую.

Пытаюсь разобраться, как работать с 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, ещё есть эмуляторы для Техаса :) )?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё вопрос: можно установить Sourcery CodeBench Lite Edition, а можно gcc-arm-none-eabi с этого сайта.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) да

2) всех (make file project)

toolchain на Ваш выбор.

 

Может быть Вы посмотрите список тем на форуме? Все Ваши вопросы обсуждались не раз.

Освойте утилиту make и половина вопросов исчезнет, не будет привязки к Plug-In.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Пытаюсь разбираться, но так много разной инфы, что пока склеить в одно целое не получается.

В основном смотрю инфу с 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-ми от других производителей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эклипса - это просто удобный редактор. Она ничего не знает про микроконтроллеры и программаторы. Она лишь умеет вызывать make для сборки проекта и gdb для отладки. Ещё она умеет вызывать внешние программы. То есть, для программирования надо настроить запуск внешней программы (или создать цель для make). (Есть вариант программировать через gdb).

Таким образом, всё, что вам надо - написать makefile и подсунуть его эклипсе.

Для тех, кто не хочет писать makefile, существуют плагины, которые позволяют автоматизировать их создание.

Но я не рекомендую этот путь. На форуме куча постов с вопросами типа "поставил плагин, расставил птички, и ничего не получается. Что мне делать?". Судя по этому, плагины работают не очень хорошо. И даже если сначала что-то получится, то потом может сломаться. И вы окажетесь в очень неприятной ситуации - надо что-то срочно исправить, а у вас ничего не работает. В случае самописного makefile вы в любом случае сможете собрать проект из командной строки.

 

Насчёт совместимости программаторов не подскажу, не знаком с перечисленными программаторами. Могу только высказать общее соображение: если это JTAG, то он как правило есть на всех ARM- контроллерах, поэтому, если программатор поддерживается каким-нибудь универсальным софтом (типа OpenOCD), то, скорее всего, он будет работать на всех ARM-ах. Если же это программатор, использующий какой-то специфический протокол программирования, то, соответственно, он не будет работать на других контроллерах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Посмотрел мануал на make, заценил содержимое автосгенерированного makefile, пока страшно с ним разбираться, попробую использовать Eclipse ARM Plug-ins.

Шаблонный прект под ARM начал компилиться.

Что необходимо поменять/добавить в шаблонный проект, чтоб он стал пригоден для разработки под мой контроллер?

Как понимаю, надо:

1) добавить либы для работы с периферией от производителя

2) подкорректировать mem.ld

3) ???

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал доку на 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) - не помогло.

post-63539-1425734174_thumb.jpg

post-63539-1425737649_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

поправил значение для 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: Ïîïûòêà îáúåäèíèòü äèñê ñ ïàïêîé íà îáúåäèíåííîì äèñêå.

перед этим в консоль пишет (см.рисунок)

post-63539-1425885729_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам не понял что сделал, каким-то чудом всё подконектилось. И даже что-то выполняется.

Делал это:

-В 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, как от этого избавиться?

Спасибо.

post-63539-1425901362.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для 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 нету).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался немного, как это всё работает. Хочу двигаться дальше на базе платы с 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 тоже всё гуд.

post-63539-1426085058_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема была в конфликте OpenOCD + Amontec JTAG Key-2 c распиновкой JTAG на плате Starterkit SK-MLPC1788. CrossWorks с драйверами для Amontec нормально работает, а OpenOCD с драйвером WinUSB выдаёт ошибку. Убрал пины VTARGET, RST, DBGRQ, DBGACK - всё заработало (CrossWorks также работает).

post-63539-1426196082_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дабы не плодить темы:

 

есть мануал "для чайников" как связать 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 ? какие команды ему надо совать ?

 

может ли меня не идти отладка, если я пытаюсь отлаживать основную программу, а помимо нее еще есть бутлоадер ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как настроить 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за ответ - сделал по Вашей рекомендации.

 

вывод 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

 

добиться стабильности пока не получается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...