串口回显问题分析及解决

 问题:
在uClinux底下使用串口来做DTU,在DTU进程没有起来之前串口有回显
分析:
1.查驱动发现串口的硬件自动回显在初始化的时候并没有被打开
2.每次DTU程序在关闭了之后串口还是有自动回显,且在DTU程序中并没有将串口的参数设置为自动回显的功能
3.将串口的内核打印级别设为7同时将串口的调试信息打开,发现如下日志:
.......
Freeing unused kernel memory: 28k freed (0x1f6000 - 0x1fc000)
mcfrs_open ttyS0, count = 0
starting up ttyS0 (irq 73)...
mcfrs_open ttyS0 successful...
BINFMT_FLAT: Loading file: /etc/config/fw.sh
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
mcfrs_open ttyS0, count = 1
mcfrs_open ttyS0 successful...
mcfrs_close ttyS0, count = 2
注意到红色的部分发现串口在某个地方被打开了,且肯定是在应用层被打开,并且在调用脚本fw.sh之前。
4.查看rc脚本发现,在调用fw.sh之前调用的程序主要有
klogd
syslogd
initsy

# ps
  PID TTY     Uid        Size State Command
    1         adm           0   S   init
    2         adm           0   S   [keventd]
    3         adm           0   R   [ksoftirqd_CPU0]
    4         adm           0   R   [kswapd]
    5         adm           0   S   [bdflush]
    6         adm           0   S   [kupdated]
   17         adm           0   S   klogd
   37         adm           0   S   syslogd
   70         adm           0   S   /bin/syslogd -n
   71         adm           0   S   /bin/inetd
   72         adm           0   S   /bin/boa -c /etc/httpd
   73         adm           0   S   /bin/telnetd
   74 ttyp0   adm           0   S   console 192.168.2.73
   84 ttyp0   adm           0   S   sh -c sh
   85 ttyp0   adm           0   S   sh
   88 ttyp0   adm           0   R   ps

解决办法:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值