/***********************************************************************/ /* */ /* FILE :Main.c or Main.cpp */ /* DATE :Tue, Oct 31, 2006 */ /* DESCRIPTION :Main Program */ /* CPU TYPE : */ /* */ /* NOTE:THIS IS A TYPICAL EXAMPLE. */ /* */ /***********************************************************************/ //#include "typedefine.h" #ifdef __cplusplus //#include // Remove the comment when you use ios //_SINT ios_base::Init::init_cnt; // Remove the comment when you use ios #endif void main(void); #ifdef __cplusplus extern "C" { void abort(void); } #endif #include #include "iodefine.h" #define FPSW_EZ 0x00001000 #pragma inline_asm Change_PSW_PM_to_UserMode void Change_PSW_PM_to_UserMode(void); void mpu_init(void); void main(void); void SuperVisor_Inst(void); void Access_Inst(void); void Undefined_Inst(void); void FloatingPoint_Inst(void); void Change_PSW_PM_to_UserMode(void) { MVFC PSW,R1 OR #00100000h,R1 PUSH.L R1 MVFC PC,R1 ADD #10,R1 PUSH.L R1 RTE NOP NOP NOP NOP NOP NOP } void mpu_init(void) { MPU.RSPAGE0.LONG=0; MPU.REPAGE0.BIT.REPN=0; MPU.REPAGE0.BIT.UAC=7; MPU.REPAGE0.BIT.V=0; MPU.RSPAGE1.LONG=0; MPU.REPAGE1.BIT.REPN=0; MPU.REPAGE1.BIT.UAC=7; MPU.REPAGE1.BIT.V=0; MPU.RSPAGE2.LONG=0; MPU.REPAGE2.BIT.REPN=0; MPU.REPAGE2.BIT.UAC=7; MPU.REPAGE2.BIT.V=0; MPU.RSPAGE3.LONG=0; MPU.REPAGE3.BIT.REPN=0; MPU.REPAGE3.BIT.UAC=7; MPU.REPAGE3.BIT.V=0; MPU.RSPAGE4.LONG=0; MPU.REPAGE4.BIT.REPN=0; MPU.REPAGE4.BIT.UAC=7; MPU.REPAGE4.BIT.V=0; MPU.RSPAGE5.LONG=0; MPU.REPAGE5.BIT.REPN=0; MPU.REPAGE5.BIT.UAC=7; MPU.REPAGE5.BIT.V=0; MPU.RSPAGE6.LONG=0; MPU.REPAGE6.BIT.REPN=0; MPU.REPAGE6.BIT.UAC=7; MPU.REPAGE6.BIT.V=0; MPU.RSPAGE7.LONG=0; MPU.REPAGE7.BIT.REPN=0; MPU.REPAGE7.BIT.UAC=7; MPU.REPAGE7.BIT.V=0; MPU.MPBAC.BIT.UBAC=7; MPU.MPEN.LONG=(long)1; Change_PSW_PM_to_UserMode(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); nop(); } void main(void) { mpu_init(); for (;;) { } } void SuperVisor_Inst(void) { } void Access_Inst(void) { } void Undefined_Inst(void) { } void FloatingPoint_Inst(void) { } #ifdef __cplusplus void abort(void) { } #endif