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

 
 
> Адресация констант EEPROM в IAR и VS, как совместить?
sevstels
сообщение Dec 5 2009, 07:01
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Есть утилита, которая меняет параметры устройства записью их в EEPROM AVR. Переменных этих накопилось уже довольно много, и начинаются проблемы с совпадением адресов (заданных жестко) при изменении кода утилиты и кода AVR. Приходится перепахивать всё, в случае сдвига переменной в секторе eeprom или добавлении новых на их место.

Подскажите плиз, как оформить файл "eeprom.h", чтоб компилятор IAR и MSVS C++ могли извлекать адреса переменных по их именам. Подключение IAR-овской версии Visual Studio не понимает и выдаёт кучу ошибок.

пример как сейчас сделано
#define AUDIO_LEVEL_L 0x0fe8
#pragma location = AUDIO_LEVEL_L
__root __eeprom volatile unsigned char AU_level_l = 0x80;

-


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sevstels
сообщение Dec 7 2009, 00:53
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



>>Объединение переменных в осмысленные структуры
Всё равно, "криво" это как то... не удобно.


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Dec 8 2009, 07:38
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(sevstels @ Dec 7 2009, 04:53) *
Всё равно, "криво" это как то... не удобно.

Всем удобно, а Вам - неудобно. Вспоминаю как страшный сон свои попытки неиспользования структур. Это сродни ручной линковке.

Что касается инициализации трех сотен байт, то есть способ включения в текст имен полей, с предшествующей точкой, кажется, поищите тут по форуму.
Типа ={.field1=30, ...} Мне неактульно, вот и подзабыл, сорри.

Для того, чтобы не удивлять Вижуал студио страшными словами типа __eeprom, используется условная компиляция.

Успехов wink.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post



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

 


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


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