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

 
 
> генерация EEPROM в EWAVR 4.20a, дает "пустышку"
Аристарх
сообщение Sep 7 2006, 20:02
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 29-08-06
Пользователь №: 19 923



Пару дней назад сел за этот компилятор и сразу появились грабли.
При использовании ключей
Код
-Ointel-extended,(CODE)=.hex
-Ointel-extended,(XDATA)=.eep

по первой строке все нормально создается. По второй он создает файл нужного стандарта, но он пустой. точнее при любых начальных инициализациях EEPROM он вида
Код
:0400000300000000F9
:00000001FF

Пробовал на разных настройках в том числе на "чистых" - т.е. Factory Settings

архив проекта.
я понимаю что тема не нова. вполне возможно это конкретно мой глюк или моей среды (не крякнута).

Сообщение отредактировал Аристарх - Sep 7 2006, 20:03
Прикрепленные файлы
Прикрепленный файл  eeprom_test.rar ( 18.62 килобайт ) Кол-во скачиваний: 62
 


--------------------
...Сейчас запустим - узнаем!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorKossak
сообщение Sep 16 2006, 12:40
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



chernenko, подробно об этом здесь, ибо код ошибки, сгенерированной линкером в Вашем случае указывает именно на то, что Вы имеете несколько пространств памяти eeprom, flash, ... в Вашем проекте.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Oct 26 2006, 10:18
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Я уже давно делаю так:
Код
__no_init __eeprom unsigned char ee_flag;
__no_init __eeprom unsigned char a;
__no_init __eeprom unsigned int b;

int main()
{
  if(ee_flag==0xFF)
  {
    ee_flag=0;
    a=0;
    b=1000;
  }
  // Остальной код
}


В качестве флага можно использовать одну из полезных из переменных, если у неё FF недопустимое значение. Это дает много плюсов. Во-первых, компилятор не генерит сегмент ee_prom и не надо думать как его вынести в другой файл. Во-вторых, не надо отдельно прошивать EEPROM и каждый раз ловить регулировщиков на том что они его не прошили. В-третьих, все равно контроль корректности данных в EEPROM надо делать, почему бы не совместить это с инициализацией.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:02
Рейтинг@Mail.ru


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