微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 在OK6410上点亮指路明灯(LED)

在OK6410上点亮指路明灯(LED)

时间:11-21 来源:互联网 点击:
说实话,对于专业人事,这可能是十分简单的东西,但是还是记录一下,免得回头又忘了,毕竟看视频还是挺麻烦的。


这是开发板底板的原理图,所以只要把对应的管脚变成低电平就可以了

所以这就是最简单的GPIO,其实我觉得这里面的这个和K60里的那个十分相似,GPIO既有IO输入输出功能,也有外部中断功能,甚至更多。(毕竟cortexM系列的只适用于工控)

所以附上GPIO的管脚图和寄存器



所以配置GPMCON为对应的功能,数据在DATA里配置



GPMCON和GPMCON的地址都已经告诉我们了,所以只要往这个两个地址里写入对应的配置就可以了

control寄存器要输出功能的设为0001,所以往0x7f8820里写入0x111就可以了,往0x7f008824写入0x5就可以了(两盏灯建个亮,另外两盏不亮)

说明这一部分的汇编语言还是蛮重要的=3=!

贴上汇编代码,为什么是汇编呢?而不是C语言?因为我还没有学搭建C语言的环境,只能先用汇编

#define GPMCON 0x7f008820

#define GPMDAT 0x7f008824

light_led:

ldr r0, =GPMCON

ldr r1, =0x1111

str r1, [r0]

ldr r0, =GPMDAT

ldr r1, =0x5

str r1, [r0]

mov pc, lr

但是这样下载到开发板里面不能使LED亮,因为没有对外设基地址初始化,对,下面的仅仅是对LED的外设基地址初始化

set_peri_port:

ldr r0, =0x70000000

orr r0,r0,#0x13

mcr p15,0,r0,c15,c2,4

mov pc, lr

这样把start.S文件和脚本和makefile放在一个文件夹里面,在Linux里面用GCC编译链接生成.bin文件,通过USB用dnw下载到nand flash里面(其实不管用什么,只要把.bin文件下载到芯片的nand flash里面就可以了),在设置开发板从nand flash启动,重启就可以看见LED亮了

还是虚拟机配Linux系统好用,不用去想办法解决各种Windows的不兼容

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top