详细说明:S3C44B0 BIOS的keil CARM版
**********************************************************************
说明:S
源代码来自互连网,由本人进行了一些修改,使其在keil UV3
主要修改的地方在启动文件,FLASH的烧录部分,另外在控制台中增加了几个命令。
硬件平台为: CPU:S
本软件仅供学习交流使用,不得用于其它用途,否则后果自负。
**********************************************************************
该开发板的原理图.rar(注意U4和R39不要安装,R8接VCC5.0端改为接地)
又对代码做了一点更改,启动代码s
;****************************************************************************
;为BDMA改变BDMACON的复位值
;BDMA目的寄存器
BDIDES0 EQU 0x
BDIDES1 EQU 0x
LDR R2, =BDIDES0
LDR R1, =0x40000000 ;BDIDESn reset value should be 0x40000000
STR R1, [r2]
LDR R2, =BDIDES1
LDR R1, =0x40000000 ;BDIDESn reset value should be 0x40000000
STR R1, [r2]
;****************************************************************************
;****************************************************************************
;将FLASH中的代码段(0x1E0000-0x1EFFFF)复制到RAM中(0xC
;如果已经在RAM中运行,则不要复制
MOV R1,PC
LDR R2,=0x
CMP R2,R1
BLS EndCopy
LDR R1,=0x001E0000 ;BIOS在FLASH中的地址
LDR R2,=0x
LDR R7,=0x
LDMIA R1!,{R3-R6} ;装入4个字到寄存器中
STMIA R2!,{R3-R6} ;将4个字保存到RAM中
CMP R2,R7 ;比较拷贝是否完成
BLS LOOP ;循环
EndCopy:
;****************************************************************************
;自己的代码结束
;****************************************************************************
另外,在main函数中将PortInit();前面的注释去掉,然后找到PortInit()函数,修改成如下代码:
/****************************************************************************
【功能说明】IO端口功能、方向设定
****************************************************************************/
void PortInit(void)
{
//其它IO在S
//当然也可以在这里来配置
rPDATG = 0xff;
rPCONG = 0x
rPUPG = 0x00; //enabled pull up register
rEXTINT = 0x42; //所有的外部硬件中断为低电平触发, extint0 为下降沿,extint1为上升沿
rINTCON = 5; // non vector mode, irq enable
rINTMOD = 0; //all are irq mode
}