标题: 可以利用单片机中断系统制作一个调试器吗 [打印本页]

作者: 钱木头    时间: 2020-3-7 09:56
标题: 可以利用单片机中断系统制作一个调试器吗
本帖最后由 钱木头 于 2020-3-7 10:03 编辑

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

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




作者: 51hei团团    时间: 2020-3-7 13:09
想法很好,不过有专门的仿真芯片可以买
作者: 1175514240    时间: 2020-3-7 13:17
仿真器就行
作者: yxh1999    时间: 2020-3-7 14:12
你想多了。
什么是中断,中断就是系统遇到一些特定的事件,暂停当前的活计去把这些特殊的事情干一下,然后接着干活。你想让系统做特殊事情的时候去监视一下以前干过什么,那不就是想多了。
对系统的动态调试,中断可以有用武之地是肯定的,但绝对不是你想的那样。比如串口中断,你可以电脑端输入,改变系统里的一些变量,让系统运行起来呈现不一样的效果。
作者: 路痴喵    时间: 2020-3-7 15:02
那样的话cpu不会卡死吗?
作者: 没有你    时间: 2020-3-7 22:37
兄弟!你能想到这点,挺难得的。如果要深入了解话,要去学习汇编。初学单片机,建议入手51单片机。你说的中断,在一些调试过程的确涉及到了。STC单片机的仿真调试就是用中断实现的。这种单片机没有专用的硬件仿真器,实现仿真的方式类似ROM Monitor。ROM Monitor是烧录到单片机的下位机程序,可以配合编译平台上位机来调试。调试的大概过程就是上位机将程序传给下位机,下位机把程序写入到单片机里面,然后调试过程上位机通过触发串口中断来给下位机发送指令。PC会指向下一个执行地址。断点设置就是上位机让下位机在指定的PC地址触发中断。不过,每次触发串口中断进出都要做好现场保护,也就是保护好SP、DPH、DPL等参数。
作者: 钱木头    时间: 2020-3-9 09:24
没有你 发表于 2020-3-7 22:37
兄弟!你能想到这点,挺难得的。如果要深入了解话,要去学习汇编。初学单片机,建议入手51单片机。你说的中 ...

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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1