arm处理器中的外部中止

arm处理器中的外部中止,arm,abort,mmu,Arm,Abort,Mmu,arm处理器上典型的外部中止是什么 它与正常数据中止和预回迁中止有何不同 它如何通知应用程序外部中止?通常ARM处理器附带协处理器,其协处理器之一是充当MMU的cp15 如果存在MMU无法找到任何页面或遇到称为数据的转换错误或预取中止的任何此类虚拟地址,则取决于相应的路径(I缓存或D缓存) 假设您遇到这样一个虚拟地址,该虚拟地址在映射中具有有效的物理地址,但物理地址本身无效(或者该地址属于安全世界,即信任区),系统总线将在这种情况下生成中止,因为它将无法解码物理地址 简单地说,MMU不会检测到

arm处理器上典型的外部中止是什么

它与正常数据中止和预回迁中止有何不同


它如何通知应用程序外部中止?

通常ARM处理器附带协处理器,其协处理器之一是充当MMU的cp15

如果存在MMU无法找到任何页面或遇到称为数据的转换错误或预取中止的任何此类虚拟地址,则取决于相应的路径(I缓存或D缓存)

假设您遇到这样一个虚拟地址,该虚拟地址在映射中具有有效的物理地址,但物理地址本身无效(或者该地址属于安全世界,即信任区),系统总线将在这种情况下生成中止,因为它将无法解码物理地址

简单地说,MMU不会检测到的所有中止称为外部中止,应用程序将收到SIGBUS信号通知


arm处理器上典型的外部中止是什么

典型的外部中止与硬件相关。用户进程通常不可能导致这种情况。典型原因是未启用SOC模块的时钟和/或初始化从属SOC块(总线配置、引脚多路复用等)。当访问受保护内存(即,正常世界的安全内存)时,TrustZone也会发生这种情况

它与正常数据中止和预回迁中止有何不同

正常的数据中止和预回迁使用的是MMU未映射的内存。外部中止被映射,但当CPU运行总线周期时,物理地址处的外围设备不响应(或将错误发送回CPU)

它如何通知应用程序外部中止


由于外部中止意味着对CPU(也称为硬件)的一些外部中止,因此应用程序通常不会得到外部中止。应用程序不应该直接处理硬件。

为什么要暂停?您需要了解ARM CPU,才能知道这不是太广泛。可能与以下方面有关: