①led1的点亮(汇编语言进行编写)
(1)led是上拉方式,led对应着s3c2440的三个管脚(GPF4,GPF5,GPF6)
(2)这里要使用到的寄存器有GPFCON和GPFDAT,通过读写寄存器的地址来访问寄存器
GPFCON:可以进行设置引脚的输入输出以及中断等功能
GPFDAT:改变相应位可以改变引脚电平状态
(3)JZ2440数据手册
led.S
.text @代码段
.global _start @全局函数
_start:
ldr r0,0x56000050
mov r1,#0x00000100
str r1,[r0]
ldr r0,0x56000054
mov r1,#0x00000000
str r1,[r0]
halt_loop:
b halt_loop
Makefile:
led.bin: led.S
arm-linux-gcc -g -c -o led.o led.S //编译不链接
arm-linux-ld -Ttext 0x00000000 -g led.o led_elf //链接(指定运行地址)
arm-linux-objcopy -O binary -S led_elf led.bin
clean:
rm -f led_elf led.bin *.o
(5)我们进行make后,就生成了led.bin文件,然后烧录到开发板中,切换nand启动,nand前4k的代码就被复制到SRAM中开始执行,这样就可以看到现象了,如果没有现象的话,再进行分析,查找原因