We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
on a XC164CS-16F I'm using data model medium. But I also have huge data. I had no problem so far. But now I added some new data and am struggling with the linker / locator: I have added 3 modules that contain data of identical size that shall be stored in a non-volatile FRAM. Here is the code (replace x by 1, 2 and 3 for the three modules):
#pragma ORDER ... #pragma NOINIT #pragma RENAMECLASS(HDATA=FRAMx) ezy_meas_s HUGE ezy_measx;
The classes are:
... FRAM1 (0X180000-0X18A7FF), FRAM2 (0X18A800-0X194FFF), FRAM3 (0X195000-0X19F7FF), FRAM (0X19F800-0X19FFFF)) CINITTAB (0XC00000-0XC1FFFF) ...
The linker / locator places data from module 1 and 3 to the proper addresses:
180000H 18753FH 007540H HDATA REL WORD --- --- PUBL FRAM1 ?HD?EZY_MEAS1 195000H 19C53FH 007540H HDATA REL WORD --- --- PUBL FRAM3 ?HD?EZY_MEAS3
But fails to place module 2:
4086F4H 40FC33H 007540H HDATA REL WORD --- --- PUBL FRAM2 ?HD?EZY_MEAS2
There are no other modules which use the renamed classes FRAM1, FRAM2 and FRAM3. Does anybody have an idea why the locator fails here?
Thanks a lotThomas
Note This message was edited to reduce width.
Check the linker listing file to make sure that the section range definitions are listed in the groups list at the top (under the DPP registers).
Jon