请教大家一个问题,我现在使用ATO AFND1G08U3-CKA替换Samsung K9F1G08U0D IC,主控使用的是NXP的LPC3250芯片,运行Linux操作系统。uboot,kernel的驱动都已经更改。
我自己写了一个小工具(imagewrite),可以通过这个工具更新uboot,kernel,root file system,application等程序。
我们通过以太网把更新的程序文件下载到ram中,然后通过工具(imagewrite)写nand flash更新程序时,会产生错误,(写数据出错,很小一部分),导致更新后的程序不能正常运行。例如更新kernel后,重新启动后,uboot启动时会产生CRC校验错误,无法启动内核。在这个写的过程中,我们的应用程序是在不停运行的,CPU的使用率达到90%左右。
但是当我们把这个应用停止掉之后,使CPU使用率下降到5%左右,再通过工具(imagewrite)写时,就不会出错。
之前我们使用Samsung K9F1G08U0D,也是这样操作的,但是不存在这个问题。
CPU利用率高了之后,为什么会影响写Nand Flash。
请大家帮忙分析分析,十分感谢。
|