大家好:
我现在遇到这样一个问题,大家帮忙分析一下,看是什么问题;
1、将可以正常启动的Flash,使用编程器(SmartPro 5000U)做镜像,建立工程;
2、使用烧录器烧录Flash,micron的MT29F4G08ABADAWP,烧写操作都提示成功;但是烧写的Flash概率性的启动不了(10片,其中4片有问题),跟踪打印信息提示找不到文件系统;(在Kernel下分区如下:boot,parameter,kernel,FS,user1,user2);
3、其中,系统是Linux,做镜像的Flash,uboot通过串口写入,kernel在Uboot下通过指令从FTP下载烧写,文件系统在NFS(网络文件系统)解压缩包写入;
4、同时,烧录器应该是没有问题的,使用此烧录器烧写另外一个产品(wince系统)的另一个型号的Flash,则基本都可以正常启动。
产生这种现象的原因可能是什么呢?
看工程文件,发现配置操作下的注册表文件不正确(工程下配置操作下的分区列表 和 实际在kernel下的分区不一致),如下图所示:
因此做了以下实验:
1、将工程下分区表修改为kernel下分区表配置,烧录了10片,都可以正常启动;但是烧录很慢(原来1'36"左右,现在接近15分钟);
2、将修改好分区表的过程烧写进Flash后,使用此Flash重新做镜像,工程中的分区表仍然是错误的;
所以有以下疑问:
1、此问题确实是由于分区表引起的吗?这些分区表从哪里得到的?怎么修改才行?
2、原来有问题的分区表烧写很快,看进度条,后面部分数据应该是跳过没有烧写;为什么修改分区表后,会导致烧写很慢?(修改分区表后,烧写时,进度条是均匀走动的)