请选择 进入手机版 | 继续访问电脑版
搜索
查看: 111|回复: 1

[求助] codewarrior 仿真时 下硬件断点和软件断点的区别是什么?

[复制链接]

该用户从未签到

11

主题

60

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2017-8-12 09:44:23 | 显示全部楼层 |阅读模式
     这硬件断点只支持2个,软件断点可以无数个,请问,这2种断点区别在哪?

最佳答案

硬件断点是通过监测地址来触发断点的。所以,硬件断点可以设置在任何地方,不管是FLASH,ROM还是RAM,只要给定地址就可以了。而软件断点是通过监测特定的指令来触发断点的。在某个地址设置软件断点的时候,仿真器会 ...
回复

使用道具 举报

该用户从未签到

123

主题

2515

帖子

5919

积分

超级版主

Rank: 8Rank: 8

积分
5919
发表于 2017-8-14 14:25:07 | 显示全部楼层
硬件断点是通过监测地址来触发断点的。所以,硬件断点可以设置在任何地方,不管是FLASH,ROM还是RAM,只要给定地址就可以了。而软件断点是通过监测特定的指令来触发断点的。在某个地址设置软件断点的时候,仿真器会将这个地址的数据/指令替换成一个特殊格式的指令。断点单元通过监测这个特殊格式的指令来触发断点。
因为需要执行替换操作,所以软件断点只能设置在RAM里面。如果断点单元设置成监测某个地址,那一个断点单元只能监测一个地址,所以只能设置2个硬件断点。如果断点单元设置成监测某个固定格式的指令,那一个断点单元可以支持数量没有限制的软件断点。因为设置软件断点的时候只需要把要说着断点的位置的数据替换成被监测的固定格式的指令就可以了。这就是为什么大家经常看到说支持2个硬件断点和数目不限的软件断点。但这里还是要提醒以下,如果2个断点单元都用于硬件断点,那用户就不可以设置软件断点了。


回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|手机版|小黑屋|恩智浦技术社区    

GMT+8, 2017-10-23 06:46 , Processed in 0.080834 second(s), 12 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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