Никто не спотыкался о такое :
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.?