Question:
Is there any restriction for defining normal-word variables in seg_dmda_nw section on SHARC+?
Answer:
On SHARC+ parts, attempting to define normal-word/word-addressed variables and arrays in byte-addressed code by placing them in the seg_dmda_nw section using section keyword or #pragma section is unsafe.
This can result in incorrect code and will produce larger data objects than intended. Prior to CCES 2.10.1 an error would be emitted by the compiler when attempting to do this using #pragma section, but no error was seen when using the section keyword to do the same.
A cc3832 error will now also be emitted for the section keyword when using CCES 2.10.1.
The correct way to define normal-word/word-addressed variables and arrays is by defining them in a separate source file which is built with the char size set to 32-bit (-char-size-32 compiler switch).
These variables should be declared in byte-addressed code using #pragma word_addressed on the line immediately before the extern specifier.