arm中文社区
直播中

吴湛

9年用户 932经验值
擅长:可编程逻辑
私信 关注
[资料]

ARMv8-M处理器调试版本1.0使用指南

调试是软件开发的关键部分,通常被认为是过程中最耗时的部分。它使软件开发人员能够停止程序执行并确定任何问题的原因。开发人员经常在软件、数据或硬件观察点中添加断点指令,以检查程序变量的值或寄存器的内容。系统提供的调试设施对于任何开发人员来说都是至关重要的考虑因素。
ARM®v8-M处理器提供硬件功能,使调试工具能够收集有关核心活动和程序执行的信息,停止核心,并逐步执行代码。
您可以在特定指令上设置软件或硬件断点,使调试器在核心到达该指令时控制它。
软件断点通过用BKPT指令的操作码替换指令来工作。软件断点只能用于存储在RAM中的代码,但其优点是可以大量使用。调试软件跟踪它在哪里放置了软件断点,以及这些地址最初有哪些操作码,以便在执行断点指令时替换正确的代码。
硬件断点使用内置在核心中的比较器,并在执行到达指定地址时停止执行。硬件断点可以在内存中的任何位置使用,因为它们不需要更改代码,但硬件提供的硬件断点单元数量有限。
调试工具可以支持更复杂的断点。例如,在地址范围内的任何指令上停止,或者仅在特定事件序列发生或硬件处于特定状态时停止。
当读取或写入特定的数据地址或地址范围时,数据观察点或断点赋予调试器控制权。在遇到断点或单步执行时,可以检查和更改ARM寄存器和内存的内容。更改内存的一个特殊情况是代码下载。调试工具通常使您能够更改代码、重新编译,然后将新映像下载到系统中。

更多回帖

发帖
×
20
完善资料,
赚取积分