首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从MPLAB 8.92到MPLAB X 5.25:我现在如何以编程方式停止模拟器?

从MPLAB 8.92到MPLAB X 5.25:我现在如何以编程方式停止模拟器?
EN

Stack Overflow用户
提问于 2021-03-06 12:20:42
回答 1查看 98关注 0票数 3

我用PIC汇编语言编写了一些测试代码,我并不打算在实际的PIC MCU上运行,而是要生成跟踪文件,以便稍后可以使用单独的工具进行分析。因此,我需要一种在特定代码点永久停止模拟器的方法,而无需手动在那里设置断点。这样,我就可以从代码中终止跟踪收集。

回到MPLAB 8.92中,我使用这个简单的技巧来完成这个任务:"call $“命令。这条指令只是简单地调用自己,迅速溢出堆栈,在MPLAB 8.92中,这是通过CORE-E0001消息暂停模拟器。任务完成!

但是,当我迁移到MPLAB X 5.25时,我发现使用此技巧模拟器不再停止。即使我转到项目设置并指定模拟器应在所有类型的警告消息上中断,它也不会停止。

那么,我做错了什么呢?在MPLAB X中使用MCU代码停止模拟器的最佳工作方式是什么?请不要建议使用明确的断点,这是不可行的,我需要在几十个项目中设置数百个断点。

EN

回答 1

Stack Overflow用户

发布于 2021-03-07 07:12:27

在MPLAB中,转到Project Properties。在树中:选择Simulator Categories Options for Simulator are now visible。在Options categories下选择Warning Messages Break Options,然后按on Unlock按钮。

假设您不希望您的模拟在Watchdog Timer重置事件时停止。Find on list W0004-CORE: Watchdog Timer has caused a Reset.并将Report选项更改为Break。按Apply按钮。现在,程序模拟将在每次Watchdog Timer重置事件时停止。

PS:我使用的是MPLAB v5.35。对于在堆栈溢出时中断,请使用选项W0012-CORE: Device Resets on stack overflow.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66502328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档