0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

上位机不会写 可以试试玩终端

Q4MP_gh_c472c21 来源:最后一个bug 作者:bug菌 2021-05-10 18:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

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

仿真器调试 和 终端调试

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

a64be57a-b10a-11eb-bf61-12bb97331649.png

1仿真器调试

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

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

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

a6783918-b10a-11eb-bf61-12bb97331649.png

图来源于 JTAG-Tutorial文档,仅供学习参考

仿真会影响CPU运行吗?

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

2终端调试

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

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

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

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

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

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

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18652

    浏览量

    388489
  • JTAG
    +关注

    关注

    6

    文章

    411

    浏览量

    74637
  • PID
    PID
    +关注

    关注

    37

    文章

    1489

    浏览量

    90159
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84861

原文标题:MCU:上位机不会写,可以玩终端

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    上位程序编写

    hbird_sdk_soc.h头文件。 接下来编写上位程序,上位程序主要完成接收和解码定位信息的功能,本文采用QT编写上位
    发表于 10-28 06:40

    遥测终端机TY511-B5#遥测终端机

    终端机
    jf_69620166
    发布于 :2025年09月19日 15:52:52

    工业智能网关可以对接哪些上位平台

    工业智能网关凭借其协议转换、数据采集与多平台适配能力,可对接多种类型的上位平台,涵盖工业自动化、物联网、企业信息化及定制化系统,以下为具体对接场景与技术支撑: 一、核心对接类型与场景 工业自动化
    的头像 发表于 08-19 14:53 663次阅读

    单片机板跟上位进行串口发收数据时,每次上位下发指令,为什么?

    单片机板跟上位进行串口发收数据时,每次上位下发指令,出现问题都是在第一条指令后,有时在单片回发完数据后偷发0x00,怎么解?
    发表于 08-08 08:20

    第二十六章 W55MH32 上位搜索和配置示例

    本文讲解了如何在 W55MH32 芯片上实现上位搜索和配置功能,通过实战例程展示了使用开源上位配置工具 SmartConfigTool 搜索局域网中的 W55MH32 并进行网络地
    的头像 发表于 07-24 16:13 625次阅读
    第二十六章 W55MH32 <b class='flag-5'>上位</b><b class='flag-5'>机</b>搜索和配置示例

    微功耗电池供电遥测终端机RTU产品选型与应用解析 #遥测终端机 #遥测终端机rtu #遥测终端机厂家

    遥测终端机
    平升电子-智慧水务解决方案
    发布于 :2025年06月16日 17:23:57

    工程师崩溃瞬间:上位与PLC通信失败?3分钟快速诊断攻略

    今天不聊理论!直接上硬货。以西门子PLC为例,跟大家分享一下上位连接不上PLC时,该如何去排查。 1.网络检查 确保上位和PLC之间的网络连接正常,
    的头像 发表于 06-12 16:25 1137次阅读
    工程师崩溃瞬间:<b class='flag-5'>上位</b><b class='flag-5'>机</b>与PLC通信失败?3分钟快速诊断攻略

    上位和下位是什么关系

    上位和下位在工业自动化、仪器仪表等控制领域中是相互协作、紧密配合的关系,以下从定义、通信方式、功能分工、协同作用几个方面详细阐述它们的关系: 定义与角色 上位
    的头像 发表于 05-29 18:03 1136次阅读

    #遥测终端机RTU#遥测终端机DTU的区别,#水利遥测终端机,26年研发生产厂家

    终端机
    平升电子-智慧水务解决方案
    发布于 :2025年05月24日 17:38:13

    都说上位通信难,谁能说说到底难在哪儿?

    前言 在工业自动化和物联网(IoT)领域,上位通信一直被认为是开发过程中的一大难点。上位通信扮演着至关重要的角色。上位
    的头像 发表于 03-12 16:52 873次阅读
    都说<b class='flag-5'>上位</b><b class='flag-5'>机</b>通信难,谁能说说到底难在哪儿?

    STM32F103上位升级,RS485升级、CAN升级

    外置Flash。该开发板提供上位升级软件,购买者可使用该上位配合我们的升级例程学习给MCU在线更新升级 上位
    发表于 01-03 08:57

    运动控制卡网络通讯的心跳检测之C#上位编程

    使用C#上位编程实现运动控制卡网络通讯的心跳检测功能
    的头像 发表于 12-24 10:54 2025次阅读
    运动控制卡网络通讯的心跳检测之C#<b class='flag-5'>上位</b><b class='flag-5'>机</b>编程