一步步开始一个简单裸机编程

来源:互联网 发布:usb总线驱动 linux 编辑:程序博客网 时间:2024/06/01 08:20

点亮led的步骤:
1.查看原理图
查看电路中led的电路连接方式这里写图片描述控制gpio就可以控制led的亮灭
2.查看数据手册
因为所有的硬件和软件连接都是通过寄存器来完成的,所以对硬件的操作就是对相应的寄存器进行操作。led的对应gpio分别是GPJ0_3,GPJ0_4,GPJ0_5和pwmtout1
GPJ0的寄存器有
GPJ0CON
GPJ0DAT
GPJ0PUD上拉还是下拉 我们不设置
GPJ0DRV 休眠模式才用
GPJ0CONPDN休眠模式才用
GPJ0PUDPDN休眠模式才用
3.设置寄存器
GPJ0CON用来控制GPJ0八个io口的工作模式,此时led应选择输出模式
这里写图片描述
所以GPJ0CON[3]=GPJ0CON[4]=GPJ0CON[5]=0001
所以 0xE0200240=0x00111000
GPJ0DAT 用来设置八个io端口的电压值
这里写图片描述
所以 GPJ0DAT=8’b11111111表示led都灭
所以 0XE0020244=0X38
4.编写汇编代码
这是led.S汇编文件 若需要编译下载 还需要makefile文件,mkv210_image.c文件(用来制作头校验文件 用于sd卡启动),write2sd文件。
这里写图片描述
所有需要的文件如下
这里写图片描述
make结束后提取led.bin 用usb下载方式下载到地址为0xd0020010
可以看到 3个led灯已经灭了。
若需要用sd卡启动,则使用210.bin
Makefile文件如下
这里写图片描述

0 0
原创粉丝点击