第一个程序测试(三)
2016-05-02 20:32
176 查看
第一个程序就low一下点亮一下LED为了测试开发环境准确无误。
先看一下原理图:
我们看到开发板有3个灯,nLED_1 为低电平的时候亮。
对应的分别为GPF4 GPF5 GPF6
GPIO的控制方法在芯片的手册的I/O port这章。
设置这两个寄存器就可以了
PORT CONFIGURATION REGISTER
配置寄存器 GPxCON
PORT DATA REGISTER 端口寄存器 GPxDAT
所以
我们基地址为0x56000050的 32位配置寄存器 中的9:8位设置为01
然后把基地址为0x560000054的 16位数据寄存器 中的第4位 设置为1
├── asm_led
│ ├── led_on.S
│ ├── led.txt
│ └── Makefile
代码:
@led_on.S
.text
.global _start
_start:
LDR R0,=0x56000050
MOV R1,#0x00000100
STR R1,[R0]
LDR R0,=0x56000054
MOV R1,#0x00000000
STR R1,[R0]
LOOP:
B LOOP
Makefile:
led_on.bin : led_on.S
arm-linux-gcc led_on.S -o led_on.o -c
arm-linux-ld -Ttext 0x00000000 led_on.o -o led_on.elf
arm-linux-objcopy -O binary -S led_on.elf led_on.bin
clean:
rm *.bin *.elf *.o
先看一下原理图:
我们看到开发板有3个灯,nLED_1 为低电平的时候亮。
对应的分别为GPF4 GPF5 GPF6
GPIO的控制方法在芯片的手册的I/O port这章。
设置这两个寄存器就可以了
PORT CONFIGURATION REGISTER
配置寄存器 GPxCON
PORT DATA REGISTER 端口寄存器 GPxDAT
所以
我们基地址为0x56000050的 32位配置寄存器 中的9:8位设置为01
然后把基地址为0x560000054的 16位数据寄存器 中的第4位 设置为1
├── asm_led
│ ├── led_on.S
│ ├── led.txt
│ └── Makefile
代码:
@led_on.S
.text
.global _start
_start:
LDR R0,=0x56000050
MOV R1,#0x00000100
STR R1,[R0]
LDR R0,=0x56000054
MOV R1,#0x00000000
STR R1,[R0]
LOOP:
B LOOP
Makefile:
led_on.bin : led_on.S
arm-linux-gcc led_on.S -o led_on.o -c
arm-linux-ld -Ttext 0x00000000 led_on.o -o led_on.elf
arm-linux-objcopy -O binary -S led_on.elf led_on.bin
clean:
rm *.bin *.elf *.o
相关文章推荐
- Properties集合的使用
- Unix环境高级编程——守护进程记录总结(从基础到实现)
- Netty Client重连实现
- android 断点下载---XUtils
- eclipse中Ctrl+Shift+F 无法格式化代码
- Hibernate 通过Session操作数据库
- 狸猫的面试——项目描述——矢量裁剪
- Android判断网路是否畅通加权限
- HDU 2028 Lowest Common Multiple Plus(LCM)
- 第八周总结
- Android_按两次返回键退出程序和长按返回键退出程序
- JAVA - Redis的连接
- 华硕fl5600l重装系统
- [COGS1487]麻球繁衍(概率dp)
- lucene学习笔记(一)
- Android的比重(weight)
- 06广东省赛(I)BFS
- 实现一个队列类
- 经典SQL练习题6----student/course/SC
- [APIO2015]Bali Sculptures