Хочу легко и просто работать с внешней памятью : - определять переменные, массивы, структуры int a, char abc[10]; - читать из этой памяти примерно так temp=a; temp=abc[4]; - писать в память a=8; abc[2]=10;
При этом тип внешней памяти может быть любой (SRAM, EEPROM, Dataflash...) и интерфейс доступа тоже (spi, i2c, ногодрыжество)
Посмотрел в сторону встроенного eeprom для avr (способ общения с ней) - то что надо, но похоже все жестко описано на уровне компилятора.
Попробовал определить свой сегмент в xcl файле //************************************************************************* // Read/write segments mapped to 128K External RAM. //************************************************************************* -DextRAMSTART=000000 -DextRAMEND=01FFFF //************************************************ // Data segments. //************************************************ -Z(XDATA)extDATA=extRAMSTART-extRAMEND
Определил переменную __no_init int alpha @ "extDATA";
Обратился к ней alpha=10;
А вот как теперь объяснить компилятору что нужно сделать чтоб записать во внешнюю память число 10?
|