Atlas 200I DK A2套件,我需要从ttyAMA1串口输出数据。
根据pin口复用关系表

找到寄存器偏移0x40和0x44可以用作串口输出。
在配置文件product/hi1910B-pinctrl-M100-B51.dtsi中可以看到:

0x40和0x44原来的复用函数值为3,我将其改成0
重新编译生成dt.img,并在设备上升级重启后,该串口无法正常输出。
表现的现象为:输出到一定的量就阻塞住了,接收端收不到任何信息;把发送端进程kill掉,接收端会收到一部分信息。
过程中已经设置关闭了软硬件流控
简单的验证方法就是:
echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" > /dev/ttyAMA1
这样输出一个较长的信息到串口,进程就卡死了,接收端也收不到信息
Ctrl-C后,接收端可以收到一部分数据
Atlas 200I DK A2套件,我需要从ttyAMA1串口输出数据。
根据pin口复用关系表
找到寄存器偏移0x40和0x44可以用作串口输出。
在配置文件product/hi1910B-pinctrl-M100-B51.dtsi中可以看到:

0x40和0x44原来的复用函数值为3,我将其改成0
重新编译生成dt.img,并在设备上升级重启后,该串口无法正常输出。
表现的现象为:输出到一定的量就阻塞住了,接收端收不到任何信息;把发送端进程kill掉,接收端会收到一部分信息。
过程中已经设置关闭了软硬件流控
简单的验证方法就是:
echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" > /dev/ttyAMA1
这样输出一个较长的信息到串口,进程就卡死了,接收端也收不到信息
Ctrl-C后,接收端可以收到一部分数据