Other Parts Discussed in Thread: OMAP-L138, SYSBIOS, OMAPL138, TMS320C6748
Tool/software: TI C/C++ Compiler
Hi everyone,
I'm having trouble reading from the NAND flash chip (MT29F4G16ABADAH4) on the LCDK board, and I'm looking for suggestions.
I send a basic READ ID command (0x90, 0x20), but instead of reading back the normal ONFI code (ascii "ONFI") I get an ascii "OOOO". The memory browser actually shows "ONFI" but it seems that the data isn't being properly shifted out of the NAND cache register.
A few additional facts:
- When I compile TI's NANDWriter_DSP project I do not have this problem - even if I add SYS/BIOS I can still flash a boot image just fine
- I'm using some of the same code from TI's NANDWriter_DSP project in my project
- I'm using compiler version TI v8.1.0
- My project uses TI-RTOS. However, this issue occurs even before a call to BIOS_start()
Strangely, when I create a copy of the NANDWriter_DSP project with SYS/BIOS and try a READ ID command then it works just fine -- but when I use the same code in my SYS/BIOS project it compiles differently and does not shift properly (as described above). I've attached screenshots showing the difference in disassembly.
Code for reading from NAND flash: devID16[i] = *addr_flash;
I've searched the compiler settings of both projects looking for some difference that could account for this but I came up empty-handed. It feels like I'm missing something obvious.
Any help or insight on this would be immensely appreciated. I'm happy to provide additional information and clarification as needed.
Thank you,
David Askew