?? boot_5402.c
字號:
#include "C5402.h"
#include "port_5402.h"
#include "flash.c"
#include "boot_dat.h"
typedef unsigned int U16;
typedef volatile ioport unsigned IOPORT;
U16 val;
//-----------5402 Registers VAL------------
#define PMST_VAL 0x00A0
#define SWWSR_VAL 0x7FFF
#define SWCR_VAL 0x0000
#define BSCR_VAL 0x0006
#define CLKMD_VAL 0x4007
//9007 pll*10 4007 pll*5 1007 pll*2 片上初始硬件clk*5 晶振20m 設置成40m 時鐘周期25ns
//---------------Init 5402 -----------------
void Init_board(void)
{
CLKMD=0x0000;
while(CLKMD&0x0001);
CLKMD=CLKMD_VAL;
PMST=PMST_VAL;
SWWSR=SWWSR_VAL;
SWCR=SWCR_VAL;
BSCR=BSCR_VAL;
}
//---------------main --------------------
void main()
{
U16 i,temp;
Init_board();
Flash_Ready();
Flash_Erase_ALL;
// Flash_Write_OneWord(0x8000,0x3FF6);
for(i=0;i<=0x01A9;i++) // 0x01A9為boot表的長度
{
Flash_Write_OneWord((0x8000+i,Flash_data[i]));
}
Flash_Write_OneWord(0xFFFF,0x8000);
val = Flash_Read_OneWord(0x00);
temp = Flash_Read_OneWord(0x00);
temp = Flash_Read_OneWord(0x01);
temp = Flash_Read_OneWord(0x02);
while(1);
exit(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -