海思串口为什么有时会出现串口无任何响应的情况?
5 E币
成为会员,免费下载资料
文件大小:13.37 KB
上传者:ak491980
时间:2020-03-02 18:55:47
下载量:10
调试代码时经常出现PC侧的终端程序无法响应键盘输入、也不再打印任何输出信息的情况。造成这种现象有两种原因:
程序或内核挂死
程序还在运行、但串口无响应
要判断究竟是哪种原因,这里介绍两种办法:
首先需要在内核启动后开启telnet,然后待出现挂死现象后,telnet单板,如果不能连上,说明是第一个原因。反之则是第二个原因
第二种方法,则是出现串口无响应现象后,通过仿真器或telnet查看串口内部寄存器。以Hi3531为例,查看串口寄存器0x20080000第11bit,以及0x20080004的第3bit,这两者只要有一个值为1,就表示出现串口溢出错误,导致串口无响应。
针对第二种原因,可以修改串口驱动,出现溢出错误后直接重新初始化串口,从而避免串口无响应。请用以下文件来替换发布包的“~/osdrv/kernel/linux-3.0.y/drivers/tty/serial/amba-pl011.c”,然后重新编译内核即可。
注意,该文件基于linux-3.0.y版本。
程序或内核挂死
程序还在运行、但串口无响应
要判断究竟是哪种原因,这里介绍两种办法:
首先需要在内核启动后开启telnet,然后待出现挂死现象后,telnet单板,如果不能连上,说明是第一个原因。反之则是第二个原因
第二种方法,则是出现串口无响应现象后,通过仿真器或telnet查看串口内部寄存器。以Hi3531为例,查看串口寄存器0x20080000第11bit,以及0x20080004的第3bit,这两者只要有一个值为1,就表示出现串口溢出错误,导致串口无响应。
针对第二种原因,可以修改串口驱动,出现溢出错误后直接重新初始化串口,从而避免串口无响应。请用以下文件来替换发布包的“~/osdrv/kernel/linux-3.0.y/drivers/tty/serial/amba-pl011.c”,然后重新编译内核即可。
注意,该文件基于linux-3.0.y版本。
展开》
折叠》