返回列表 发帖
回复 5# 1246406933

芯片只有1024个块,最大值此为1023,

你的设置错误:替换坏块位置1023太大(可设为1000),是最后一个块, 第二个坏块。替换位置1024 不存在,所以错误 。


另外替换坏块位置是要与设备软件配合使用的!不是随意换一块就能用的

TOP

回复 8# 1246406933
如果替换址设为1000
还要设置分区写入,如果只有一个分区   ,分区的有效块不能大于1000,相当于23个保留块,用于替换
(或数据文件不能大于1000个块, 如果数据全满,没有位置可以替换)。


理解替换的意思。 数据只能写到前面的1000个块,后面的块是用于替换保留的。

你这个写法,发现坏块替换写入到1000, 写数据时又向第1000块写入,写入两次当然出错

TOP

回复 10# 1246406933

NAND需要批量生产,必须有分区表,分区表跟据系统工程中的物理地址由软件工程师设定。

维修复制,找没有坏块的芯片用硬拷贝,专业的人也能从读回来的芯片数据分析出分区表

TOP

我用一个坏块的闪存设置1010-1023替换都可以正常工作,为何2个坏块3个坏块的闪存就不行了呢?
有设置1 ...
1246406933 发表于 2022-1-19 14:01


你的设置是错误的,能工作不一定是正常的,刚好坏的哪块没有用到,用到时就出错了。编程器关于坏块跳过与替换功能是没有问题的,并且功能是完整的,T56很多用户,在新产品中进行量产使用。

TOP

回复 15# 1246406933


   已经讲得很明白,第一个坏块程序启动时没有用到,第二个块坏程序在启动时用到,你跳到1100,程序不可能知道你跳到了1100。  坏块跳转,必须用设计时指定的坏块处理方法及地址块。(如果是维修复制,你就不要考滤使用跳过坏块,想办法找到没有坏块的芯片进行复制,是最简单的方法,或有坏块,但烧录时不提示校验错误也可,这种情况是母片数据,在这坏块处刚好是空的,没有用到,这个复制一样可以正常使用)

除非你特别的专业。

想用读回来的数据,想办法要跳过坏块。
1.首先要分析读回来的数据,找到如何分区。
2.需要找到原数据芯片坏块表的位置(理论上这个坏块表不一定在NAND芯片中,有可能存储在另个的EEPROM芯片中),对原坏块表所在的数据进行删除,这样系统启动时会对新的芯片重建坏块表。
3.任何通用的坏块管理方法是没有的,同一个设备,不同的生产日期,如果设计者进行了更改,分区地址可能就不同。
4. 多种操作系统都有使用不同的存储器管理,方法千差万别

TOP

回复 17# 梦翔科技
软件自动是不可能,
自已设置分区表, 多文件模式操作(只设置要操作一个或多个分区),可以实现你想需要的写入方法。
全部设置完成后,保存工程,下次使用只要打开工程,就可直接烧录。
注意一点,[擦除时,选择只擦除选中分区的块],否则烧录时全片擦除了

另外把你所保存的工程及数据,直接发给另一个用户,这个实际就是一个自动的量产工程数据,对其他用户来说,这就是你说的"软件自动"。
用户只需打开工程直接烧录,这才是编程器应有的量产烧录功能。
(如果你想使用密码+MAC保护工程的数据,一定程度上防止非法复制, 实现也很简单,可做到任何人没有密码+MAC无法破解,
在邦定网卡MAC的条件下,可以限止工程的烧录次数,及数据使用日期限止,这部分功能,如果需要可以完善工程的加密功能)

TOP

返回列表 回复 发帖