工具/软件:
目前在 AM62A TI EVM 上、我们有一个来自 Winbond 的 OSPI 串行 NAND 闪存。
闪存为: W35N01JWTBAG
让我们了解一下如何相对于一些特定的寄存器完成 BBM。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
目前在 AM62A TI EVM 上、我们有一个来自 Winbond 的 OSPI 串行 NAND 闪存。
闪存为: W35N01JWTBAG
让我们了解一下如何相对于一些特定的寄存器完成 BBM。
了解我们的 MCU+ SDK 产品中如何以及在何处实现 BBM(坏块管理): 【常见问题解答】AM62A7:NAND 闪存器件的坏块实现
对于擦除 API:
我看到用户将块编号传递给函数、然后该函数找到下一个要擦除的良好块。 例如、如果传递的当前块为块编号 5、则假设存在一个场景、其中块如下所示:
… 、 5、6 、7、8、 9、10、 (红色表示坏块,绿色表示好块)。
然后、擦除功能将擦除块编号 7。 在擦除块 7 时、有两种情况:
对于写入 API:
用户将要写入写入写入函数的偏移量和字节数传递给该函数。 根据两个输入、计算块编号。 假设块编号为 5、并假设与上述情况相同:
… 、 5、6 、7、8、 9、10、 (红色表示坏块,绿色表示好块)。
在本注释中、要写入的块将是第 7 个 1。 有两种情况:
请注意、在擦除或写入 API 内部、我们表示块已损坏的方式是读取 E-Fail 和 P-FAIL 寄存器的状态。
对于闪存: W35N01JWTBAG

就擦除而言、会检查 E-FAIL 位。
请在以下路径中浏览文件内容: C:\ti\mcu_plus_sdk_am62ax_11_01_00_16\source\board\.meta\flash\serialFlash\W35N01JWTBAG.json
在这里您会遇到两个变量/参数:“srProgStatus"和“和“srEraseStatus"。“。
它们的值 3 和 2 分别表示位号。 该值与上面的数据表片段中显示的值匹配。
当我们执行擦除操作时、 Flash_nandOspiCheckEraseStatus 负责检查 E-FAIL 位。 如果它检查并发现 E-Fail 位为 1、则将该块标记为错误。
同样、对于写入/编程操作、 Flash_nandOspiCheckProgStatus 负责检查 P-FAIL 位。 如果设置为 1、则将块标记为坏。