|
单片机开发中常用到两种调试器: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
|