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.
您好!
由于我注意到 MCSDK 3.1.4中的 nandwriter.c (格式化 nand 闪存不允许坏块)存在问题、我想查看 与 Processor SDK 04.02.00.009兼容的最新代码(我正在从 MCSDK 迁移到此版本的 Processor SDK)。
在搜索此主题时、我仅找到 有关此路径的信息:[SDK 安装路径]/pdk_ _ /packages/ti/boot/writer.
但在处理器 SDK Linux 中没有这样的功能。 如何继续?
我下载了 Processor SDK RTOS (5.0版、最后一个版本)并查看了[SDK 安装路径]/pdk_k2e_4_0_10\packages/ti\boot\writer\nand\src (我的目标平台为 k2e)中的 nandwriter.c。
当我只想使用 Processor SDK Linux 时、我是否确实需要下载相同版本的 Processor SDK RTOS?
关于 nandwriter.c、 代码似乎没有改变。 在 nand_erase_all_blks 函数中、仍然存在:
静态 bool nand_erase_all_blks (platform_device_info *p_device) { uint32_t block; uint32_t max_blks; max_blks = p_device->block_count; 对于(块=0;块 ".");="" if="" (platform_device_erase_block(p_device-="">句柄,块)!= Platform_eok) 返回 false; } printf ("\n 格式化%d 和块\n"、块); 返回(true); }
但从我的角度来看、它应该是这样的:
静态 bool nand_erase_all_blks (platform_device_info *p_device) { uint32_t block; uint32_t max_blks; max_blks = p_device->block_count; 对于(块=0;块 ".");="" if="" (platform_device_erase_block(p_device-="">Handle、block)!= Platform_eok) { printf ("\n 格式化和块%d 失败\n"、块); } printf ("\n 格式化%d 和块\n"、块); 返回(真); }
这是奇怪的、因为闪 Nand 之后接受错误的块。
尊敬的 Rex Chang:
感谢您的完整回答。
我想使用 program_EVM 格式化 NAND 闪存、然后使用 Processor SDK Linux 在我的定制板(基于66AK2E05 SoC)上刷写默认映像。
program_evm 使用的是 nandwriter、是 MCSDK (nandwriter.c)中包含的源文件、但 Processor SDK Linux 中不再包含该源文件。 仅包括 nandwriter 的二进制文件(与 program_evm 一起)。
由于当一个块出现故障(这一点并不少见)时、Nandwriter 正在停止格式化块、因此我想更改 Nandwriter 的源。 为了获取源代码、我唯一找到的方法是获取包含 nandwriter 源代码的 Processor SDK RTOS (与 Processor SDK Linux 相同版本)。
这就是我提出2个问题的原因: