本章介绍 iTOP-4418 和 iTOP-6818 的除去默认 4 个串口的配置和用法。4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet。 6818 的开发板最多支持 6 路串口,如下图所示,6818 的 datasheet。 根据核心板原理图,如下图所示,第五路和第六路(6818)的串口如下图所示。 如上图所示,串口用到的管脚为 GPIOB28、GPIOB29、GPIOB30 和 GPIOB31。根据网络标号,可以查询串口默认被配置为其它功能,按键和触摸中断等等功能,如果要使用串口, 又要使用对应的硬件,则需要对驱动源码做对应的修改,用于自己做底板。关于原理图上,管脚复用部分就不做过多介绍,作者主要介绍,软件配置部分。
| | file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml8308\wps31.png | 另外还可以看到串口 2(uart1)的串口管脚为 GPIOD15 和 GPIOD19,如下图所示。
要配置串口,首先要实现 io 管脚的配置,具体可以参考“iTOP-4418 和 6818-驱动-IO 初始化配置介绍和例程_V1.X”文档。 这里以 4418 为例,如下图所示,打开配置文件 “arch/arm/plat- s5p4418/topeet/include/cfg_gpio.h”,搜索“GPIOD15”和“GPIOD19”可知 tx 和 rx 的配置如下: GPIOD19 tx #define (PAD_MODE_ALT | PAD_FUNC_ALT1 | PAD_LEVEL_LOW | PAD_PULL_OFF PAD_GPIOD19
GPIOD15 rx
#define (PAD_MODE_IN | PAD_FUNC_ALT0 | PAD_LEVEL_LOW | PAD_PULL_OFF | PAD_GPIOD15
可以根据 GPIOD19 和 GPIOD15 的配置来修改 GPIOB28、GPIOB29、GPIOB30 和 GPIOB31 的配置,依葫芦画瓢即可。 接着需要确认平台文件是否有注册第五路串口的代码,打开 4418 的平台文件“arch/arm/mach-s5p4418/devices.c”,关于串口的配置,如下图所示。对应的宏定义为“CONFIG_SERIAL_NXP_UART4”,表明内核驱动已经支持了,关于驱动部分只需要配置menuconfig 即可。 打开 menuconfig,如下图所示,搜索“CONFIG_SERIAL_NXP_UART4”宏,这个宏定义没有配置,如果需要串口,这个选项要选中。 要使用更多串口,需要做以下三点: 1.在硬件设计上做修改; 2.做 io 的配置; 3.做串口 menuconfig 的配置。 然后第五路串口就可以使用了。6818 的第六路串口增加也是类似。 |