Никто не спотыкался о такое :
SAM3S8c, Studio6, отладка через SAM-ICE
код p_adc->ADC_MR |= ADC_MR_PRESCAL(ul_prescal) | ((uc_startup << ADC_MR_STARTUP_Pos) & ADC_MR_STARTUP_Msk);
asm disassembly p_adc->ADC_MR |= ADC_MR_PRESCAL(ul_prescal) | 0040019E ldr r5, [r0, #4] ul_prescal = ul_mck / (2 * ul_adc_clock) - 1; 004001A0 lsl.w r2, r2, #1 004001A4 udiv r1, r1, r2 >>> Вылетаем здесь в HardFault_Handler(), стабильно, добавлял код перед ней, все равно падаем здесь.
Reg R01 = 0x03D09000 R02 = 0x0004E200
SCB->HFSR бит FORSED=1 SCB->SFSR бит UNDEFIMSTR = 1 SCB->ССR бит STKALIGN =1
До какого то момента код работал и вылетал редко(Несколько раз ловил в Dummy_Handler). После незначительных изменений кода далеко за этой командой стал стабильно вылетать, отмена изменений не влияет. Интересно, что при отключении SAM-ICE от устройства ARM это место исполняет. Возможно, дело во взаимодействии с JTAG.?
|