BBB学习(九):BBB引脚功能互查表的用法

一、前言

前节介绍了BBB普通IO口的操作,同时也完成了程序对IO口输入状态的检测。实际上,BBB众多端口都是可以配置的,比如有的端口可以是普通IO口,同时它也可以是I2C接口。因此我们需要知道当前IO口是什么配置,同时如果需要配置我们要怎么配制才行,这就要用到BBB引脚功能互查表了。例如:

https://elinux.org/Beagleboard:Cape_Expansion_Headers

BBB扩展端口中可以作为数字IO口的有以下端口:

image

而如果用到EMMC或HDMI则是以下端口:

image

二、查看BBB相关端口配置

BBB端口状态:/sys/kernel/debug/pinctrl/44e10800.pinmux/pins

可以将上述路径设置成环境变量$PINS,方法是:在/etc/profile文件最后添加一行 export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins。重启或执行命令source /etc/profile 生效,可以通过echo $PINS cat $PINS查看引脚状态

image

三、对照BBB端口功能表

https://github.com/derekmolloy/boneDeviceTree/tree/master/docs

该链接是BBB端口功能的对照表路径。如下图红框内是主要的配置说明:

image

引脚的配置用一个字节(即8个bit来表示),每一个位控制一个功能,如下图所示:

image

在PINS中可以看到相关引脚的配置,拿第一个为例:

image

pin0的地址为:0x44e10800,配置值为0x31,转化为二进制为:0011 0001,填入表格中对照如下:

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
slew ControlReceive ActivePullup/pulldownenable Pullup/downMux modemux modemux mode
0001(pull up)1(enable)001

其中0x31中的3开启了引脚上拉功能,mux mode为001,可以知道该引脚的功能mode为1,此时查询引脚定义,根据其引脚地址,可引脚功能表中找到0x44e10800

image

由此可见,该引脚为P8_25,其引脚工作模式mode为1:

image
image
查表可知,mode1为:mmc1_dat0, 因此可判断该引脚默认是用来与eMMC通讯的。

四、总结

本节介绍了BBB引脚功能表用法,可以通过BBB相关pin相关文件判断当前引脚处于什么样的功能。对后面学习device tree时配置引脚状态也有一定的帮助。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值