创造新看点
首页 >> 科技咖 >> 正文

仿真器调试和终端调试,几乎一切的操作均可以在终端上完成

日期:2021-04-06 12:26:17 来源:互联网 编辑:小狐 阅读人数:596

正文

大家好,我是bug菌!

调试参数在嵌入式中再常见不过了,比如滤波系数、PID参数以及一些简单的模式参数切换、写入和读取等等。

初做项目或者一些简单粗暴的朋友们,程序里面一些参数直接硬编码写死,而想进行适当修改的时候就只能通过源代码重新编译,再次烧录。

一次性修改能够达到满意的效果那就不需要调试了,不然反复烧录个10几次应该是常事;同样如果MCU程序不太大可能花不了太多的时间,否则这样的调参方式效率实在太低了。

总结下来在进行MCU程序的调试手段有两种 :

仿真器调试和终端调试

在项目的初期,仿真器调试作为主要的调试手段;而中后期主要是终端调试,下面聊聊这两个重要的调试内容 :

仿真器调试和终端调试,几乎一切的操作均可以在终端上完成(图1)

仿真器调试

仿真器调试是进行MCU前期必备的调试方法,常用的工具有Jlink,XDS100V3等等,这些工具都会匹配相应的IDE集成环境进行使用,不仅仅能够控制程序的运行过程(单步调试、断点等)还能够查看RAM、寄存器和Flash中的各种数据,帮助工程师们快速的定位问题,排除bug。

比如仿真器普遍采用的JTAG接口,其遵循的是JTAG协议,既然是通信协议那就不要太恐惧,了解通信协议和通信过程即可。

JTAG早期是用来芯片的,现在这项功能也是具备的,比如接上仿真工具就可以知道当前芯片是否可以烧录,指示灯也会变换颜色等;还可以通过 JTAG接口访问芯片内部寄存器、挂在CPU总线上的相关设备等,最终获得这些数据展现在IDE环境中以便者定位芯片的问题。

仿真器调试和终端调试,几乎一切的操作均可以在终端上完成(图2)

仿真会影响CPU运行吗?

JTAG通过一种叫边界扫描的技术,仿真过程中其内部均有独立的寄存器等机构进行交互,正常运行过程中是不会影响到CPU的正常工作的,也就是说其仿真部分对于CPU是透明的。

下面有一篇老文章,可以参考参考:

jlink调试器中你不知道的“那些事”(ARM篇)

终端调试

“终端 ”说白了就是一种人机交互接口,可以看成信息的输入与输出,一些朋友会说:我只用仿真器调试,不想用终端;仿真器调试又何尝不是一种终端的表现形式呢?只是说终端的相应功能已经嵌入到了你的集成环境IDE中,RAM数据和程序运行指针的修改都是用户数据的输入,而RAM数据的显示等等都是数据的输出。

但是对于我们平时调试的需求,并不需要像仿真器调试这么强大,主要是一些关键数据的显示和一些命令的发送,一般的MCU项目都会有预留一定的通信接口,所以直接定义一套统一的调试通信协议并一些调试上位机那将会对MCU的调试效率大大提高,而且也方便以后移植到其他项目中使用。

当然如果项目中原本就带有触摸屏或者按键+屏,也可以直接在这套终端上一些调试界面和功能,这样就不需要太依赖笔记本电脑什么的,至于调试功能是否灵活就看技术功底了。

很多朋友对上位机有点恐惧,人原本就对陌生的事物充满着恐惧!进行调试上位机其实只要具备一些基础的应用程序知识就能够在较快的时间里面掌握,当然如果你想把界面、特效、功能等等做得更加的秀,那就得有比较专业的知识和经验了!

好吧,你不想沾一点点应用程序的边,或者暂时没有太多的精力研究这一块,那我推荐你用研究一下终端,比如前面跟大家推荐的一款全能终端 :

仿真器调试和终端调试,几乎一切的操作均可以在终端上完成(图3)

仿真器调试和终端调试,几乎一切的操作均可以在终端上完成(图4)

很多朋友把这种类型的终端与串口调试助手混为一谈,这是不对的,终端功能一般比串口调试助手强点,像Linux这样命令行,几乎一切的操作均可以在终端上完成。

比如在终端中让输出的信息带有颜色,从而可把打印的日志信息进行分级输出,以便信息的筛选;还能够使用转义字符来实现动态显示、排版等功能,比如类似于命令行“Top”的实现效果。

最后给大家推荐一个强大的嵌入式shell --

letter shell 3.0 是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数。

2、最后

如果觉得本文还不错,记得点个赞

☞MCU进阶专辑

☞ 嵌入式C语言进阶专辑

☞ “bug说”专辑

☞ 专辑Linux应用程序编程大全

☞ 专辑学点网络知识

☞专辑手撕C语言

☞ 专辑手撕C++语言

本文相关词条概念解析:

终端

终端Terminal通常是指那些与集中式主机系统(例如IBM大型计算机)相连的“哑”用户设备。终端从用户接收键盘输入,并且将这些输入发送给主机系统。主机系统处理这个用户的键盘输入和命令,然后输出返回并显示在这个终端的屏幕上。个人计算机可以运行称为终端仿真器的一些程序来模仿一个哑终端的工作。在市场销售理论中,常被用来引称市场销售的最后一环,把产品从厂家到消费者手中的过程视为渠道,担负着消费者形成购买的最前沿(通常为零售批发店面),则可称为“终端”。

网友评论