嵌入式Linux学习记录(4)——点亮LED

2019-07-13 03:07发布

class="markdown_views prism-dracula"> 点亮LED

步骤:

a.看电路原理图,确定控制LED的引脚
b.看主芯片手册,确定如何设置、控制引脚
c.写程序、编译、烧写
1.看原理图:
n_LED1、3.3V称为net,同名net表示连接在一起,n表示低电平有效、灯亮
2.看主芯片手册:
怎么让GPF4输出I/O:
a.配置为输出引脚:设置GPFCON[9:8] = 0b01,GPF4配置为输出
b.设置状态:设置GPFDAT[4] = 0/1,1表示输出高电平LED灭,0表示输出低电平LED亮

3.写程序:

1.把0x100写入GPFCON,即写到地址0x56000050上
2.LED灭:把0x10写到地址0x56000054上
3.LED亮:把0写到地址0x56000054上 几条汇编指令: 1.LDR R0,[R1] 读取R1地址上的数据,赋给R0 2.STR R0,[R1] 把R0的值,写到R1地址上 3.B: 跳转 4.MOV R0,R1 把R1的值赋给R0 5.LDR R0,=0x12345678 伪指令,传送大数值
4.编译程序:
本地写好程序,上传到Ubuntu系统,使用arm-linux-gcc编译 arm-linux-gcc -c -o ledon.o ledon.S arm-linux-ld -Ttext 0 ledon.o -o ledon.elf arm-linux-objcopy -O binary -S ledon.elf ledon.bin 为了方便操作,编写Makefile文件,格式如下 文件名:Makefile all: arm-linux-gcc -c -o ledon.o ledon.S arm-linux-ld -Ttext 0 ledon.o -o ledon.elf arm-linux-objcopy -O binary -S ledon.elf ledon.bin clean: rm *.bin *.o *.elf 编译文件使用命令:make 清除生成文件命令:make clean
5.烧写程序:
把编译生成的bin文件,发送到PC机,使用oflash烧写程序到NAND-FLASH