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.

RTOS/TMS320C6678: MAD IMAGE QUESTION

Part Number: TMS320C6678

Tool/software: TI-RTOS

I have some questions about MAD image.

I'm using 6678 made by myself, and for some reason it doesn't have I2C, but I still want to use the MAD image, because it is convenient to creat a multicore image.

This is what I have done to accomplish the image booting.

  • set the boot mode to "no boot"
  • erase the first 5 sectors in NOR FLASH 
  • use nor_write() API to write the first boot image, whose function is :
    • initialize DDR3
    • read(spi_nor_read) extra  sectors in NOR FLASH to 0x9E000000
    • set the program entry to 0x9E001040 with the next code line :

exit = (void (*)())(0x9E001040);
(*exit)();


  • erase the extra sectors in NOR FLASH
  • use nor_write() API to write the second boot image(main image---MAD image created by maptool.py
  • set the boot mode to "Nor boot on image 0"

For steps above, I can boot a simple "SRIO + IPC + NDK" application whose MAD image size is 1601KB, but if I boot a 1914KB MAD image , it failed.

I use the steps in next image to test the 1914KB MAD image ,it works well.

Next is the difference between the 1601KB MAD image and 1914KB MAD image .

  • 1601KB project only has 2 kind of .out file. one runs on Core0, the other one runs on Core 1 - 7
  • 1914KB prjoject has 3 kind of .out file.one runs on Core0, second runs on Core1-6, last one runs on Core 7.

  • 1601KB project place .far:NDK_PACKETMEM,.far:NDK_OBJMEM on MSMC
  • 1914KB project place .far:NDK_PACKETMEM,.far:NDK_OBJMEM on DDR3.

Anyone can help me solve this question?