Добрый вечер (ночь/утро/день)!
Пытаю отладить чип LPC2468 при помощи GDB+OpenOCD (через Wiggler). Здесь я новичек, поэтому возник ряд
вопросов:
1) Насколько я понял, OpenOCD коннектится к отладочной логике чипа через jtag и некакие резиденты в ram контроллера не загружает. Правильно я понял?
2) Допустим прога для контроллера имеет следующий вид:
Vectors: LDR PC, Reset_Addr
# остальные векторы прерываний
Reset_Addr: .word Reset_Handler
# остальные константы прерываний
Reset_Handler: LDR R0, Top_Stack
# инициализация стеков
# глухой цикл
LOOP: B LOOP
Контроллер зависает в последнем цикле. В консоли GDB я пишу monitor halt, затем monitor reg. Дебагер показывает, что теневые регистры содержат 0x00000000, хотя в программе они инициализируются.
Если же глухой цикл поместить перед инициализацией стеков и выйти из него принудительно
(командой monitor step <loop+4>) а потом прошагать код вручную, теневые регистры содержат правильные значения. Че за лажа?
3) как reset'нуть МК?
Заранее благодарен.