一步步开始一个简单裸机编程
来源:互联网 发布: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文件如下
- 一步步开始一个简单裸机编程
- 一步步实现WebServer中间件——从一个最简单的WebServer开始
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 第一站,旅行的开始——裸机编程框架
- ruby on rails 一步步开始(2)分页和简单查询
- 一个简单的开始
- 一个简单的开始
- ARM裸机重新开始
- TQ210的裸机编程(一)点亮一个LED灯
- 只是简单做一个开始
- Mysql
- HDOJ 1010 Tempter of the Bone(dfs)
- Google神秘Fuchsia OS的开源线索
- Linux开机启动过程分析
- display:inline、block、inline-block的区别
- 一步步开始一个简单裸机编程
- CSS例子总结
- Git 常用命令菜单
- 线段树改线求点
- castor
- Fedora24!到此一游
- 设计模式学习笔记——命令(Command)模式
- 微信开发总结
- Form的onsubmit