Using the NAND driver from this post, we have been been successfully able to load our custom application into our custom board, and its working fine as well.
Settings in CCES:
Boot mode: NAND
Boot Format: ASCII
Output Width: 8 bits
The .ldr file created is of size 429KB. And the code is booting successfully from the NAND.
But now I have stumbled upon an un-expected error. As the size of the .ldr increased to 439KB, I am unable to load the program from the NAND.
While flashing the code into the NAND, the CLDP doesnt give any error.
To check my code, I executed the code using JTAG, in debug mode and it is working fine as well. To verify our custom NAND, I flashed the same code onto the NAND of the ADSP-BF548 Ez kit lite board, but the result is same. The code is not getting boot from the NAND.
But if I reduce the size of my .ldr file, to say 429KB again, I am able to boot from NAND again successfully, both on the Custom Board and on the EzKit lite board.
Also as suggested in this post, I increased my boot blocks to 250 from 128, in the NAND flashing driver file. Compiled it in Visual DSP, and used elf2elf to make it CCES compatible. But still didnt help.
One more info: The external SDRAM in our Custom Board is of 32MB. But the timing are same as per the init code provided with the ez kit lite board.
The NAND is same. i.e it has same number of blocks, no of pages, and page size.
I am confused. what could be the probable reason for such an error. Please guide.
It is possiblt to share the code, or the project if required.
Here is the command I am providing to the CLDP:
cldp -verbose -proc ADSP-BF548 -emu ICE-100B -driver "C:\Analog Devices\ADSP-BF548_EZKIT-Rel1.0.0\BF548_EZ-Kit_Lite\Blackfin\Examples\NandFlashProgrammer\Nand_backup_22_07_13\ADSP-BF548\Debug\BF548_new.dxe" -cmd prog -erase affected -format hex -file "C:\Documents and Settings\admin\CrossCore Embedded Studio_new\MBM_loopback\Debug\MBM_loopback.ldr"