📄 control.c
字号:
#include "../inc/def.h"
#include "../inc/config.h"
#include "../inc/board.h"
#include "s3c4510b.h"
void ShowBootInfo(void)
{
puts("\n******************************************\n");
puts("* *\n");
puts("* BIOS for FS4510 Board V4.00 *\n");
puts("* Http://www.uCdragon.com *\n");
puts("* *\n");
puts("******************************************\n");
}
void PortInit(void)
{
outl(0xff, IOPMOD); //PIO 0~7 output
outl(0, IOPCON);
//outl((0x530<<20)|(0x500<<10),ROMCON1);
//outl((inl(REFEXTCON)&0x000)&0x3f0,REFEXTCON);
}
void Beep(U32 freq, U32 ms)
{
outl(inl(IOPDATA)&~0x10, IOPDATA);
Delay(ms);
outl(inl(IOPDATA)|0x10, IOPDATA);
}
#define LED1_ON() outl(inl(IOPDATA)&~1, IOPDATA)
#define LED2_ON() outl(inl(IOPDATA)&~2, IOPDATA)
#define LED3_ON() outl(inl(IOPDATA)&~4, IOPDATA)
#define LED4_ON() outl(inl(IOPDATA)&~8, IOPDATA)
#define LED5_ON() outl(inl(IOPDATA)&~0x10, IOPDATA)
#define LED6_ON() outl(inl(IOPDATA)&~0x20, IOPDATA)
#define LED7_ON() outl(inl(IOPDATA)&~0x40, IOPDATA)
#define LED8_ON() outl(inl(IOPDATA)&~0x80, IOPDATA)
#define LED1_OFF() outl(inl(IOPDATA)|1, IOPDATA)
#define LED2_OFF() outl(inl(IOPDATA)|2, IOPDATA)
#define LED3_OFF() outl(inl(IOPDATA)|4, IOPDATA)
#define LED4_OFF() outl(inl(IOPDATA)|8, IOPDATA)
#define LED5_OFF() outl(inl(IOPDATA)|0x10, IOPDATA)
#define LED6_OFF() outl(inl(IOPDATA)|0x20, IOPDATA)
#define LED7_OFF() outl(inl(IOPDATA)|0x40, IOPDATA)
#define LED8_OFF() outl(inl(IOPDATA)|0x80, IOPDATA)
void LedSet(U32 LedStatus)
{
if(LedStatus&1)
LED1_ON();
else
LED1_OFF();
if(LedStatus&2)
LED2_ON();
else
LED2_OFF();
if(LedStatus&4)
LED3_ON();
else
LED3_OFF();
if(LedStatus&8)
LED4_ON();
else
LED4_OFF();
//*********************************************************
if(LedStatus&0x10)
LED5_ON();
else
LED5_OFF();
if(LedStatus&0x20)
LED6_ON();
else
LED6_OFF();
if(LedStatus&0x40)
LED7_ON();
else
LED7_OFF();
if(LedStatus&0x80)
LED8_ON();
else
LED8_OFF();
}
void CacheDisable(void)
{
outl(inl(SYSCFG)&~0xf, SYSCFG);
}
void CacheEnable(void)
{
outl(inl(SYSCFG)|6, SYSCFG);
}
void CacheFlush(void)
{
int i;
U32 *pTag = (U32 *)TAG_BASE;
for(i=0; i<256; i++)
pTag[i] = 0;
}
U16 GetKeyStatus(void)
{
U16 key, k4;
key = inl(IOPDATA)>>9;
k4 = key&0x80;
key &= ~8;
key |= k4?8:0;
return key;
}
//nand flash operation
#define NAND_DAT 0x02000000
#define NAND_ALE 0x02000004
#define NAND_CLE 0x02000002
void NFChipSel(U32 sel)
{
}
int NFIsReady(void)
{
return 1;
}
void NFWrCmd(int cmd)
{
}
void NFWrAddr(int addr)
{
}
void NFWrDat(int dat)
{
}
int NFRdDat(void)
{
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -