我正在尝试测试我在ARMv7中为异常处理编写的代码。我需要测试预取中止功能。我知道当未经授权访问受保护的内存区域时会发生这种情况。但要检查一些内存区域是否受到保护并尝试访问它似乎很难。是否有任何程序集快捷方式或代码片段可确保发生预取中止异常。
答案 0 :(得分:3)
如果尝试从不存在的内存区域执行代码,则应发生预取中止。换句话说,如果程序计数器设置为无效的地址,就会发生这种情况。
检查设备的内存映射,并在代码中提供以下说明:
BL non-existent-memory-location