Part Number: TMS320C6678
Tool/software: TI-RTOS
Hi,
i'm running different applications on different (0 to 7) cores of the C6678 DSP ant noticed very strange issue as described below:
1. while on one core (for example core 1) i allocate memorry (using "new") the object is allocated to the address 0x80001fc0
2. while core 0 is running, on core 1 executed the allocation mentioned in #1 and allocated memory is zeroed (memset).
3. while the memory allocated is zeroed - the core 0 is crushing.
4. while debugging i noticed that when i change the value at 0x80001fc0 on core 1 happens some strange things:
a. the value at 0x80001fc0 is not changing on set command. only on 2nd or 3rd time it finally changes.
b. when the value finally changes - this value is reflected (modified) in all other cores at the same address (0x80001fc0) (same on next addresses)
c. when trying to modify the value of the address 4 bytes before (0x80001fbc) the value updated in each core separately and wasn't modified in this address (0x80001fbc) in other cores. (same on addresses before 0x80001fbc)
5. the problem is consistent and repeats every time.
what is so special about the address 0x80001fc0 (before or after)?
if this addresses are special or reserved, why the OS allocates it for user objects?
how can i solve this issue?
Please advice,
Thanks in advance!
Shlomi