реклама на сайте
подробности

 
 
> Выходной eeprom-файл
Mexx
сообщение Dec 17 2006, 04:55
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 7-09-05
Пользователь №: 8 331



Приветствую всех.

Мне необходимо создать образ 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Сергей Борщ
сообщение Dec 17 2006, 15:33
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Mexx @ Dec 17 2006, 03:55) *
1. почему, если объявить crc не как массив, а просто как char, то ее значение в выходном eep-файле пропадает?
Неизвестно. Не должно. Как именно объявляешь?
Цитата(Mexx @ Dec 17 2006, 03:55) *
2. можно ли обойтись без функции dummy?
Да.
Код
__root __eeprom volatile const unsigned char params[2] @DATA_ADDR = {1, 2};
__root __eeprom volatile const unsigned char crc[1] @CRC_ADDR = {0x12};
Но зачем хранить данные которые не используются?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Mexx
сообщение Dec 17 2006, 22:30
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 7-09-05
Пользователь №: 8 331



Так в вых eep-файле значение 0x12 есть:
Код
__root __eeprom volatile const unsigned char crc[1] @CRC_ADDR = {0x12};

А так - нет:
Код
__root __eeprom volatile const unsigned char crc @CRC_ADDR = 0x12;
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016