我用 PIC 汇编语言编写了一些测试代码,我无意在实际的 PIC MCU 上运行,而是为了生成跟踪文件,以便以后可以使用单独的工具对其进行分析。因此,我需要一种方法来在特定代码点中永久停止模拟器,而无需在此处手动设置断点。这样我就可以从代码中终止跟踪收集。
回到 MPLAB 8.92,我使用了这个简单的技巧来完成这个任务:“call $”命令。该指令只是简单地调用自身,迅速溢出堆栈,在 MPLAB 8.92 中,它通过 CORE-E0001 消息暂停了模拟器。任务完成!
然而,当我迁移到 MPLAB X 5.25 时,我发现模拟器不再使用这个技巧停止。即使我进入项目设置并指定模拟器应该中断所有类型的警告消息,它也不会停止。
那么,我做错了什么?在 MPLAB X 中使用 MCU 代码停止模拟器的最佳工作方式是什么?请不要建议使用显式断点,这是不切实际的,我确实需要在数十个项目中设置数百个断点。