这次改变一下笔记的结构,直接上图。点亮LED永远是学习MCU,ARM,FPGA的入门例程,可以说是经典例程。这里笔者也从点亮LED开始开始ARM学习之旅。
接下来就开始点亮LED之旅,在开始之前需要向读者说明:本文作者也是一个ARM初学者,学习过程中也是在网上查找各种资料,最后总结于此。可以确定实验的过程中有好多地方笔者自己也是没有搞明白的,所以请读者原谅不能写的太透彻。
第一步:要点亮LED,首先需要了解GPIO的硬件位置,这样才能去操作相应的IO口,实现点灯目的
1、连接好bb-black之后,等待系统启动之后在PC机的浏览器里面输入192.168.7.2就可以访问开发板的服务器了,在这里可以找到许多的硬件资料,同样也可以学习另外一种JS编程,总之,这里有好多对初学者有用的资料。
2、如下图,为开发板扩展口的GPIO分布。在本次实验中,笔者像其他初学者一样选择GPIO_44这个引脚作为本次实验的目标引脚。可以发现GPIO_44对应P8的12引脚,同时将P8的2脚作为接地引脚。
3、笔者喜欢从零开始搭建开发平台,手头也没有现成的LED灯模块,只好用面包板搭建一个简单的电路来实现了。如下图所示为LED灯的电路图,只需要一颗330的电阻和一颗红色发光二极管即可。
4、了解原理图之后,接下来开始在面包板上连线。如下图所示连接好电路图。完成这一步就可以操作LED了。
第二步:在终端上通过shell命令点亮LED
1、首先进入gpio,通过cd /sys/class/gpio/,如下图所示操作先添加gpio44.
2、进入gpio44目录,向direction写入out,然后向value写入1,这样就可以点亮LED灯了。先不管为什么,点亮LED后再去研究原理。
3、反复向value写入0和1就可以点亮和熄灭LED灯。
第三步:冷静下来了解一下shell命令
1、shell是什么?
(1)接口:shell是一种具备特殊功能的可执行程序,它是介于使用者和 UNIX/linux 操作系统内核间的一个接口。
(2)解释器:shell是一个命令解释器,它从输入设备读取命令,再将其转为计算机可以了解的指令,然后执行它。
(3)编程环境:在Linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。
2、shell怎么用?
(1)Linux系统中提供了好几种不同的shell,如ash,bash等,但是通常用bash(bourne again shell)进行shell编程。
(2)可以使用任意一种文本编辑器编写shell脚本程序
注:什么是shell脚本程序?
shell脚本程序就是按照一定的语法结构把若干linux命令组织在一起,使这些命令按照我们的要求完成一定功能。它可以进行类似程序的编写,并且不需要编译就能执行。
3、echo和cat
简单地说,本实验的echo就是向文件写入数据,cat就是显示文件数据。
总结:本实验通过Linux提供的GPIO接口,利用shell命令来操作GPIO44从而实现LED灯的亮灭。下一篇笔记笔者会通过shell脚本实现LED灯的闪烁,这样才更有意思。