Part Number: TMS320C6678
We are running on a c6678 DSP and using CCS8 with CGT c6000_8.3.2 and are seeing what appears to be corruption of the .text section when BOOT_MAGIC_ADDRESS is written.
extern volatile cregister unsigned int DNUM;
uint32_t getDspId() {
return DNUM;
}
Assembly before core0 writes boot magic address

Assembly after writing boot magic address of core 1, from core 0 with all cores but 0 halted

When the first core write BOOT_MAGIC_ADDRESS for core1 the asm code changes at the same time. It was my understanding writing that boot magic addr did not really do much until the IPC was written to release those core.
#define MAGIC_ADDR 0x87fffc
#define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24))
Is there more processing going on when BOOT_MAGIC_ADDRESS is written? When BOOT_MAGIC_ADDRESS is written I am seeing the .text section of the program have its memory modified, specifically one word is being set to c_int00 value. The address being written is no where near the .text memory that changes (0x9004007C in one instance)