【问题标题】:grabserial stops printing the log?Grabserial 停止打印日志?
【发布时间】:2013-12-11 12:08:24
【问题描述】:

我尝试Grabserial 来测量我的嵌入式 Linux 设备的启动代码。它以某种方式工作,但过了一会儿(这意味着更长的启动代码 - 谈论> 26 s)它停止打印消息,但grabserial仍在运行 - 我必须点击 [CTRL-C] 来检索控制。我用腻子检查了串口,它正在工作,所以这是grabserial的问题。但我想不出它是什么。

我下载并安装了这两个安装变体,它只是改变了外观,但停留在同一点。

有人遇到过同样的问题吗?

问候

[edit:] 我刚刚检查了代码,这没什么特别的,实际上应该只是在 [CTRL-C] 或计时器设置并用完时中断。但是程序甚至没有中断它只是停止打印到控制台。

[edit2:] 我发现,该脚本处理起来太慢了。似乎只有在串行线发送了某些内容(如中断)时才能输出信息,但就像传输了 2 个字母但只显示了 1 个。由于脚本处理比启动慢,所以我看不到所有内容,只有它设法显示的内容,直到我的设备完成启动。我尝试了重启循环过程,因此它一遍又一遍地接收新消息,并且从未停止打印。

我仍然需要对此的支持,在我必须自己编写代码之前,有人有聪明的解决方案吗?

【问题讨论】:

  • 26s 后你的内核应该没问题了,也许设备没有更多的串行消息了,不是吗?
  • 不,大约需要 30 秒...我只提到 26 秒,因为这是停止时的数字。我刚刚意识到最后 5 个命令是关于初始化 ATMEL_SERIAL(我正在使用 AT91 9SAMG25)。但同样,使用我的串行控制台(腻子),我可以更进一步,没有任何问题
  • 推测,但如果这是在与相关内核不同的机器上运行的软件,通过真正的串行端口进行通信,那么我想知道内核串行(重新)配置阶段是否导致帧错误或类似错误,并且此客户端软件无法清除由此产生的接收器故障,而尝试比较的终端程序则可以。或者也许这个程序试图变得“聪明”并且只收集直到满足某个条件,这是错误触发。

标签: serial-port embedded-linux serial-communication gnome-terminal


【解决方案1】:

我刚开始使用grabserial,我还没有重现你的问题。 当前的grabserial(1.6.0)确实有一个自动停止程序的选项。

-e, --endtime=<secs> End the program after the specified seconds have elapsed.

如果有帮助,这是我的命令行(我从 git 下载的)

./grabserial -v -d "/dev/ttyUSB1" -b 115200 -w 8 -p N -s 1  -t

【讨论】:

  • 我已经在github上写了开发者,他们也无法重现:/。顺便说一句,我可以设法在 5 秒内启动我的系统(我自己数一下就知道了),grabserial 说它是 15 秒。我真的没有头绪。我相信这是由我使用的 Linux Mint 引起的。
  • @user3085931 会不会是硬件问题?您可以使用另一种方法:cat /dev/ttyUSB0 | ts [%H.%M.%.S] > ${FILENAME}
  • 这个方法很好,结果几乎和我用示波器通过GPIO测量时间一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 2022-01-11
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
相关资源
最近更新 更多