我使用了NXP公司的SAF1562HL(或:ISP1562BE)芯片,开发了一款带有USB接口的处理器模块,CPU为FREESCALE公司的MPC8270,采用的是VxWorks5.5操作系统。每隔10s将5MB的数据以FAT32文件系统格式写入到U盘中。
在使用过程中发现,在将数据写入U盘的过程中,会出现U盘无法识别的现象,出现U盘无法识别时,串口打印的信息为:0xfffe850 (s1u0): disk cache error: device fff9268 block -1 errno 830106, disk removed while writing data, possible data loss。出现这种情况后,U盘将无法进行任何操作。出现这种情况的时间随机,可能程序运行1min左右就出现,也可能十几分钟出现。
我对程序进行了跟踪,正常情况下SAF1562HL HcInterruptStatus register的值为0x00000001,错误情况下为0x00000008,出现错误之后无法恢复,进入Irp time out状态,此后U盘无法进行操作。但通过程序分析,我们无法知道什么情况会导致SAF1562HL HcInterruptStatus register的值从0x00000001跳变到0x00000008,进而导致U盘无法识别。
请问有没有大神在相关的开发应用中是否遇到类似的情况,能否给点方法和建议,谢谢。
|