pcDuino3使能多串口

pcDuino3标准的接口中只提供了UART0和UART2,UART0作为默认系统debug口使用,UART2定义在J11.1 J11.2中

而全志的A20中实际可以提供最多8个串口,在pcDuino3中引出的接口必然有可复用串口的IO引出。

pcDuino3接口:

pcDuino3使能多串口_第1张图片
pcDuinoV3_Interface_Diagram2.jpg

在J11, J8种引出了多个IO,猜测某些IO可能具有复用功能,打开原理图,定位J8


pcDuino3使能多串口_第2张图片
duino J8.jpg

在CPU相应位置的IO

pcDuino3使能多串口_第3张图片
pcduinoJ8_CPU.jpg

看到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 .fex script.bin
  • 修改pcduino3的fex文件,其基本语法为, 详情:
    port:
  • 查看A20的IO映射表,详情:
    pcDuino3使能多串口_第4张图片
    a20_gpioi.jpg

    可以看到UART2,UART5,UART6都是PIx的MUX3上复用
  • 修改.fex文件,把SPI0的spi_used修改为0,或者删除一切占用这几个IO的其他设备


    pcDuino3使能多串口_第5张图片
    uart2.jpg

    pcDuino3使能多串口_第6张图片
    uart56_fex.jpg

    pcDuino3使能多串口_第7张图片
    gpio_fex.jpg
  • 修改好后保存,编译
  • 编译后插入SD卡,挂载/mmcblk0p1分区,剪切原有script.bin到备份目录,拷贝新生成的script文件
  • 启动系统
  • 查看串口初始化:
    sudo dmesg | grep uart


    pcDuino3使能多串口_第8张图片
    result.jpg
  • 设置串口波特率
    stty ispeed 115200 ospeed 115200 -F /dev/ttyS2
  • 连接串口:


    pcDuino3使能多串口_第9张图片
    iomap.jpg
  • 配合上位机串口助手,通过
    cat test.txt > /dev/ttyS2
    cat < /dev/ttyS2
    测试串口。

你可能感兴趣的:(pcDuino3使能多串口)