Hello,I have a questiong puzzling me. For C6713 ROM load 1K program from the Flash, and in this program there is codes to load the rest program. For C6678, how to boot from the NOR flash?
Thank you!
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.
Cong Wang,
The C6678 boot modes are described in the Keystone Bootloader User Guide. The mode you are asking about is the EMIF16 boot mode which is very simple and just starts executing from the beginning of the Chip Select area described in that User Guide.
Regards,
RandyP
Thanks for your answer!
RBL of C6678 can support EMIF16 NOR Flash to bootload. When power is up, RBL will first config the EMIF16, then brance to 0x70000000. The user's application is loaded from NOR Flash, but how to brance to _c_int00(from NOR Flash to SRAM)? Can you offer me an example?
cong wang said:The user's application is loaded from NOR Flash, but how to brance to _c_int00(from NOR Flash to SRAM)?
This depends on the format of the "file" you write in the flash: if you use a raw binary file, you cannot automatically determine the good address and also how much and where you have to copy the application prior to jump to the entry routine. You can link the app so to place the entry point at a well know address but miss some info about the run address.
If you use a more descriptive format to load your app, you have to interpret it. In my projects a have choosen to wirte on the flash the ELF file produced by the linker (if required you can strip the debug symbols to reduce the size). The bootloader embed a minimalistic ELF interpreter to install the code into the RAM e find out the entry point address.
Other option is tu use S3 or Texas Instrument boot tables.
SPRA64 "Using OFD Utility to Create a DSP Boot Image", SPRA999A1 Creating a Second-Level Bootloader