OK1126B-S开发板是飞凌嵌入式厂家推出的一款开发板,它配有丰富的外设资源,可使学习与开发者能够快速进入角色,其外观如图1所示。

OK1126B-S开发板由核心板和功能板所构成,其核心板是基于Rockchip的RV1126B处理器,它集成了4个高性能Cortex-A53,具备3TOPS @INT8的AI算力,其外设的功能分布见图2所示。

图2 功能发布
面对这样一款开发板该如何入手进行学习和使用呢?
其突破口可选取GPIO,因此它简单易上手,且可以扩展出许多实际的应用。
那该如何开始呢?
在开发板上就配置了供测试用的LED灯,通过简单的指令即可对其加以控制。
1)LED测试
在OK1126B-S的核心板上有一个蓝色LED灯,当板卡上电时该指示灯就开始闪烁。
对该LED灯的测试方法如下:
(1)点亮LED灯测试
root@OK1126B-buildroot:/sys/class/leds/work# echo 1 > brightness //点亮
(2)熄灭LED灯测试
root@OK1126B-buildroot:/sys/class/leds/work# echo 0 > brightness //熄灭
(3)改为心跳灯
root@OK1126B-buildroot:/sys/class/leds/work# echo heartbeat > trigger
注:操作中root@OK1126B-buildroot:/sys/class/leds/work# echo gpio > trigger 的操作是无效的

图3 指令控制

图4 控制效果
2)GPIO资源及使用
单就这个蓝色指示灯的控制来讲,除了进行指令测试,其实它并没有太多的应用价值。弄清开发板所提供的GPIO资源,并掌握其使用才是问题的关键。
由图可知,开发板共2排扩展接口,其中一排是供LCD显示屏来使用,另一排才是供其它扩展使用的,见图5所示。由此可知,除规定用途外的引脚,才可直接进行使用,否则需要对设备树加以修改才可使用。

图5 通用扩展接口
除此之外,还可以通过指令来弄清GPIO资源及使用情况。
(1)查看GPIO占用状态
该查询所使用的指令为:“cat /sys/kernel/debug/gpio”

图6 操作及结果
(2)查看所有引脚的pinmux功能
该查询所使用的指令为:“cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins”















图7 操作及结果
(3)引脚名称与引脚编号的转换关系
GPIO的全称General-Purpose Input/Output,即通用输入输出。其命名规则为GPIOn_xy 其中x的表现形式有ABCD四种。而在实际使用中,则是以引脚编号的形式,为此需要弄清其间的变换关系。
在GPIO计算编号的过程中,A对应1,B对应2,C对应3,D对应4。
具体的计算公式为:

以GPIO3_B0为例,其GPIO编号为:

(4)GPIO性能测试
如何你不清楚所选取的引脚是否具有GPIO性能,是可以进行测试的,其操作如同8所示。由结果可知,它只能进行置“1”,而不能置“0”,说明它不是一个真正的GPIO引脚,而是被赋予了其它功能。

图8 操作及结果
(5)GPIO使用
所用引脚若为GPIO引脚,则其操作结果如图9所示。

图9操作及结果
在该引脚连接外部LED模块的情况下,则可见到图10和图11的变换效果。

图10 熄灭状态

图11 点亮状态
在掌握了GPIO使用的情况下,即使没有I2C或SPI接口也没有问题,凭软件模拟也完全可以将他们搞定。
我要赚赏金
