Господа! Тема очень Важна для меня и требует решения. Объясню подробнее.
Девайс будет использоваться в авто. Так что температура - важная составляющая.
Термокамеры нет, поэтому охлаждали фризером из баллончика(что то типа сжиженного газа).
Контроль температуры ИК-термометр. Эффект незапуска наблюдается только при охлаждении АРМ7.
На выходе XOUT полный 0.
Заморозка кварца и другой периферии на запуск не влияет.
Под дебагом(IAR+J-Link), АРМ хоть до -40ка морозь, запускается собака.
Cstartup.s79, Generic CStartup for IAR No Use REMAP, 1.0 15/Jun/04, не правил.
Startup.с :
Код
void AT91F_LowLevelInit( void) @ "ICODE"{
int i;
AT91PS_PMC pPMC = AT91C_BASE_PMC;
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(48<<16)) | AT91C_MC_FWS_1FWS;
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_SYSC_WDRSTEN |AT91C_SYSC_WDD | AT91C_SYSC_WDDBGHLT | AT91C_SYSC_WDIDLEHLT | 0x3FF;
pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) | AT91C_CKGR_MOSCEN ));
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 0x03) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (23<<16)));
// Wait the startup time
while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler;
for (i=1;i < 31; i++) { AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler;}
AT91C_BASE_AIC->AIC_SPU = (int) AT91F_Spurious_handler;
}
Потом еще добавил
AT91C_BASE_RSTC->RSTC_RMR = (0xA5 << 24) | AT91C_SYSC_URSTEN;
Но даже после прогрева реакции на NRST нет.
Пробовал комментить циклы ожидания - не помогает. Может я чего упустил?