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?