Adh*_*aya 4 arm exception abort
我正在ARM Cortex A9 Pandaboard上构建一个裸机应用程序,我经常使用指令提取中止.当我转储IFSR寄存器时,我得到了0x1008.我已经阅读了参考手册,我知道1008是Synchronous External Abort.问题是同步外部中止意味着什么,它来自何处?谢谢你的帮助.
Not*_*hat 12
在ARMv7的ARM节"VMSA内存中止"为彻底涵盖这正如人们所预料(因为它的建筑的权威定义),但略低于14页少来概括;
的中止是指试图使存储器存取,这是什么原因,无法完成这样引发一个异常的CPU.
一个外部中断是一个从,那么,在处理器外部,即,一些总线上.换句话说,访问在MMU中没有出错,走到总线上,并且某个设备或互连本身回来并说"嘿,我无法处理这个".
一个同步的外部中断意味着你是相当幸运的,因为它不会是完全可怕的调试-在预取的情况下中止,这意味着IFAR
将会包含一个有效的VA的错误指令,让你清楚知道是什么造成的.令人不快的替代方案是异步外部中止,这只是一个中断说"嘿,你刚才做的事情实际上并没有起作用.不,我也不知道是什么."
所以,你试图从你认为是记忆的东西中执行指令,但事实并非如此.没有任何进一步的细节,实际原因可能是从错误编码的硬编码地址到狡猾的页面表,陈旧的TLB条目,缓存一致性等等.