数码之家

 找回密码
 立即注册
搜索
查看: 5017|回复: 51

[C51] 单片机入门杂谈(一):调试器

[复制链接]
发表于 2023-5-1 03:44:00 | 显示全部楼层 |阅读模式
单片机开发中常用到两种调试器:ICE(In Circuit Emulator,在线仿真器)和ICD(In Circuit Debugger,在线调试器),两者的区别是:ICE通过自身仿真CPU进行调试,而ICD则是利用芯片内部的Embedded ICE单元对CPU进行调试。当下常见的芯片调试使用的是ICD方案,ICD方案又分为硬件ICD和软件ICD,常见芯片ARM属于硬件ICD,STC 8051属于软件ICD。

硬件ICD和软件ICD的最直观的区别是:硬件ICD可以全速调试时可以设置Flash断点,软件ICD需要先设置断点再运行程序才能实现Flash断点功能;硬件ICD可以全速运行时更新观察窗口、内存窗口的值,软件ICD需要遇到断点或暂停调试才会更新观察窗口、内存窗口的值;硬件ICD可设置的断点数比较少,如ARM M3可以设置6个Flash断点,软件ICD可以设置比较多的Flash断点,取决于设计预留的资源(需要占用一部分ROM、RAM)。

初学者如果想快速入门、不缺银子且想用银子换时间、脑子的话,强烈建议选用带硬件ICD的芯片,无论是下载、调试都会省心很多。

软件ICD举例 -- STC8051芯片


STC软件ICD断点实现原理:


硬件ICD举例 -- 某国产8051芯片

这里不以常见的ARM芯片为例,旨在说明调试8051单片机也可以很方便。



mp4原视频见附件。







单片机入门杂谈(二):程序结构
https://www.mydigit.cn/thread-386258-1-1.html

单片机入门杂谈(三):按键
https://www.mydigit.cn/thread-393998-1-1.html

单片机入门杂谈(四):单片机普通I/O直接驱动LED数码管
https://www.mydigit.cn/thread-439515-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2023-5-1 07:03:18 | 显示全部楼层
我对单片机也比较感兴趣的,只是有其他几种比较繁重的技术,所以没有太多的精力去学了...
回复 支持 反对

使用道具 举报

发表于 2023-5-1 07:55:09 | 显示全部楼层
STC32位8051是硬件SWD仿真,不是啥软硬结合的仿真,必须借助STC-USB Link1D跟电脑通信




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2023-5-1 08:00:35 | 显示全部楼层
学了好几次,到现在还在入门阶段
回复 支持 反对

使用道具 举报

发表于 2023-5-1 08:18:58 | 显示全部楼层
最近看了一下米思齐和linkboy感觉挺适合我别喷无脑拖,我感觉能玩就是乐趣,能简单的事情没必要搞那么复杂
回复 支持 反对

使用道具 举报

发表于 2023-5-1 08:30:31 | 显示全部楼层
进来学习一下!
回复 支持 反对

使用道具 举报

发表于 2023-5-1 08:46:14 | 显示全部楼层
单片机入门不难,但要用于实际产品开发还有很长的路要走,模拟电路和数字电路都要跟上。
回复 支持 反对

使用道具 举报

发表于 2023-5-1 08:48:22 | 显示全部楼层
一直很想学,只是很懒
回复 支持 1 反对 0

使用道具 举报

发表于 2023-5-1 09:03:33 | 显示全部楼层
很不错,学习一下
回复 支持 反对

使用道具 举报

发表于 2023-5-1 09:15:25 | 显示全部楼层
多谢分享,学习了
回复 支持 反对

使用道具 举报

发表于 2023-5-1 09:38:36 | 显示全部楼层
收藏了,有空看看
回复 支持 反对

使用道具 举报

发表于 2023-5-1 09:40:38 | 显示全部楼层
谢谢分享。学习
回复 支持 反对

使用道具 举报

发表于 2023-5-1 11:07:26 | 显示全部楼层

一直很想学,只是很懒
回复 支持 反对

使用道具 举报

发表于 2023-5-1 11:24:36 | 显示全部楼层
STC8H的数据手册附录G,  1个RMB1.9的 STC8H8K64U就可以直接利用自己的硬件USB仿真了,也可以下载



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2023-5-2 08:35:58 | 显示全部楼层
我怎么突然可以回复了?我想说的是arm芯片不是已经很常见了么
stm32的开源调试器都有好几种了,更不用说现在还有直接built-in debug的调试方案,比如esp32c系列,虽然用起来很烂
仿真的话感觉兼容性不是很好,几年前跑stm32速度就很慢,有条件还是上芯片跑吧
回复 支持 反对

使用道具 举报

发表于 2023-5-4 21:44:48 | 显示全部楼层
谢谢分享,很详细,值得借鉴。
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2023-5-5 10:03:32 | 显示全部楼层
感谢楼主的分享,但是楼主有个错误的引导:
STC现在KEIL仿真,STC8H8K64U,软硬件结合的仿真;STC32G12K128,是硬件SWD仿真。
KEIL中程序更新的话,是不需要重新下载新的程序到单片机的,只要点DEBUG,就OK。

如使用STC-ISP软件下载程序的话,反而会覆盖芯片里的仿真功能,需要重新制作母片。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2023-5-5 11:02:43 | 显示全部楼层
真真的技术贴,认真学习学习
回复 支持 反对

使用道具 举报

发表于 2023-5-5 13:41:49 | 显示全部楼层
阳光使者 发表于 2023-5-1 07:03
我对单片机也比较感兴趣的,只是有其他几种比较繁重的技术,所以没有太多的精力去学了... ...

稍微有点点模电基础的话入门还是比较简单的,我最早还以为单片机是那种一次性的,不能重复写入的,后来以为是那种改一次需要晒紫外线,很麻烦的。最后开始学stc才发现以前的以为全都不是那么回事
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-9 10:07 , Processed in 0.187201 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表