
Hi Jingjing,
I have just check my application fault according your indication but I can't find the reason of the hardware fualt. It seems a "GPIO_PTE_SetFieldValue" call the reason but If I put a breakpoint at "GPIO_PTE_SetFieldValue", the program doesn't arrive at this breakpoint, so the truoble should be in PE_low_level_init():
void PE_low_level_init(void)
{
/* Initialization of the SIM module */
//#ifdef NO_INIT
/* PORTA_PCR4: ISF=0,MUX=7 */
PORTA_PCR4 = (uint32_t)((PORTA_PCR4 & (uint32_t)~0x01000000UL) | (uint32_t)0x0700UL);
/* SIM_SOPT6: RSTFLTEN=0,RSTFLTSEL=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
SIM_SOPT6 = (uint32_t)0x00UL; /* Set reset pin filter */
/* SIM_SCGC7: MPU=1 */
SIM_SCGC7 |= (uint32_t)0x04UL;
/* Initialization of the MPU module */
/* MPU_CESR: SPERR=0,VLD=0 */
MPU_CESR &= (uint32_t)~0xF8000001UL;
//#endif
/* Initialization of the AIPS0 module */
/* AIPS0_MPRA: MTR0=1,MTW0=1,MPL0=1,MTR1=1,MTW1=1,MPL1=1,MTR2=1,MTW2=1,MPL2=1,MTR4=0,MTW4=0,MPL4=0,MTR5=0,MTW5=0,MPL5=0 */
AIPS0_MPRA = (uint32_t)((AIPS0_MPRA & (uint32_t)~0x7700UL) | (uint32_t)0x77700000UL);
/* AIPS0_PACRA: SP0=0,WP0=0,TP0=0,SP4=0,WP4=0,TP4=0 */
AIPS0_PACRA &= (uint32_t)~0x70007000UL;
/* AIPS0_PACRB: SP0=0,WP0=0,TP0=0,SP1=0,WP1=0,TP1=0,SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0 */
AIPS0_PACRB &= (uint32_t)~0x77007700UL;
/* AIPS0_PACRE: SP0=0,WP0=0,TP0=0,SP1=0,WP1=0,TP1=0,SP4=0,WP4=0,TP4=0 */
AIPS0_PACRE &= (uint32_t)~0x77007000UL;
/* AIPS0_PACRF: SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0,SP7=0,WP7=0,TP7=0 */
AIPS0_PACRF &= (uint32_t)~0x7707UL;
/* AIPS0_PACRG: SP2=0,WP2=0,TP2=0,SP5=0,WP5=0,TP5=0,SP6=0,WP6=0,TP6=0,SP7=0,WP7=0,TP7=0 */
AIPS0_PACRG &= (uint32_t)~0x00700777UL;
/* AIPS0_PACRH: SP0=0,WP0=0,TP0=0,SP1=0,WP1=0,TP1=0,SP3=0,WP3=0,TP3=0,SP5=0,WP5=0,TP5=0,SP6=0,WP6=0,TP6=0 */
AIPS0_PACRH &= (uint32_t)~0x77070770UL;
/* AIPS0_PACRI: SP0=0,WP0=0,TP0=0,SP1=0,WP1=0,TP1=0,SP5=0,WP5=0,TP5=0,SP7=0,WP7=0,TP7=0 */
AIPS0_PACRI &= (uint32_t)~0x77000707UL;
/* AIPS0_PACRJ: SP0=0,WP0=0,TP0=0,SP1=0,WP1=0,TP1=0,SP2=0,WP2=0,TP2=0,SP3=0,WP3=0,TP3=0,SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0 */
AIPS0_PACRJ &= (uint32_t)~0x77777700UL;
/* AIPS0_PACRK: SP2=0,WP2=0,TP2=0 */
AIPS0_PACRK &= (uint32_t)~0x00700000UL;
/* AIPS0_PACRM: SP1=0,WP1=0,TP1=0,SP2=0,WP2=0,TP2=0,SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0,SP6=0,WP6=0,TP6=0,SP7=0,WP7=0,TP7=0 */
AIPS0_PACRM &= (uint32_t)~0x07707777UL;
/* AIPS0_PACRN: SP2=0,WP2=0,TP2=0,SP3=0,WP3=0,TP3=0,SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0 */
AIPS0_PACRN &= (uint32_t)~0x00777700UL;
/* AIPS0_PACRO: SP2=0,WP2=0,TP2=0,SP3=0,WP3=0,TP3=0,SP4=0,WP4=0,TP4=0 */
AIPS0_PACRO &= (uint32_t)~0x00777000UL;
/* AIPS0_PACRP: SP4=0,WP4=0,TP4=0,SP5=0,WP5=0,TP5=0,SP6=0,WP6=0,TP6=0 */
AIPS0_PACRP &= (uint32_t)~0x7770UL;
/* Initialization of the AIPS1 module */
/* AIPS1_MPRA: MTR0=1,MTW0=1,MPL0=1,MTR1=1,MTW1=1,MPL1=1,MTR2=1,MTW2=1,MPL2=1,MTR4=0,MTW4=0,MPL4=0,MTR5=0,MTW5=0,MPL5=0 */
AIPS1_MPRA = (uint32_t)((AIPS1_MPRA & (uint32_t)~0x7700UL) | (uint32_t)0x77700000UL);
/* AIPS1_PACRE: SP4=0,WP4=0,TP4=0 */
AIPS1_PACRE &= (uint32_t)~0x7000UL;
/* AIPS1_PACRF: SP4=0,WP4=0,TP4=0 */
AIPS1_PACRF &= (uint32_t)~0x7000UL;
/* AIPS1_PACRG: SP1=0,WP1=0,TP1=0 */
AIPS1_PACRG &= (uint32_t)~0x07000000UL;
/* AIPS1_PACRH: SP0=0,WP0=0,TP0=0,SP3=0,WP3=0,TP3=0 */
AIPS1_PACRH &= (uint32_t)~0x70070000UL;
/* AIPS1_PACRJ: SP4=0,WP4=0,TP4=0 */
AIPS1_PACRJ &= (uint32_t)~0x7000UL;
/* AIPS1_PACRN: SP2=0,WP2=0,TP2=0 */
AIPS1_PACRN &= (uint32_t)~0x00700000UL;
/* AIPS1_PACRP: SP6=0,WP6=0,TP6=0 */
AIPS1_PACRP &= (uint32_t)~0x70UL;
/* Initialization of the PMC module */
/* PMC_LVDSC1: LVDACK=1,LVDIE=0,LVDRE=1,LVDV=0 */
PMC_LVDSC1 = (uint8_t)((PMC_LVDSC1 & (uint8_t)~(uint8_t)0x23U) | (uint8_t)0x50U);
/* PMC_LVDSC2: LVWACK=1,LVWIE=0,LVWV=0 */
PMC_LVDSC2 = (uint8_t)((PMC_LVDSC2 & (uint8_t)~(uint8_t)0x23U) | (uint8_t)0x40U);
/* PMC_REGSC: TRAMPO=0,??=0,BGBE=0 */
PMC_REGSC &= (uint8_t)~(uint8_t)0x13U;
/* MC_PMPROT: ??=0,??=0,AVLP=0,ALLS=0,??=0,AVLLS3=0,AVLLS2=0,AVLLS1=0 */
MC_PMPROT = (uint8_t)0x00U; /* Setup Power mode protection register */
/* Common initialization of the CPU registers */
/* NVICIP20: PRI20=0 */
NVICIP20 = (uint8_t)0x00U;
/* ### GPIO_LDD "GPIO_PTA" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)GPIO_PTA_Init(NULL);
/* ### GPIO_LDD "GPIO_PTC" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)GPIO_PTC_Init(NULL);
/* ### GPIO_LDD "GPIO_PTD" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)GPIO_PTD_Init(NULL);
/* ### GPIO_LDD "GPIO_PTE" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)GPIO_PTE_Init(NULL);
/* ### TimerUnit_LDD "TU1" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)TU1_Init(NULL);
/* ### TimerUnit_LDD "TU2" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)TU2_Init(NULL);
/* ### Serial_LDD "U0_GPRS" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)U0_GPRS_Init(NULL);
/* ### Serial_LDD "U3_console" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)U3_console_Init(NULL);
/* ### Serial_LDD "U4_SLAVE" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)U4_SLAVE_Init(NULL);
/* ### SPIMaster_LDD "SM1" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)SM1_Init(NULL);
/* ### SPIMaster_LDD "SM2" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)SM2_Init(NULL);
/* ### SPIMaster_LDD "SM3" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)SM3_Init(NULL);
/* ### RTC_LDD "RTC" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)RTC_Init(NULL, TRUE);
/* ### I2C_LDD "I2C" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)I2C_Init(NULL);
/* ### TimerUnit_LDD "TU3" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)TU3_Init(NULL);
/* ### WatchDog_LDD "WDog2" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
(void)WDog2_Init(NULL);
/* Enable interrupts of the given priority level */
Cpu_SetBASEPRI(0U);
}
a StepByStep debug fault line is:
SIM_SCGC7 |= (uint32_t)0x04UL;
but I don't understand the reason of the fault.......