观察荔枝派,可以看到它引出了两排GPIO口,通常情况下,我们需要操作寄存器来控制GPIO,但是荔枝派官方(或者是全志官方?)提供的系统中已经带有了GPIO的操作文件,我们可以直接使用。
直接控制:
首先我们将官方提供的Naon_pub_V4镜像下载到TF卡中,这里我选择了480*272的dd版本。
这里的flash提供给SPI FLASH(大小正好是16mbyte,spi flash表示被榨干),tf版本则提供给TF卡,后面的数字参数对应屏幕的分辨率。
将TF卡插入荔枝派,UART0连接电脑,并进入到 sys/class文件目录下。
可以看到,官方提供的一些硬件驱动文件。这里我们进入gpio。
其中export为挂载GPIO的文件,向export中传入1值:
echo 1 > export
文件目录下就出现了gpio1的操作文件,对应的是操作PA1口
使用cat命令查看direction的值,发现是in。
将direction改为out,并向value中输入相应数值,即可操作PA1口的电平。
通过一个32做的小测压器测试了一下(略有误差),输出高/低电平成功。
SHELL脚本
既然有了可操控的文件,那么编写一个SHELL脚本来控制也非常简单和便利。
由于使用的root用户,我直接在root中创立了一个shell脚本(当然也可以在其他目录下创立)。
这里使用的是vi工具,官方系统中自带这个工具。(图中可以省略touch步骤)
进入vi编辑界面,输入I来编辑。
下面是要写入的文本。
这里使用了三个参数,我们使用shell时需要输入这三个参数,分别是要挂载的gpio口,IO方向,输出值。(示例中只考虑了输出,输入需要读取值)
然后esc,通过:wq命令保存文件。
增加可执行权限:
chmod +x gpio1.sh
运行:
./gpio1.sh 1 out 1
PA1口输出高电平,测试成功。