SmartPro 5000U 烧写Flash 分区表错误导致概率性启动不了

langdao04 2016-06-22 06:01:57
大家好:
我现在遇到这样一个问题,大家帮忙分析一下,看是什么问题;

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、原来有问题的分区表烧写很快,看进度条,后面部分数据应该是跳过没有烧写;为什么修改分区表后,会导致烧写很慢?(修改分区表后,烧写时,进度条是均匀走动的)
...全文
842 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
langdao04 2018-06-14
  • 打赏
  • 举报
回复
没有找到问题的根本原因,没找到根本解决的方案。最后是添加了一个备份分区,一旦发现启动不了,就拷贝备份分区数据到正常启动分区,但是只是解决了kernel启动不了的问题,一旦UBL和uboot启动不了,仍然会存在此问题,不过从现象看,解决了很大一部分,大大的降低了概率;
langdao04 2016-07-06
  • 打赏
  • 举报
回复
引用 1 楼 qq_33516529 的回复:
Bad clock 是怎么处理的,如果bad clock 没有处理,有可能位置刚好影响到


坏块处理时跳过坏块。
校验值不管能够正常启动的,还是启动有问题的,,校验值都是一样的。
qq_33516529 2016-07-06
  • 打赏
  • 举报
回复
Check Sum值是不是一样,
qq_33516529 2016-07-06
  • 打赏
  • 举报
回复
Bad clock 是怎么处理的,如果bad clock 没有处理,有可能位置刚好影响到

18,772

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧