ABB IMDSM04
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【厦门莫格电气自动化有限公司】
【Xiamen Mogget Electric Automation Co.,Ltd】
【当天顺丰发货,欢迎上门验货,不要犹豫,不要徘徊,错失良机,后悔晚矣】
【来电咨询:雷(女士)】
【销售热线请点上面↑↑↑↑↑↑↑↑↑↑】
【传真:0592-6514751 (请备注:雷琳收)】
【邮箱:1982497648@qq.com 】
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
IMDSM04
IMDSM04
IMDSM04
1). 简介
嵌入式设备往往会通过 GPIO 连接外设,从而实现通信、状态监测、控制等功能,用户需要操作特定的 GPIO。在 Linux 系统中,用户应用一般无法直接访问 SoC 的 GPIO 寄存器,而使用特定的引脚编号,然而不同ARM模块平台供应商的管脚定义和对应的GPIO编号有需要一个对应转换关系,使得整个GPIO调用比较复杂,本文就演示通过libsoc来简化这个操作,使用户在程序中可以直接使用ARM模块的管脚号码来调用对应的GPIO。
本文所演示的平台来自于Toradex Colibri iMX6 ARM嵌入式平台,这是一个基于NXP iMX6ARM处理器,支持单核/双核Cortex-A9。
2. 准备
a). ColibriiMX6 ARM核心版配合ColibriEvaluation Board,连接默认调试串口UART1到开发主机方便调试。
b). 在未使用libsoc之前,例如 要调用Colibri iMX6 模块金手指上的SODIMM55 引脚作为GPIO,其实际连接 iMX6 SoC 的 GPIO1_IO07,在 Linux 系统中的序号为 gpio7。用户需要对照 Colibri iMX6 datasheet 和 GPIO 编号了解其对应关系,比较复杂,为了便于用户使用 GPIO,Toradex Linux BSP 自 v2.8b3 起添加了 libsoc 支持,用户可以直接用模块金手指编号操作对应的 GPIO,免去查找对应关系,下面就分别对应于BSP v2.8b3以及之前的BSP对如何使用libsoc进行说明。
3). V2.8b3 及后续BSP
a). 自该版本开始,BSP 中已经包含了 libsoc 的库文件。用户只需要添加 nf 配置文件以及为 SDK 增加编译应用所需的头文件等即可。SDK 安装方法请参考这里。
b). SDK增加libsoc支持
./ 下载并编译 libsoc 源码
---------------------------
$ gitclone https:///jackmitch/libsoc.git
$ cdlibsoc
$./home/ben/Toradex/DISK/LinuxSDK/v2.7-gcc6/SDK-GCC6/Colibri_iMX6/environment-setup-armv7at2hf-neon-angstrom-linux-gnueabi
$autoreconf -i
$./configure--host=arm-angstrom-linux-gnueabi --prefix=/home/ben/Toradex/DISK/LinuxSDK/v2.8/imx6/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/--enable-board=colibri-imx6 --with-board-configs
---------------------------
// --prefix 指向 SDK 中 rootfs 目录,根据实际使用的开发板设置 --enable-board
---------------------------
$MACHINE=colibri-imx6 make -j3
$ make install
---------------------------
// MACHINE 也需要设置为对应的计算机模块,这里使用 colibri iMX6。
c). 下载并编译 libsoc 演示代码
---------------------------
$ git clonehttps:///bhuvanchandra/libsoc-examples.git
$ cd libsoc-examples
$ cd io-ctrl
$MACHINE=colibri-imx6 make
---------------------------
//注意:在执行 make 开始编译前,从这里下载Makefie 文件替换io-ctrl 目录下的同名文件。
// 代码 io.c 中直接使用 SODIMM_55 和 SODIMM_63 编号,SODIMM_55 设置为 GPIO 连接 LED,控制其亮灭,SODIMM_63 为输入引脚,连接轻触开关,检测按键情况。