荔枝派Zero(全志V3S)驱动开发之串口

简介: 修改设备树打开 uart1 和 uart2,在 buildroot 移植 minicom 用来测试 uart1 和 uart2。

前言


修改设备树打开 uart1 和 uart2,在 buildroot 移植 minicom 用来测试 uart1 和 uart2。


一、修改及编译设备树


1、修改设备树文件


①、查看 V3S 原理图,查看 uart1 和 uart2 对应的引脚

PE21 -> UART1_TX

PE22 -> UART_RX

PB0 -> UART2_TX

PB1 -> UART2_RX

②、修改 sun8i-v3s.dtsi

在 linux 目录下

find ./ -name sun8i-v3s.dtsi
vi ./arch/arm/boot/dts/sun8i-v3s.dtsi

在 sun8i-v3s.dtsi 中添加

   uart1_pins_a: uart1@0 {
                pins = "PE21", "PE22";
                function = "uart1";
                bias-pull-up; 
            };
            uart2_pins_a: uart2@0 {
                pins = "PB0", "PB1";
                function = "uart2";
                bias-pull-up; 
            };

③、修改 sun8i-v3s-licheepi-zero-dock.dts

在 linux 目录下

find ./ -name sun8i-v3s-licheepi-zero-dock.dts
vi ./arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dts

在 sun8i-v3s-licheepi-zero-dock.dts 中添加

&uart1 {
    pinctrl-0 = <&uart1_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};
&uart2 {
    pinctrl-0 = <&uart2_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};


2、编译 kernel


make -j16
make  -j16 modules #编译模块
make -j16 modules_install INSTALL_MOD_PATH=out #安装模块
make dtbs #编译设备树


二、移植 minicom



1、配置buildroot


在 buildroot 下执行

make mencuconfig

Target packages -> Hardware handling,将 minicom 选上

保存并退出


2、编译 buildroot


make


三、拷贝到 SD 卡


1、把 zImage, sun8i-v3s-licheepi-zero-dock.dtb 拷贝到 SD 卡的 kernel 分区

在linux根目录下

find ./ -name zImage
cp ./arch/arm/boot/zImage /media/Gnep/KERNEL/
find ./ -name  sun8i-v3s-licheepi-zero-dock.dtb
cp ./arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb /media/Gnep/KERNEL/

2、把 buildroot-2017.08 产生的 rootfs.tar 解压到 SD 卡的 rootfs 分区根目录

在 buildroot-2017.08 根目录下

find ./ -name rootfs.tar
sudo tar xf ./output/images/rootfs.tar -C /media/Gnep/rootfs/


四、测试验证



1、确认 minicom 是否正常


将 SD 卡插到板子上,上电跑到 linux 系统下,确认 minicom 工作是否正常

minicom -v

可以看出,此时 minicom 版本号为 2.7.1,minicom 版本号查看正常。输入如下命令打开 minicom 配置界面:

minicom -s

mincom 工作也是正常的


2、确认串口


<1>、硬件连接

找一个 ch340 串口模块接到开发板的串口 1 上。

图中左侧为串口0,方便调试打印使用,右侧为串口1,我们要测试的就是这个

<2>、minicom 设置

1、在开发板中输入“minicom -s”,打开 minicom 配置界面,然后选中“Serial port setup”,如图

2、选中“Serial port setup”以后点击回车,进入设置菜单,如图

主要看前 7 个设置项目,分别对应 A、B……G,比如第一个是选中串口,UART1 的串口文件为 /dev/ttyS1

设置的方法是选择对应的条目,例如 A选项,键盘输入 A ,然后输入 /dev/ttyS1,其他选项也是如此

设置完以后如图:

3、可以通过在修改好之后执行以下这个 Save setup as dfl,然后就保存了,下次运行就是我们设置的

4、都设置完成以后按下回车键确认并退出,按下ESC 键退出图所示的配置界面,退出以后如图:

按下CTRL-A,然后再按下 Z 就可以打开 minicom 帮助信息界面,如图

可以看出,minicom 有很多快捷键,本实验我们打开 minicom 的回显功能,回显功能配置项为“local Echo on/off…E”,按下 E 即可打开/关闭回显功能。


3、发送测试


首先测试开发板通过 UART1 向电脑发送数据的功能,需要打开 minicom 的回显功能(不打开也可以,但是在 minicom 中看不到自己输入的内容),回显功能打开以后输入“This is a test!”,如图

图中的 “This is a test!” 相当于开发板通过 UART1 向电脑发送 “This is a test!”,那么 PC就会接收到 “This is a test!”, PC 收到的数据如图所示:

可以看出,开发板通过 UART1 向电脑发送数据正常


4、接收测试


接下来测试开发板的 UART1 接收功能,在 PC 上(com4)输入 “I‘m com4”,这里没有回显

在开发板上(com3)会出现

大功告成了!

目录
相关文章
荔枝派Zero(全志V3S)运行Qt5程序
本文重新配置 buildroot,利用 buildroot 重新交叉编译 Qt,编译完成后将编译产生的可执行文件拷贝到 SD 卡,板子上电后跑到文件系统下再手动运行。
211 0
|
传感器 编解码 JSON
开源项目-基于小熊派STM32红外热成像仪
开源项目-基于小熊派STM32红外热成像仪
246 1
|
Ubuntu Linux
荔枝派Zero(全志V3S)驱动开发之USB摄像头 1
荔枝派Zero(全志V3S)驱动开发之USB摄像头
180 0
|
Linux Windows
荔枝派Zero(全志V3S)驱动开发之USB摄像头 2
荔枝派Zero(全志V3S)驱动开发之USB摄像头
180 0
|
存储 Ubuntu Linux
荔枝派Zero(全志V3S)驱动开发之hello驱动程序
字符设备驱动是占用篇幅最大的一类驱动,因为字符设备最多,从最简单的点灯到 I2C、SPI、音频等都属于字符设备驱动的类型。
220 1
|
传感器 移动开发 缓存
基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩
基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩
174 0
|
传感器 网络协议 物联网
基于小熊派WIFI-ESP8266实践(上)
基于小熊派WIFI-ESP8266实践(上)
412 0
|
Linux C语言 芯片
韦东山Linux驱动入门实验班(4)LED驱动
韦东山Linux驱动入门实验班(4)LED驱动
273 0
|
Shell 芯片
荔枝派Zero(全志V3S)驱动开发之RGB LED灯
查看 V3S 原理图,查看 RGB LED对应的引脚 PG0 -> green LED PG1 -> blue LED PG2 -> red LED
423 0
|
编译器 Linux Python
荔枝派Zero(全志V3S)编译Uboot及配置
本文讲述了如何编译uboot并进行配置,对编译过程中遇到的问题进行解决,此外还对uboot的结构进行了简介
592 0