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.

File conversion utility for EMIF16 boot

Dear TI engineers,

DSP-6672 on my board is designed to boot from NOR flash memory connected with EMIF16 bus, directly.
But, I don’t know how to prepare the EMIF16-bootable code.

These are some questions, that I have, related with EMIF16-booting :

1. Does TI provide some utility that converts ELF-format output file to EMIF16-bootable binary code?
    I know “hex conversion utility” is provided with CCSv5.
   But, I’m not sure that the utility supports EMIF16-bootable code.

2. DSP-6672 bootstrap on my board is set to EMIF16-boot. 
   Then, the program counter will jump to 0x70000000 when it boots up? 
   I saw some posting on this forum says it is 0x7006F778 instead of 0x70000000. 
  Which one is correct?

3. What kind of data should I locate on 0x70000000 (or 0x7006FF78)?
   Booting information table, like I2C-boot case? Or Just program code “_c_int00” ?

Is there more information that I should know, please let me know.

 

Regards.

  • JungBai Park said:
    1. Does TI provide some utility that converts ELF-format output file to EMIF16-bootable binary code?
        I know “hex conversion utility” is provided with CCSv5.
       But, I’m not sure that the utility supports EMIF16-bootable code.

    -> Yes, hex6x is the utility that will help you convert the application .out file to a binary boot table that is loaded by the ROM. There are few other software components  you will need to enable NOR boot on the device like IBL ( applies the PLL fix that is required for the EMIF boot) and NOR writer for programming the NOR flash . Please refer to the MCSDK documentation here : to understand the multi-stage boot process that enables NOR EMIF16 boot.

    http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Intermediate_Boot_Loader_.28IBL.29_and_Examples

    You can look for this example code under tools/bootloade/i2d/nor.

    JungBai Park said:
    2. DSP-6672 bootstrap on my board is set to EMIF16-boot. 
       Then, the program counter will jump to 0x70000000 when it boots up? 
       I saw some posting on this forum says it is 0x7006F778 instead of 0x70000000. 
      Which one is correct?

    The default branch address for EMIF16 boot mode is 0x70000000 so make sure the entry point _c_int00 for the application image is at 0x70000000

    JungBai Park said:
    What kind of data should I locate on 0x70000000 (or 0x7006FF78)?
       Booting information table, like I2C-boot case? Or Just program code “_c_int00” ?

    Locating the entry point of the application at EMIF16 CS2 data memeory 0x7000 0000 should be sufficient.

    Please let us know if you have any follow up questions.

    Regards,

    Rahul