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.

How to use Parallel XINTF boot in TMS320C28346

Hi engineers

How is the connections for boot mode 5 : "Parallel XINTF boot "?

I read sprufn5b(boot rom reference guide). but I wonder why in page 39 no address line is used?:

can i use this boot mode with an external parallel flash like AT49BV802D?

i don't want to use boot mode 9(jump to xintf) because it executes code line by line from xintf so is low speed.

i want to copy the code from external flash memory to internal ram and execute from ram.

thanks alot

  • Mohammad,

    Parallel XINTF boot is NOT designed for use with external "Dumb" memories such as a flash.  It is for use with a smart host that is able to follow the handshaking protocol implemented with this mode.  The address lines are used, but per SPRUFN5B section 2.18 3rd line, the address read by the C2834x is always 0x10_0000.  The host needs to stream in the data table listed in Table 11 or 12 (depends on bit mode).  The stream contains all the information needed to locate the incoming code/data in C2834x RAM.

    If you want to use an external flash, you should use jump to XINTF mode.  If direct execution speed is the concern (which you say it is), then what you should do is write a simple secondary bootloader.  The secondary bootloader can copy the code/data you want from the flash and place it in internal memory.  You can then run your code from internal memory.  If having the secondary bootloader execute from the flash is too slow, then it can copy itself into internal RAM and run from there.  I would go this later route, and have the secondary bootloader configure (i.e., speed up) the setting for the XINTF to match your flash once the secondary bootloader is running from internal RAM.  I'd also have the secondary bootloader lock the PLL.  Then, you can go ahead and do your copying.  This will get everything running at speed quickly.

    Remember, all you really need from a bootloader is the ability to get a tiny piece of your own code running.  From there you can have your code do anything you want.



  • thanks David
    you answered all my questions.
    is there any code example for such secondary bootloader?
  • Mohammad,

    I am not aware of any examples of a secondary bootloader. You can craft it to be whatever you want. Typically people will also do some sort of checksum or CRC at the end to make sure the transmission was correct.