да я завтра на вторую платку просто со светодиодами попробую там помню старая версия openocd там точно разные адреса выдавала
а тут я посмотрел память сохраняет переменные нормально
да адреса остановки меняются
CODE
> halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x080004e0 msp: 0x2001bfd0
> resume
> halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x080004e4 msp: 0x2001bfd0
> resume
> halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x0800051c msp: 0x2001bfd0
> resume
> halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x08000506 msp: 0x2001bfd0
Сергей, а когда эклипсом вы подсоединяетесь на лету, в эклипсе становится возможно устанавливать точки останова?
у меня он подсоединяется но толку от него ноль он не может производить отладку - не может установить точки останова(
о, получилось, чтоб нормально подцепиться к работающей плате надо вначале телнетом поключиться к openocd и дать команду halt, потом можно уже подключаться эклипсом и он в этом случае может производить отладку...
CODE
asm volatile (
"TST LR, #0x4 \n" // Test EXC_RETURN number in LR bit 2"
"ITTEE EQ \n" // if zero (equal) then
"MRSEQ R4, MSP \n" // Main Stack was used, put MSP in R0
"LDREQ R0,[R4,#24] \n" // Get stacked PC from stack
"MRSNE R4, PSP \n" // else, Process Stack was used, put PSP in R0
"LDRNE R0,[R4,#24] \n" // Get stacked PC from stack
"MRS R1, MSP \n"
"MRS R2, PSP \n"
"MOV R3, LR \n"
"deadend1: \n"
"B deadend1 \n"// ; Infinite loop
:
:
:
);
в общем поставил в обработчик исключения такой код, сижу жду когда зависнет