开发环境:
系统:ubuntu 10.04.4
单板:ok6410
编译器:arm-linux-gcc-4.3.2
搭建开发环境详见ubuntu 10.04.4开发环境配置。
目标:实现ok6410单板上4个led灯闪烁
第一个程序很简单,用汇编实现。硬件如下:
NLED1——>GPM0
NLED2——>GPM1
NLED3——>GPM2
NLED4——>GPM3
根据s3c6410手册编写代码,包括2个文件start.S和Makefile.
文件start.S:
.globl _start
_start:
/* 硬件相关的设置 */
/* Peri port setup */
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15,0,r0,c15,c2,4 @ 256M(0x70000000-0x7fffffff)
/* 关看门狗 */
/* 往WTCON(0x7E004000)写0 */
ldr r0, =0x7E004000
mov r1, #0
str r1, [r0]
/* 设置GPMCON让GPM0/1/2/3作为输出引脚 */
ldr r1, =0x7F008820
ldr r0, =0x1111
str r0, [r1]
/* 设置GPMDAT让GPM3输出0 */
ldr r1, =0x7F008824
mov r0, #0
loop: mov r0,#0x0
str r0,[r1]
bl delay
mov r0,#0x0f