nanopi-k2调试串口改普通串口以及扩展串口ttyS2

前段时间入手了一块友善出品的nanopi-k2开发板,在qt下识别出串口名为ttyS*,ttyS0是debug Uart,且误以为ttyS1是扩展串口,苦苦折腾没有反应。后来才知道ttyS1被蓝牙占用,扩展的那一路没有配置出来。

作为新手,甚是苦恼。由于项目紧,临时考虑了一种放法,就是debug uart改成普通串口使用,参考网上的方法重新编译内核,并没有取得成功。后来发现只需要干掉内核启动时的引导参数就可以了,因为它的内核默认是需要uboot传递参数的。

通过USB转串口工具连接debuguart,开机启动Enter进入BootLoader下,

输入print查看内核启动参数,找到下面这句话


setenv consoleargs将这个参数置空

saveenv 保存修改

reset 重启系统,可以看到系统启动这一步就不再打印了,至此调试串口改普通串口ok了。

若需恢复调试串口,重复上面的操作加上那句就可以了。

———————————————————分割线————————————————————

Amlogic S905的debug uart没有DMA,用debug uart来通信不是长久之计,这几天有空了就继续折腾下,如何把扩展串口加载出来?

这里参考了博客 https://blog.csdn.net/abcamus/article/details/58689023

下载内核源代码:

git clone https://github.com/friendlyarm/linux.git

cd linux

git checkout nanopi-k2-3.14.y

 打开arch/arm64/boot/dts/amlogic/gxbb_skt.dts

第21行处,和第719行处,找到对uart_C的配置信息


在arch/arm64/boot/dts/amlogic/nanopi-k2.dts中仿造上面增加对uart_C的配置

第24行处增加serial2 = &uart_C;

第660行处,uart_A:的下面添加如下,红色箭头处需要改为okay。

然后保存退出。

编译内核

touch .scmversion

make ARCH=arm64 nanopi-k2_ubuntu_defconfig

make –j4 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-Image nanopi-k2.dtb

编译成功结束后,即会生成新的 arch/arm64/boot/dts/amlogic/nanopi-k2.dtb arch/arm64/boot/Image ,用于替换掉SDboot分区下对应的文件。

然后重启,ttyS2出来了。


亲测OK,大功告成,今晚吃鸡。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页