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.

I2C MASTER BOOT CODE EXAMPLE

Hello,

I am trying to boot C6472 on a TMDXEVM6472 board by I2C master boot mode (boot mode 2) from the EEPROM. Can I get any example code (which is used for such booting)? With the guidelines in the EVM user guide I am able to write in the EEPROM properly. But I want to have a look at a source code which acts as a boot code (e.g, source code of 'evm6472_post.out' present in the '<\bootloader_package\EEPROM_flash_image_gen\I2Cboot\input>' path.

Regards,

AC.

  • The source code for evm6472_post is available in bootloader_package\evmc6472_post directory.

  • Sajesh is referring to the MCSDK download at:

     

    http://focus.ti.com/docs/toolsw/folders/print/bioslinuxmcsdk.html

    The R1 release is for the C6472.  After you install it, you will find the POST src at:

    C:\Program Files\Texas Instruments\mcsdk_1_00_00_08\packages\ti\platform\evm6472\bootloader_package

     

    Regards,

    Travis

     

  • Thanks Travis and Sajesh for showing me the sources. I have some doubts. I am sorry if they appear silly.

    • In the source files for generating the 'evm6472_post.out' there is a function 'evm6472Init( )' (inside the file 'evm6472.c') which I think is not called by any routine. Same is for the function 'I2CInit()' (in the same file). This POST requires a booting in I2C master mode (bootmode-2) but still why is I2CInit( ) not called?
    • Also at the end of the file 'main.c', why is 'emacBoot( )' called, whereas EMAC boot is for bootmode 9 and 10?
    • In my multicore application (on C6472) I have 6 application codes which are to run on the 6 cores. I have built the applications in No-boot mode. But finally I want to boot the device from I2C EEPROM in I2C master mode and after that I need to load the application codes (from a non-volatile memory, preferably the same EEPROM) into their
      respective 6472-cores and start simultaneous execution using the BOOT_COMPLETE_STAT register. Can anyone give me an overview of the booting process emphasizing on the functions that I need to call from the existing source files (of evm6472_post.out) and about the routines that I need to write in addition to the existing ones? C6472 is configured in 700MHz clock with little endian mode. I am referring to the bootloader user guide (SPRUEC6F) also.

    Regards,

    AC.

  • AC,

    If you look at the readme.txt in the C:\Program Files\Texas Instruments\mcsdk_1_00_00_08\packages\ti\platform\evm6472\bootloader_package\evmc6472_post directory, you will see that the Power On Self Test utility does the following:

    (1) Memory - Internal shared RAM and DDR2 Memory
    (2) Internal EMAC Loopback
    (3) Performs ROMBOOT re-entry to perform EMAC boot on EMAC port 0.

    -  Since it is booted from the I2C, the I2C is already initialized by the ROM code for I2C master boot.

    -  EMAC boot is called at the end of POST to allow you to boot a program after the other tests have passed.

    -  As far as booting a multicore application, you are on the right track with BOOT_COMPLETE_STAT and there are multiple threads on this topic.  For example: http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/439/t/114367.aspx 

    There is also an Boot Test Package available with a multicore I2C example at:  http://processors.wiki.ti.com/index.php/C6472

     

    Regards,

    Travis