主题中讨论的其他器件:OMAP-L138、 SYSBIOS、 OMAPL138、 TMS320C6748
工具/软件:TI C/C++编译器
大家好、
我在读取 LCDK 板上的 NAND 闪存芯片(MT29F4G16ABADAH4)时遇到问题、我正在寻找建议。
我发送一条基本的读取 ID 命令(0x90、0x20)、但 我不会读回正常的 ONFI 代码(ASCII "ONFI")、而是得到一个 ASCII "OOO"。 内存浏览器实际上显示"ONFI"、但数据似乎没有正确移出 NAND 高速缓存寄存器。
其他一些事实:
- 当我编译 TI 的 NANDWriter_DSP 项目时、我不会遇到这个问题-即使我添加了 SYS/BIOS、我仍然可以闪存一个引导映像、只是正常
- 我正在我的项目中使用来自 TI 的 NANDWriter_DSP 项目的一些相同代码
- 我使用的是编译器版本 TI v8.1.0
- 我的项目使用 TI-RTOS。 但是,即使在调用 BIOS_start()之前也会出现此问题。
奇怪的是,当我用 SYS/BIOS 创建一个 NANDWriter_DSP 项目的副本并尝试一个读取 ID 命令时,它的工作正常--但是当我在 SYS/BIOS 项目中使用同一代码时,它的编译方式不同,并且没有正确移动(如上所述)。 我随附了屏幕截图、其中显示了反汇编的区别。
从 NAND 闪存读取的代码:devID16[i]=* addr_flash;
我已经搜索了两个项目的编译器设置、寻找可能会导致这种情况的一些差异、但我是空手提出的。 感觉我缺少一些明显的东西。
如果对此有任何帮助或见解、我们将不胜感激。 我很乐意根据需要提供更多信息和说明。
谢谢、
David Askew





