找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2118|回复: 6
收起左侧

可以利用单片机中断系统制作一个调试器吗

[复制链接]
ID:703395 发表于 2020-3-7 09:56 | 显示全部楼层 |阅读模式
本帖最后由 钱木头 于 2020-3-7 10:03 编辑

大家好,我是一个单片机新人。确切的说还没摸过,单片机还在快递小哥那里。
我就到处乱看资料,突然看到了一个中断系统。
我就在琢磨一个事情,我们是否可以利用中断系统跟踪CPU正在执行的每一条指令
并且通过USB或者串口的形式传递出去。
如果理论存在那么,我还有2个疑问 :
1. 是否可以读取到CPU执行指令的地址 前后的二进制码。
2. 是否可以对某个地址动态写入二进制码,例如写入一个 int3断点

然后利用一个反汇编引擎解析出来,达到一个动态调试芯片的目的



回复

使用道具 举报

ID:328014 发表于 2020-3-7 13:09 | 显示全部楼层
想法很好,不过有专门的仿真芯片可以买
回复

使用道具 举报

ID:468535 发表于 2020-3-7 13:17 来自手机 | 显示全部楼层
仿真器就行
回复

使用道具 举报

ID:697884 发表于 2020-3-7 14:12 | 显示全部楼层
你想多了。
什么是中断,中断就是系统遇到一些特定的事件,暂停当前的活计去把这些特殊的事情干一下,然后接着干活。你想让系统做特殊事情的时候去监视一下以前干过什么,那不就是想多了。
对系统的动态调试,中断可以有用武之地是肯定的,但绝对不是你想的那样。比如串口中断,你可以电脑端输入,改变系统里的一些变量,让系统运行起来呈现不一样的效果。
回复

使用道具 举报

ID:704065 发表于 2020-3-7 15:02 来自手机 | 显示全部楼层
那样的话cpu不会卡死吗?
回复

使用道具 举报

ID:351097 发表于 2020-3-7 22:37 | 显示全部楼层
兄弟!你能想到这点,挺难得的。如果要深入了解话,要去学习汇编。初学单片机,建议入手51单片机。你说的中断,在一些调试过程的确涉及到了。STC单片机的仿真调试就是用中断实现的。这种单片机没有专用的硬件仿真器,实现仿真的方式类似ROM Monitor。ROM Monitor是烧录到单片机的下位机程序,可以配合编译平台上位机来调试。调试的大概过程就是上位机将程序传给下位机,下位机把程序写入到单片机里面,然后调试过程上位机通过触发串口中断来给下位机发送指令。PC会指向下一个执行地址。断点设置就是上位机让下位机在指定的PC地址触发中断。不过,每次触发串口中断进出都要做好现场保护,也就是保护好SP、DPH、DPL等参数。
回复

使用道具 举报

ID:703395 发表于 2020-3-9 09:24 | 显示全部楼层
没有你 发表于 2020-3-7 22:37
兄弟!你能想到这点,挺难得的。如果要深入了解话,要去学习汇编。初学单片机,建议入手51单片机。你说的中 ...

感谢大佬,虽然我还不明白。但是你这段话我有必要单独回复一下,因为方便将来回过头来找。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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