这个程序是基于s3c2440 上编写的,程序是根据韦东山老师的教程编写出来的,但是韦东山是针对6410的,所特在此记录一下学习的过程。
这个程序是通过汇编代码来编写启动代码,然后调用c语言代码来实现的。程序的编写环境式linux。
(1)首先新建一个leds3.s 文件,输入内容如下:
-------------分割线--------------------
.globl _start
_start:
/* 硬件相关的设置:*/
/* Peripheral port setup (查看s3c2440 memory map ) */
/* 基地址+size*/
/* 查看s3c2440芯片说明 和 arm926ej-s cp15*/
ldr r0, =0x50000000
orr r0,r0,#0x08
mcr p15,0,r0,c15,c2,4 @128k(0x50000000-0x5000FFFF)
/* 关看门狗 看门狗每三秒就会重启系统,所以需要把看门狗关掉 */
/* 往 WTCON(0x53000000)写0*/
ldr r0, =0x53000000
mov r1, #0
str r1, [r0]
/*设置栈
设置sp指针的指向,尽量使sp在SRAM之外,因为SRAM为4k所以这里指向4*1024
*/
ldr sp, = 4*1024 @查看SRAM
bl main @这里调用的是C语言
halt:
b halt
--