linux下使用串口调试设备,Linux串口调试详解

测试平台

宿主机平台:Ubuntu 16.04.6

目标机:iMX6ULL

目标机内核:Linux 4.1.15

目标机添加串口设备

一般嵌入式主板的默认镜像可能只配置了调试串口,并用于 console 控制台打印;

接下来对怎么样通过设备树来添加用户串口进行描述;

前提:

目标机以及正常烧录 uboot、内核、文件系统、dtb等;本文仅更新设备树dtb文件;

设备树文件修改

在内核源码中找到相关板子对应的dtb文件;

位置: arch/arm/boot/dts 目录下

本文使用的板子相关文件有:

imx6ull.dtsi              // 官方通用板层dtsi

mys-imx6ull-14x14-evk.dts       // 基于imx6ull-14x14-evk.dts模板修改

mys-imx6ull-14x14-evk-gpmi-weim.dts  // 用户层dts

添加 uart3和uart4 的支持,修改 mys-imx6ull-14x14-evk.dts 文件如下

pinctrl_uart2: uart2grp {

fsl,pins=

>;

};

pinctrl_uart2dte: uart2dtegrp {

fsl,pins=

>;

};/*增加uart3/4/5的引脚配置*/pinctrl_uart3: uart3grp {

fsl,pins=

>;

};

pinctrl_uart4: uart4grp {

fsl,pins=

>;

};

pinctrl_uart5: uart5grp {

fsl,pins=

>;

};

...../*使能串口*/

&uart1 {

pinctrl-names = "default";

pinctrl-0 = ;

status= "okay";

};&uart2 {

pinctrl-names = "default";

pinctrl-0 = ;/*fsl,uart-has-rtscts;*/

/*for DTE mode, add below change*/

/*fsl,dte-mode;*/

/*pinctrl-0 = ;*/status= "disabled";

};/*增加使用串口,其中使能3、关闭4/5*/

&uart3 {

pinctrl-names = "default";

pinctrl-0 = ;

status= "okay";

};&uart4 {

pinctrl-names = "default";

pinctrl-0 = ;

status= "okay";

};/*这里必须注意一点,由于UART5和I2C2接口的引脚是复用的,I2C2默认是使能的所以必须禁用I2C2,再使能UART5.*/

&uart5 {

pinctrl-names = "default";

pinctrl-0 = ;

status= "disabled";

};

然后重新编译生成 设备树 dtb 文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-distcleancp arch/arm/configs/mys_imx6_defconfig .configmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

生成的 dtb 文件:arch/arm/boot/dts/mys-imx6ull-14x14-evk-gpmi-weim.dtb

设备树文件更新

mys-imx6ull-14x14-evk-gpmi-weim.dtb 替换 /Profiles/Wh Linux Update/OS Firmware/files/ 下面的 dtb文件

然后执行 mfgtool2-linux-mys-6ulx-nand-dtb.vbs

Set wshShell = CreateObject("WScript.shell")

wshShell.run"mfgtool2.exe -c""Wh Linux Update""-l""NAND-dtb""-s""lite=l""-s""6uluboot=14x14evk""-s""nand=nand""-s""6uldtb=14x14-evk""-s""nanddtb=gpmi-weim""-s""part_uboot=0""-s""part_kernel=1""-s""part_dtb=2""-s""part_rootfs=3""-s""ddrsize=256""-s""rootfs_name=core-image-base"""Set wshShell= Nothing

更新成功,设备重启之后,看到添加的串口设备已支持


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部