访问允许异常(section permission fault)

weiaa1911   2009-9-8 14:33 楼主
Hi,Dear all,
我在使用Hms30c7202过程中遇到一个难题,我使用的内核是2.6.13.4,大多数能够正常启动运行,个别出现不能启动情况。打印DEBUG信息,非正常设备启动失败,打印:
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
对linux系统启动过程进行跟踪,执行流程如下:系统各项初始化完毕?挂载文件系统?启动INIT程序(busybox);在启动INIT程序过程中,会有对内存的操作,进一步跟踪到__arch_clear_user函数;系统在执行 strplt r2, [r0], #4指令时发生异常,进入异常处理。进入异常后,在CP15的C5中,正常设备的值为0x1A000005,非正常设备设备该值为0x1A00000D。根据PSR状态,正常设备发生的是缺页异常(section translation fault),随后进入缺页异常处理流程;而非正常设备发生的访问允许异常(section permission fault)。随后进入访问允许异常处理流程。
正常设备与非正常的程序一样,不知道问题出在哪个位置,是硬件问题还是软件问题?是否有人遇到过类似情况?

回复评论 (2)

缺页异常?像是这的问题。内存的事?
点赞  2009-9-9 08:32
引用: 引用 1 楼 beyondma 的回复:
缺页异常?像是这的问题。内存的事?


正常是应该发生缺页异常,然后进入相应的处理,
出问题的板子发生的是访问异常,
我也估计是内存或是MMU方面的问题,但无从下手
点赞  2009-9-10 10:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复