Consider this in my M3 CMD file:
/* Message RAM */
CTOMRAM (RX) : origin = 0x2007F000, length = 0x0400 /* C28 to M3 Message RAM */
GC_FF (RX) : origin = 0x2007F400, length = 0x0002 /* Generator Control Fault flag */
...
FF_GenControl: > GC_FF
GROUP : > CTOMRAM
{
GETBUFFER : TYPE = DSECT
GETWRITEIDX : TYPE = DSECT
PUTREADIDX : TYPE = DSECT
}
This in a C file:
Uint16 FaultFlags_GeneratorControl_c28;
//#pragma DATA_SECTION(FaultFlags_GeneratorControl_c28, "FF_GenControl");
If I build and load this project with these lines, it works as expected. If I uncomment the highlighted line, the processor gets lost in the start-up code (it never reaches main).
Is there a rule that I am breaking about explicitly putting variables in the Message ram?