我们的设备使用了AM3505AZER处理器,cs0接镁光MT29F4G16ABADA nand flash芯片,cs1-5接FPGA设备。软件为linux 2.6.37-psp4.02.0.07内核。
现遇到如下情况:
如果在通过内核提供的mtdblock设备读写flash之前,打开FPGA设备(仅仅是open操作,或者读写FPGA设备,二者都会出现问题),内核会报类似于如下的错误:
end_request: I/O error, dev mtdblock2, sector 8
Buffer I/O error on device mtdblock2, logical block 1
此后,flash无法正常访问。必须重新开关设备才能正常访问flash,复位无效。已经确认不是flash硬件坏区问题。
如果不打开FPGA设备,只是读写flash,则没有出现过类似问题。flash数据正常。
FPGA驱动的open函数里面没有任何操作,直接return 0;
请问,如何解决这种问题?
Feng Dong:
是否你映射的地址空间有问题?