如何调试在GPIO上的数据采集
想请教大家如何调试在GPIO上的数据采集。事情是这样的。有一个第三方设备会连接开发板上的某个GPIO, 在上面以某个自定义协议发送数据,类似于UART。
开发板这边根据协议实现读取这些数据的程序。 数据是由特定的帧构成的。调试阶段帧的内容可以是固定。
我用的是keil开发环境,需要在开发板上调试来读取这些从GPIO来的数据。
现在遇到的困难是,如果想单步调试数据读取,当停到断点时,debug的数据已经在GPIO上发送完了。
如果加printf跟踪调试,又会影响读取数据程序的时序。
请问有经验的伙伴都是怎么实现软件单步调试的?
在这先谢谢大家阅读本贴。
逻辑分析仪啊 时序性比较强的程序,我觉得不适合单步仿真调试,编好程序直接下载,使用串口将主要的数据输出参考+GPIO示波器输出查看结果。 设定一个数组,在需要保存数据的各个语句中写入数据,一次执行完成后即可得到所需数据。 如果是jlink调试的话可以使用Jscope和systemview这两个工具查看内部全局变量,jlink官网上可以下载 wenyangzeng 发表于 2018-10-13 09:59
设定一个数组,在需要保存数据的各个语句中写入数据,一次执行完成后即可得到所需数据。 ...
虽然比较麻烦,但貌似这个方法靠谱一点。多谢!
根据大伙描述,貌似仿真这条路子不可行。:( 在调试中的单步运行通常是用断点来实现的 单步肯定是不行的。外部的设备不会停止发送,这样就错过了一部分数据。 如上面的讨论,你可以加个大buffer或者示波器看看呀,加上又不是常用协议,调试没戏..
页:
[1]