Hi,
I'm trying to boot a C6745 on a nand flash MT29F2G08 connected on CS3 of EMIFA.
My boot pins are ok, and when the DSP boots, I see the CS3 trigger on the board, and I haved succeed to program/read/erase the flash device with my own code.
I haved try to generate the code with AIS, and to program the flash like indicated on the D800K001 specs, but the device doesn't boot, and the ram contains garbage.
My code in Flash contains the AIS script wich start at 0x20000 (Block 1) and each page of 2048 bytes contains a part of the code and the 64 spares bytes are at value 0xFF.
Does someone have an idea of what I have done wrong?
Thank you!
Hi, Were you getting the same behavior when executing your code via the emulator? If not, it could be that the AIS file is not performing all system configurations which are handled by the GEL file during development. The following wiki article ( http://www.tiexpressdsp.com/index.php?title=Flashing_the_C6747 ) discusses modifications made to the PSP examples to include the configurations, generating the ais image, and flashing the C6747.
Were you getting the same behavior when executing your code via the emulator?
If not, it could be that the AIS file is not performing all system configurations which are handled by the GEL file during development. The following wiki article ( http://www.tiexpressdsp.com/index.php?title=Flashing_the_C6747 ) discusses modifications made to the PSP examples to include the configurations, generating the ais image, and flashing the C6747.
You may also want to make sure that the boot pins are driven to proper levels for your boot mode as discussed in this thread. If not properly driven you could be in a different boot mode which would explain the behavior you are seeing.
-Tim
---------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
Hi Devin,
Thank you for this information, I haved try to boot directly from the emulator, and the problem is the same, the bootcfg register is good, and represent the Nand 8 boot, but the ram still got garbage!
The wiki article you sent me help me a little bit, but it is for booting on a spi nand, and actually i'm on a Nand 8 flash device, so the systems configurations is good to know exactly how to perform that, but in my case, the bootloader doesn't even run my code, because it doesn't still succeed to load my code in ram!
In the AIS generator, I can add CRC calculation in the AIS file, but do I furthermore have to program the CRC(in spares bytes) for each page of 2048 bytes in the flash device??
anyone have an idea about my problem?
thank you!
hi there:
I can't help, but I can tell you I am getting the exact same behaviour from a 6747 on our board (same NAND set up, etc). I have used the AIS generator, and have even rewritten the NAND libraries (and written custom code) to burn the data to the NAND as specified for the bootloader. According to the doc the spare bytes must have 16 bytes per 512 byte section, with 6 bytes of 0xff and 10 bytes of ECC, but it DOES NOT specify what kind of ECC. I have tried the ECC codes from the NAND ECC modules on the chip itself. I have read and verified the data on the NAND. I have verified location.
No luck. Calling TI tomorrow. Will post if I figure it out. Did you get yours working?
I got help from TI support (thank you). They provided sample code to write to NAND and now my 6747 device boots! The only differences are in the ECC calculation for the 10 bytes and the fact that it protects the NAND blocks when done. I am not sure which (or both) are needed, but if you still have issues contact me via e-mail and I'll relay the sample code they sent.
It is strange that the NAND drivers provided with the 6747 do not seem to write the same ECC codes as the sample code!
hi,can you send the sample code to me.i have trouble on boot from nand8.
my email is: aduhupu@hotmail.com
thanks.
I am waiting for get an OK from the TI rep to release the code I was given (although it is supposed to become part of the SDK). Anyone from TI here can comment on whether if there is any problem if I relay the code snippet that burns the flash properly for 674x?
Edmund,Did the code come with a click-wrap or some sort of license? Presumably this should not be an issue unless you were given it under NDA or with explicit instructions not to distribute (keeping in mind that I am not a legal authority).
The 6747 "DSK" code (which is really for the OMAP-137) was missing any sample code for NAND flash burning of the AIS. I read the documentation, followed all steps, and device still wouldn't boot. I contacted TI support and was given a code snippet that was not yet released to burn the NAND from AIS file and it works.
So I am not sure, is there an implicit NDA or do not distribute? All it is is your basic NAND flash handler and code to calculate and burn the checksums into the spare area.
omap-L137 PSP have a sample code( nand_writer).i can use it flash armubl、dspubl and uboot. But i can't boot form nand too. i have use oscilloscope to catch.I find cpu read the nand when boot,may be there have ecc errors.
i have a smaple code from omapl137 sdk. i can send it to you.can you help me check it?May i have you email?
I also tried to use that sample code and it does not work. I had to make a bunch of modifications and it still did not work. Someone from TI may be posting the sample code here shortly.
Hi Edmund,
I am a beginner with omapl-137, I can't boot from nand 8. Can you send the sample code to me?
email: sonic_ll@sina.com
Any Ti employee can solve this question?
I have sent another request to TI contact to release code or give me permission to do so. Sorry everyone, hang in there!