pcDuino3标准的接口中只提供了UART0和UART2,UART0作为默认系统debug口使用,UART2定义在J11.1 J11.2中
而全志的A20中实际可以提供最多8个串口,在pcDuino3中引出的接口必然有可复用串口的IO引出。
pcDuino3接口:
在J11, J8种引出了多个IO,猜测某些IO可能具有复用功能,打开原理图,定位J8
在CPU相应位置的IO
看到SPI0和UART5,UART6同时复用,只需在系统中关闭SPI0,使能UART5和UART6即可。
- 全志的sunxi_kernel使用script.bin文件定义系统外设,类似mainline kernel的设备数文件
- script.bin是由.fex文件编译而成的
- pcduino3的.fex文件在sunxi_board中定义,编译工具在sunxi_tools中定义
- 编译方法
/home/user/dir/sunxi-tools/fex2bin <your_device>.fex script.bin - 修改pcduino3的fex文件,其基本语法为, 详情:
port:<port><mux feature><pullup/down><drive capability><output level> - 查看A20的IO映射表,详情:
可以看到UART2,UART5,UART6都是PIx的MUX3上复用 -
修改.fex文件,把SPI0的spi_used修改为0,或者删除一切占用这几个IO的其他设备
- 修改好后保存,编译
- 编译后插入SD卡,挂载/mmcblk0p1分区,剪切原有script.bin到备份目录,拷贝新生成的script文件
- 启动系统
-
查看串口初始化:
sudo dmesg | grep uart
- 设置串口波特率
stty ispeed 115200 ospeed 115200 -F /dev/ttyS2 -
连接串口:
- 配合上位机串口助手,通过
cat test.txt > /dev/ttyS2
cat < /dev/ttyS2
测试串口。