📄 main.c
字号:
#include "..\common\option.h"
#include "..\common\def.h"
#include "..\common\2410addr.h"
#include "..\common\2410slib.h"
#include "..\common\2410lib.h"
#include "..\common\2410addr.h"
//#include "..\common\k9s1208.h"
#include "..\common\register.h"
#include "..\common\LCD.h"
#include "..\common\LCDlib.h"
#define DOWNLOAD_ADDRESS _RAM_STARTADDRESS
#define BOOT_IMAGE_SIZE 5
#define MEM_OFFSET 0x01000000
void (*run)(void)=(void (*)(void))(DOWNLOAD_ADDRESS+MEM_OFFSET);
void Port_Init(void);
void Led_Display(int);
void Delay(int);
void _Link(void);
void Test_SMC(int SMC_addr,int mem_addr, int nByte);
volatile unsigned char *downPt;
void Main(int argc,char **argv)
{
int i,j;
char status=0;
char *p;
downPt=(unsigned char *)(DOWNLOAD_ADDRESS+MEM_OFFSET);
MMU_DisableICache();
MMU_DisableDCache();
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(M_MDIV,M_PDIV,M_SDIV); //Fin=12MHz FCLK=200MHz
Port_Init();
Uart_Select(0);
Uart_Init(PCLK, 115200);
//_Link();
int SMC_addr = 0x3000000;
int mem_addr = 0x30000000;
int nByte = 1024;
//第一个参数为要烧写的起始地址
//第二个参数为内存地址(调入文件的起始地址)
//第三个参数为要烧录的文件的长度(以字节为单位)
Test_SMC(SMC_addr,mem_addr,nByte);
/*********************************************************
* on(led1) -> on(led2) -> on(led3) -> on(led4)
********************************************************/
Embest();
Uart_SendString("\n\n S3C2410 Test in Embest IDE for ARM toolkets. \n");
Uart_SendString( " UART Send OK! \n ");
while(1)
{
if(status<5) status +=1;
else status =1;
Led_Display(status);
for(i=0;i<55500;i++)
{;}
for(i=0;i<55500;i++)
{;}
}
}
void Test_SMC(int SMC_addr,int mem_addr, int nByte)
{
U16 id;
NF_Init();
id=NF_CheckId();
Uart_Printf("\n\n SMC ID is: 0x%x\n ",id);
if(id!=0xec76)
return;
rINTMSK = BIT_ALLMSK;
K9S1208_Program(SMC_addr,mem_addr,nByte);
}
void __gccmain(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -