ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
9 июля
279904
580BM80 (24.10.2011 17:36, просмотров: 1062)
Нужно знать адрес срабатывания вочдога в lpc1768. Для МДК сделал так: //-------------------------------- void WDT_IRQHandler(void) __irq { // NVIC_DisableIRQ(WDT_IRQn); SaveToRtcMem(GetBreakAdr()); ResMySelf(); } //-------------------------------- __asm unsigned GetBreakAdr(void) { ldr r0, [sp,#32] bx lr } //-------------------------------- Работает, но вызывает сомнение надёжность кода. Смещение в 32 байта от указателя стека нашёл ковыряясь в памяти. Предполагаю, что оно может случиться иным при разных вариантах оптимизации или на разных версиях компилятора. Как сделать правильно?