| 
 
| void TargetResetInit(void) {
 #ifdef __DEBUG_RAM
 MEMMAP = 0x2;                     // remap
 #endif
 #ifdef __DEBUG_FLASH
 MEMMAP = 0x1;                    // remap
 #endif
 #ifdef __IN_CHIP
 MEMMAP = 0x1;                    // remap
 #endif
 
 if ( PLLSTAT & (1 << 25) )    // if the PLL was connected
 {
 PLLCON  = 0x01;
 PLLFEED = 0xAA;      // disconnect the PLL
 PLLFEED = 0x55;
 PLLCON  = 0x00;
 PLLFEED = 0xAA;      // disable the PLL
 PLLFEED = 0x55;
 }
 else if ( PLLSTAT & (1 << 24) )   // if the PLL was enabled                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   // 如果PLL已被使能,则先禁止PLL
 {
 PLLCON  = 0x00;
 PLLFEED = 0xAA;      // disable the PLL
 PLLFEED = 0x55;
 }
 
 SCS |= 0x20;       // Enable the main OSC,,1MHz~20MHz
 while( !(SCS & 0x40) );     // Wait until main OSC is usable
 
 PLLCON = 1;        // Enable but disconnect the PLL
 CLKSRCSEL = 0x01;      // select main OSC as the PLL clock source
 PLLCFG  = ( ( (PLL_NValue-1) << 16)  | (PLL_MValue-1) );   // set the PLLCFG
 PLLFEED = 0xAA;       // Enable PLL
 PLLFEED = 0x55;
 while (((PLLSTAT & (1 << 24)) == 0)); // Wait until the PLL is usable
 CCLKCFG = (Fcco/Fcclk - 1);    // set the CCLKCFG
 PLLCON = 3;        // connect the PLL
 PLLFEED = 0xAA;
 PLLFEED = 0x55;
 while (((PLLSTAT & (3 << 25)) == 0)); // Wait until the PLL is connected and locked
 #if USE_USB
 PCONP |= 0x80000000;    // Turn On the USB PCLK
 USBCLKCFG = (Fcco/Fusbclk - 1);
 #endif
 // Set system timers for each component
 #if (Fpclk / (Fcclk / 4)) == 1
 PCLKSEL0 = 0x00000000;    // PCLK is 1/4 CCLK
 PCLKSEL1 = 0x00000000;
 #endif
 #if (Fpclk / (Fcclk / 4)) == 2
 PCLKSEL0 = 0xAAAAAAAA;    // PCLK is 1/2 CCLK
 PCLKSEL1 = 0xAAAAAAAA;
 #endif
 #if (Fpclk / (Fcclk / 4)) == 4
 PCLKSEL0 = 0x55555555;    // PCLK is the same as CCLK
 PCLKSEL1 = 0x55555555;
 #endif
 
 // Set memory accelerater module
 MAMCR = 0;
 #if Fcclk < 20000000
 MAMTIM = 1;
 #else
 #if Fcclk < 40000000
 MAMTIM = 2;
 #else
 MAMTIM = 3;
 #endif
 #endif
 MAMCR = 2;
 /* Initialize VIC*/
 VICIntEnClr = 0xffffffff;
 VICVectAddr = 0;
 
 
 /* Add your codes here */
 return;
 }
 
 重点在于启动主晶振
 SCS |= 0x20;       // Enable the main OSC,,1MHz~20MHz
 while( !(SCS & 0x40) );     // Wait until main OSC is usable
 | 
 |