Приветствую всех.
Мне необходимо создать образ eeprom с начальными значениями параметров устройства.
Делаю примерно так (IAR AVR 2.38, оптимиз выкл):
__eeprom volatile const unsigned char params[2] @DATA_ADDR = {1, 2};
__eeprom volatile const unsigned char crc[1] @CRC_ADDR = {0x12};
// без этой ф-ции eep-файл пустой
static void dummy() {
volatile char i;
if ((params[0] == 0) || (crc[0] > 0))
i = 1;
else
i = 2;
}
В этом случае eep-файл создается нормально. Но объясните, плиз:
1. почему, если объявить crc не как массив, а просто как char, то ее значение в выходном eep-файле пропадает?
2. можно ли обойтись без функции dummy?
Thanx