EEPROM data stopped working for PIC14

Help
Anonymous
2011-01-16
2013-03-12

  • Anonymous
    2011-01-16

    Before, in sdcc 2.5.x, I could declare a variable in data EEPROM like

    const unsigned char __at 0x2100 eedata=0x1c;
    

    …and it would put do so.

    Now it tries to encode it like an array in code memory producing ASM like

    ID_0016_ascii_3 code    0x2100
    __ascii
            retlw 0x1c
    

    the retlw instruction obviously has no reason to be in data EEPROM.

    I've tried specifiers like __data and __code.  They don't make any difference.

    This breaks an awful lot of my code and I'm wondering how to fix it.