Возможности компилятора IAR: uint8 __eeprom * p; //указатель на EEPROM __eeprom uint8 a=1; //переменная в EEPROM uint8 b=2; //переменная в RAM Далее можно свободно творить такое: *p = a + b; Т.е. синтаксис как для обычных переменных без домыслов об их расположении. Притом вместо uint8 может быть даже любой определенный typedef тип, например огромная структура.
ВОПРОС Есть вот такие функции для взаимодействия с энергонезависимой памятью (FRAM): void f24write(uint16 adr, void* p, uint8 num) void f24read(void* p, uint16 adr, uint8 num) где adr – адрес в FRAM p - указатель на RAM самого МК num – количество байт. Возможно ли реализовать с помощью C++ взаимодействие аналогичное по синтаксису с __eeprom? Т.е. чтоб в итоге можно было писать, что типа того: uint8 __fram * p; //указатель на FRAM __fram uint8 a=1; //переменная в FRAM uint8 b=2; //переменная в RAM *p = a + b;
|