手臂处理器的典型外部中止是什么?
它与普通数据中止和预取中止有何不同?
它如何通知应用程序外部中止?
答案 0 :(得分:4)
如果有任何此类虚拟地址,MMU无法找到任何页面,或者遇到转换故障,称为数据或预取中止取决于相应的路径(I Cache或D Cache)。
http://infocenter.arm.com/help/index.jsptopic=/com.arm.doc.ddi0438d/BABFFDFD.html
假设您遇到这样一个虚拟地址,该地址在映射中具有有效的物理地址但物理地址本身无效(或者该地址属于安全世界即信任区域),系统总线将在此情况下生成中止,因为它无法解码物理地址。
简单来说,MMU无法检测到的所有中止称为外部中止,应用程序将通过SIGBUS信号通知
手臂处理器的典型外部中止是什么?
典型的外部中止与硬件相关。用户进程通常不可能导致此问题。典型原因是不启用SOC模块的时钟和/或初始化相关SOC块(总线配置,引脚复用等)。当访问受保护的内存(即,来自正常世界的安全内存)时,TrustZone也会发生这种情况。
它与普通数据中止和预取中止有何不同?
正常数据中止和预取正在使用未由MMU映射的内存。映射外部中止,但是当CPU运行总线周期时,物理地址的外设不响应(或将错误发送回CPU)。
它如何通知应用程序外部中止?
由于外部中止对CPU(也称为硬件)有一些外部,通常情况下应用程序无法获得外部中止。应用程序不应直接处理硬件。