学习BBB板的最终目的是想像单片机一样做控制,但控制思路完全不一样(Linux下控制硬件设备实质就是对相关设备虚拟文件的读写),研究了几天头都大了还是没有进展,网上好多博客文章,也没有个统一的说法,估计都是BBB板的年份不同,以及安装的系统版本不同。最后选择模范,从最基础的单命令控制IO接口开始做。
达到目标:从GPIO端口P8.12和P8.11引脚输出0或1
这节课用到两个命令,cat和echo,具体的使用方法网上很多,最简单的理解:cat 用来查看文件(变量)值,而echo用来写入文件(变量)值。
操作IO口是对/sys/class/gpio这个目录下的文件进行了一系列读写操作实现,因为gpio驱动是默认加载的,所以无需加载device tree(设备树,以后学会了再说)就能实现操作。
简单说明下,/sys 目录中存放着系统内核和驱动相关的内容,它是一个虚拟的文件系统,这个文件系统的目录结构实质上就是内核对象模型树。我们可以对这里的文件进行读写操作来实现对设备的操作。至于每个设备里都有哪些文件,操作哪些文件能产生什么效果,还是由设备驱动程序定义的了。
系统开机后 /sys/class/gpio 目录下就只有默认的几个文件目录,BBB板总共一百多个可用的GPIO端口并没有一个一个罗列出来,Linux下控制IO口就是读写IO文件,所以首先得把相应的GPIO文件找出来,其实就是通过echo命令把需要控制的GPIO端口设置为可用状态,/sys/class/gpio 目录下就可以显示出相关文件了(简单理解就是原来端口控制文件隐身了,通过echo命令把它显示出来)
1、使用P8.12引脚控制LED灯
在/sys/class/gpio 目录下运行 echo 44 > export ,意思是把P8.12设置为可用状态
这个“44”编号是通过《BBB引脚功能速查表》,找到P8.12对应的GPIO.NO就是44
用dir 列出 gpio44目录下的7个文件,其中“direction”是设置端口为输入in或输出out的文件(参数);“value”就是端口值0或1(低电平或高电平),我们直接读写这两个文件就可以了。
使用cat 命令查看当前值,再通过echo 命令修改成需要的值,注意命令使用格式。因为这个简单的实验目的是实现指标灯点亮和灭灯操作,所以“direction”要设置为out ,通过命令catdirection 查看到原来的值为 in ,所以使用命令echo out > direction 设置为 out 。
然后通过改变 value 的值就可以点亮或关闭二极管灯了。
输入:echo 1 >value 灯亮
输入:echo 0 >value 灯灭
过程感觉是很简单的,但理解起来就很难的。只能懂得了字符终端模式下的命令操作,明白其中的控制原理后才能在C编程中运用自如。
2、使用P8.11引脚控制LED灯
在/sys/class/gpio 目录下运行 echo 45 > export ,意思是把P8.11设置为可用状态
这个“45”编号同样是通过《BBB引脚功能速查表》,找到P8.11对应的GPIO.NO就是45
执行这个命令后再查询下当前目录文件,就会出现一个gpio45的目录:
控制过程是一样的,就不再写了。截几个图看下就行了。
3、通过实验我们一定要明白几点:
A.控制BBB板的GPIO端口输出0或1,就是修改/sys/class/gpio目录下相应gpioxxx下的value文件的值
B.改变GPIO端口的输入输出模式就是修改/sys/class/gpio目录下相应gpioxxx下的direction文件的值为in 或 out
C.整个BBB板的硬件设备控制都是通过读写相应的Linux设备虚拟文件来实现的,所以学习BBB板的文件结构系统是非常重要的
D.懂得正确使用《BBB引脚功能速查表》
E.像本实验中操作GPIO端口驱动因为系统是默认加载的,所以不需要再加载device tree设备树就能实现操作,但其他的比如ADC、UART等接口在操作之前就必须先加载相关的device tree设备树。这个device tree设备树的概念我现在也是模糊,以后再讨论。
F.学会灵活使用cat和 echo 命令
from http://blog.csdn.net/luyejie8888/article/details/38172705
1.Ti 处理器
2.Kingston eMMC 4G(相当于FLASH内存),BBB预先安装了linux系统在里面
3.DDR3 512M RAM 镁光Micron D9PXV(也就是一般笔记本的内存条)
4.HDMI Framer NXP
5.Et...
文章目录前言一、下载镜像二、 制作引导盘1.工具2.制作过程二、 安装系统1、启动过程安装前:安装后:进入系统查看IP修改静态IP总结
我都是在windows操作的,用到了SSH工具,
一、下载镜像
通常是在BBB官网下载的镜像https://beagleboard.org/latest-images
不同的板子适用的系统版本不同,请结合自己需要下载。
下载的镜像需要解压,解压后的文件是**.img**格式的
二、 制作引导盘
需要用到软件工具:balenaEtcher,
这个工具有不同的
BBB板第十课:测试PWM
功能
上一节课我们初步学习了BBB板上ADC数据的读取方法,本节课将把学到的PWM的知识贡献给和我一样的初学者。以下这张彩图来自网上,详细标明了14个PWM和四个定时器的引脚位置。本
实验
中,我们只测试其中的P8_13引脚,名称为eHRPWM2B。
需要准备的
实验
工具:
一个
二极管发光管和数字万用表及其他小线材
一、PWM知识(部分知识直接摘自网上)
一、BBB简介
BBB全称为
BeagleBone
Black
,意思是BBB是
BeagleBone
系列版本中的黑色版本,是一款比较火的开源硬件,是一种卡片大小的嵌入式开发板,不论是玩底层开发还是linux开发都是极好的选择。最重要的,他的价格不贵,配置很高。
和树莓派类似,BBB是一种卡片式电脑,与树莓派不同的是,BBB的硬件也是开源的,树莓派的芯片是BCM2837,博通的这款芯片是专
BBB板第四课:
简单
LED
控制
实验
学习BBB板的最终目的是想像单片机一样做
控制
,但
控制
思路完全不一样(Linux下
控制
硬件
设备
实质就是对相关
设备
虚拟文件的读写),研究了几天头都大了还是没有进展,网上好多博客文章,也没有个统一的说法,估计都是BBB板的年份不同,以及安装的系统版本不同。最后选择模范,从最基础的单命令
控制
IO接口开始做。
达到目标:从GPIO端口P8.12和P8.11引脚输出0或
BBB板第三课:Debian7.5系统安装和远程
控制
BBB板
因为BBB板系统是Debian 7.4,据说使用Debian系统可以实现很多BBB板的无缝连接,可以更好的学习和
控制
BBB板,所以就决定下载Debian7.5系统安装,采用虚拟机的安装方式。
一、系统安装
1、我下载了Debian7.5 32位系统,有三张DVD盘,网上有不少安装资料了,我这里就不详细介绍安
今年
实验
室的老师给了我们
一个
新
设备
,
BeagleBone
Black
(BBB)由于logo是一条狗,所以又叫做狗板,第一次使用这种嵌入式的板子,所以又开始了折腾之路。 网上有很多使用BBB板子的教程,这里边就不在赘述,第一次使用可以查看官方网站的相关内容 https://beagleboard.org/
black
通上电之后,使用xshell5通过ssh连接到板子,这时...
如果要外接屏幕显示图形界面,那么需要准备一台带DVI或者HDMI接口的显示器,一条HDMI-D Tye To 标准 HDMI接口或者DVI接口的线,这是根据你显示器的接口来决定的,当然如果你用的是VGA接口的显示器,想通过转接口来实现视频输出,那下面这点要特别注意:
Beaglebone
-
black
的自恢复保险丝RT1的型号为RXEF010。