Hello,
I'm working with a multicore program on EVMC6678L using IPC, and met a strange behavior.
My understanding is ".text" section contains 'executable code and constants' only according to 5.3.5 of SPRU187T document.
So, if the same program runs on all the core, the contents of ".text" section for each core are the same.
Then I mapped ".text" section to MSMCSRAM to share code/data.
But the program behaves strangely.
You can re-produce using IPC message example.
1. Comment out 'BIOS_start()' in main() function in message_multicore.c to simplify the problem.
2. Add 'Program.sectMap[".text"] = "MSMCSRAM";' to message_multicore.cfg.
3. Build the project
4. In debug perspective, group all the 8 cores and load the program on the group.
5. 'Resume (F8)' on the group.
6. All cores aborts, and produce messages like below in Console window.
[C66xx_6] Exiting program (6)
[C66xx_0] Exiting program (0)
[C66xx_1] Exiting program (1)
[C66xx_2] Exiting program (2)
[C66xx_3] Exiting program (3)
[C66xx_4] Exiting program (4)
[C66xx_5] Exiting program (5)
[C66xx_7] Exiting program (7)
7. 'Restart' on the group.
8. 'Resume (F8)' on the group.
9. Some core(s) are in 'Running' state, but others are in 'Suspended' state.
Why?
If the contents of the ".text" section are the same among all cores, and is not modified,
The program might run like the step 6. Is ".text" section modified during the program running?
PS. I found the example (image_processing) shares ".text" section among slave cores (7 cores).