.天堂任鸟飞 发表于 2011-1-13 04:11

完美你的Nand!用上内置存储@XBOX360自制系统手动完美处理坏块教程

本帖最后由 .天堂任鸟飞 于 2011-1-13 10:04 编辑

鉴于目前nandpro、nandflasher360等软件检测到的坏块信息不完全准确,以致软件自动处理或手动映射坏块不完整,造成个别主机刷入自制系统后字库不全、无法进入系统、使用内置存储后造成自制系统损坏等现象,而刷回原始固件撤掉JTAG又完全没问题,本教程便应运而生。

由于NAND flash自身的特性,坏块数量低于某个百分比即合格,XO量产时检测标注了坏块及不稳定的块的位置信息及其映射表以便系统正确读写,这也就是官方固件即使有坏块也能完美使用的原因。原始固件包含以上信息,请妥善保存。

使用360 Flash Tool打开原始固件(需本机CPUKEY,刷xell或xellous获取,在此不再赘述)查看坏块位置及映射信息

由图可见
原始固件存在8个坏块,位于192,194,195,196,197,198,199,211
对应映射为 211-3F8,199-3F9,198-3FA,197-3FB,196-3FC,195-3FD,194-3FE,1***FF

使用原始固件合成自制系统固件FBT9199 12611 ETC… (需本机CPUKEY,使用freeBOOT_ToolBox_Maker合成,在此不再赘述)
生成的自制系统固件不包含任何坏块及映射,直接刷入可能造成未知问题,下面我们使用nandpro20b手动将原始固件的坏块及映射信息移植至自制系统固件

需要软件nandpro20b(初次运行需安装port95nt.exe),合成好的自制系统固件updflash.bin 存放于nandpro20b目录内。

本实例nandpro20b文件夹置于E盘根目录NAND容量为16MByte 坏块8个,nandpro、nandflasher360均只检测出4个坏块 按老方法或软件自动处理坏块后开机卡在大西瓜

命令行下进入nandpro20b目录
使用如下命令提取上述位置的正确数据 共8组 注意全部为小写 请参照下图的注释自行修改命令
nandpro updflash.bin: -r16 192.bin 192 1
nandpro updflash.bin: -r16 194.bin 194 1
……
nandpro updflash.bin: -r16 211.bin 211 1


接下来用以下命令将读取出来的文件写入映射的对应块 共8组注意全部为小写 请参照下图的注释自行修改命令
nandpro updflash.bin: -w16 211.bin 3F8 1
nandpro updflash.bin: -w16 199.bin 3F9 1
……
nandpro updflash.bin: -w16 192.bin 3FF 1


至此坏块处理完毕 刷入主机happy吧 ^_^

刚处理好的固件在360 Flash Tool中打开无法查看坏块信息,刷入主机后重新提取即可完美显示,同原始固件一模一样 我们的目的也就达到了

本教程亦适用于256M及512M存储主机 若需使用内置存储请用完整的原始固件合成

注:提取原始固件时若发现坏块处于7E之前需要注意 有一定的几率会影响到xell的运行而无法获取到CPUKEY 这样当然就不能打开原始固件查看正确的坏块映射 发生这种情况应先按上面的思路手动处理nandpro报告的7E前的坏块

需要用到的软件
360_Flash_Tool_v0.97 部分杀软报毒







an(shenzhen) 发表于 2011-1-13 04:17

鸟哥辛苦了,凌晨四点还在发帖···

longwing09 发表于 2011-1-13 08:05

好帖留名!顶上!字数补丁

pure0609 发表于 2011-1-13 08:11

好帖 有了这个 玩自制的就可以更顺手了

wangluoxi 发表于 2011-1-13 08:40

好帖留名!顶上!字数补丁

wangluoxi 发表于 2011-1-13 08:47

另外我想问一个问题:如果坏开存在于前16MB或前66MB的话,映射的位置比较靠后,再使用FBT9199 12611 ETC合成时,是否会提取错误的KV.BIN呢?这样的话,合成好的固件是不是也是有问题的,这样的固件修复的话,能不能修复成功呢?
是不是应该先修复原始固件的坏块到正确的位置,再进行合成呢?
16MB和256MB提取和写入坏块的命令是不是都是-r16和-W16呢?
另外最好把-W加红,标注上W要大写,现在的TX们粗心的太多了。

mr.h 发表于 2011-1-13 09:23

技术帖要顶顶...               

zcl273 发表于 2011-1-13 09:24

很详细谢谢.......................

.天堂任鸟飞 发表于 2011-1-13 09:24

本帖最后由 .天堂任鸟飞 于 2011-1-13 10:03 编辑

回wangluoxi 感谢关注

第一个问题 首先不论坏块处于什么位置,出厂的原始nand都始终完美 因为它标注了坏块及映射 把这些原封不动的移植到自制固件上也能达到同样效果

从提取KV的命令可看出 KV存储在nand的头部第1块 拿16M的nand来说 损坏的几率仅为1/1023 因此KV问题大可不必担心 实例的坏块均在前16M

第二 不同的nand容量提取和写入的命令肯定不同 稍后我还是注明一下
另外纠正一下-r16和-w16均为小写 因为读取和写入都是出于自身并包含了ECC校验

kenwcg 发表于 2011-1-13 09:53

技术帖,先顶后看,日后要用就搜索
页: [1] 2 3 4 5 6
查看完整版本: 完美你的Nand!用上内置存储@XBOX360自制系统手动完美处理坏块教程