flash芯片的检测和烧写问题
小弟用三星的f9f208,但是发现有很多芯片都有坏道,不知道这些坏道影响使用不?而且怎么在焊接之前对这些芯片进行检测呢?如果有编程器加上夹具,可以对其进行检测吗?另外,可否通过编程器读取已经烧写好的flash并生成bin文件,然后用这个bin文件来烧写新的flash芯片呢?也就是说,不再焊接到板子上再用usb线通过PC机来烧写wince镜像?
[解决办法]
1.发现有很多芯片都有坏道,不知道这些坏道影响使用不
当然会影响到使用了,具体的影响就是flash的可用容量会变小
另外,你说的很多坏块不知道具体比例是多少,如果超过spec所描述的比例的话,是可以直接找samsung的人来要求赔偿的,前提你们是他的大客户
2. 而且怎么在焊接之前对这些芯片进行检测呢
工厂里烧录ut的时候就是直接把flash芯片放到一个烧录器上进行烧录,换句话说,可以改变烧录器的程序来检测坏块
3. 否通过编程器读取已经烧写好的flash并生成bin文件,然后用这个bin文件来烧写新的flash芯片呢
这个当然可以,至于是否烧录到板子上之后是否可用,取决于是不是同样设计的硬件线路
[解决办法]
FLASH芯片除第0块是允许有坏块的,如果坏块多的话,肯定会影响你的使用的
[解决办法]
一片NandFlash只要坏块不超过7个好像都算正常的吧,另外,至于影响的话其实不是很大,你想想假如是512B/Page,32Page/Bank的64M的flash,一共有4096个bank,即使有10个坏块的时候只是有160K的空间不能用。在用bootloader引导烧写NK的时候通过检查Spare区可以跳过坏块烧写啊
[解决办法]
“不再焊接到板子上再用usb线通过PC机来烧写wince镜像”
如果要烧BIN文件的话EBOOT每次都需要进度BIN文件解析才能启动,所以建议烧写NB0文件,但是有一点需要注意的是由于镜像文件比较大,在烧写的时候坏块处理一定要做好,否则EBOOT会读不到正确的数据。