Eclipse GDB в сочетании с OpenOCD

Я использую eclipse CDT для создания программного обеспечения для stm32f0-discovery Я использую ST-link для программирования этого контроллера с помощью USB.

Несколько дней назад я занялся отладкой своего чипа с помощью OpenOCD6.0.1, я следовал этому руководству:

руководство по отладчику

через несколько часов я получил эту работу, так как смог выполнить точную настройку моей программы, установив точки останова и все другие обычные отладочные материалы. Вот здесь и происходит странная вещь. Я начал менять свою конфигурацию с -> Monitor reset halt на -> monitor soft_reset_halt. Я сделал это, потому что в конечном итоге я хочу разработать плату с микросхемой серии stm32f0, которую я могу программировать, используя только три провода (программирование SWD). Поскольку я не заставил это работать, я восстановил настройку, чтобы контролировать остановку сброса.

Сегодня я хотел отладить свой чип, и я столкнулся со следующим: когда я начинаю отлаживать eclipse, мне сообщается, что мое устройство находится в обработчике сброса (это кажется мне правильным из-за команды сброса монитора), вывод openocd в этот момент является:

Open On-Chip Debugger 0.6.1 (2012-10-07-10:34)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.sourceforge.net/doc/doxygen/bugs.html
adapter speed: 1000 kHz
srst_only separate srst_nogate srst_open_drain
Info : clock speed 1000 kHz
Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints
Info : accepting 'gdb' connection from 3333
Info : device id = 0x20006440
Info : flash size = 64kbytes
Warn : acknowledgment received, but no packet pending
undefined debug reason 6 - target needs reset
target state: halted
target halted due to debug-request, current mode: Thread 
xPSR: 0xc1000000 pc: 0x0800291c msp: 0x20002000
Info : Padding image section 0 with 4 bytes
target state: halted
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20002000
Warn : stepi ignored. GDB will now fetch the register state from the target.

Теперь я хочу перешагнуть через обработчик сброса, чтобы запустить мою программу, а затем я получаю это предупреждение:

Предупреждаю: stepi проигнорировал. GDB теперь получит состояние регистра от цели.

после некоторого поиска в Google я не могу найти ответ на вопрос, что вызывает это. есть ли у кого-нибудь ключ к решению этой проблемы.


person Bart Teunissen    schedule 18.01.2013    source источник


Ответы (1)


Хорошо, я нашел это. Потому что я использую несколько досок stm32f0discovery (одну для работы, а другую для хобби дома). Конфигурация платы была другой. Таким образом, мне пришлось обновить прошивку платы, которая не работала. Прошивка была на 2 версии старше той, что есть у меня дома.

Задача решена :)

person Bart Teunissen    schedule 18.01.2013