реклама на сайте
подробности

 
 
> eclipse + lpc1769
doom13
сообщение Mar 6 2015, 06:26
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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, ещё есть эмуляторы для Техаса sm.gif )?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
swisst
сообщение May 6 2015, 16:48
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 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 ? какие команды ему надо совать ?

может ли меня не идти отладка, если я пытаюсь отлаживать основную программу, а помимо нее еще есть бутлоадер ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 7 2015, 06:39
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
swisst
сообщение May 7 2015, 17:47
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 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.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 - выхлоп следующий, после чего все надо начинать сначала
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


добиться стабильности пока не получается
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   eclipse + lpc1769   Mar 6 2015, 06:26
- - doom13   Ещё вопрос: можно установить Sourcery CodeBench Li...   Mar 6 2015, 09:16
|- - mdmitry   1) да 2) всех (make file project) toolchain на Ваш...   Mar 6 2015, 16:49
|- - doom13   Цитата(mdmitry @ Mar 6 2015, 19:49) Спас...   Mar 6 2015, 18:51
|- - AHTOXA   Эклипса - это просто удобный редактор. Она ничего ...   Mar 6 2015, 22:09
|- - doom13   Цитата(AHTOXA @ Mar 7 2015, 01:09) Спаси...   Mar 7 2015, 08:52
- - doom13   Почитал доку на Open OCD, нашёл, что может работат...   Mar 7 2015, 12:30
- - doom13   поправил значение для openocd_path, теперь выдаёт ...   Mar 9 2015, 06:50
- - doom13   Сам не понял что сделал, каким-то чудом всё подкон...   Mar 9 2015, 11:46
- - doom13   Для Olimex ARM-USB-TINY-H перебил драйвера при пом...   Mar 9 2015, 14:35
- - doom13   Разобрался немного, как это всё работает. Хочу дви...   Mar 11 2015, 14:46
- - doom13   Проблема была в конфликте OpenOCD + Amontec JTAG K...   Mar 12 2015, 18:36
- - doom13   Наверное не совсем то, что Вам поможет, но попробу...   May 7 2015, 18:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 22:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016