I am in the middle of porting code from a TMS570 device to an RM44 device.
I get data abort (dabort.asm) from the in the run_cinit(); function, which is called by __TI_auto_init.
I found that the use of the keyword restrict in a function in my code was the trigger for this behavior.
I am using CCS 6.0.1.00040; Halcogen 04.05.00 (same results with 04.05.00); and Compiler version 5.2.2
The same code runs without a problem on the TMS570, and is all C code - no C++.
Finally, if I remove restrict, the problem goes away, even through the function with the offending keyword has not been called at this point in the process.
I would like to know the cause for this behavior, as judicious use of restrict could improve performance in some time critical passages.
Thanks in advance to anyone with insights.