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

 
 
 
Reply to this topicStart new topic
> Файл для eeprom, не генерируется
SZ0
сообщение Feb 19 2006, 12:09
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



Генерирует два одинаковых файла, и оба являются файлами прошивки. Файла для eeprom не
получается. Что делаю не так? Вот часть файлов.

Основная прога:

__eeprom char d0=0x20;
__eeprom char d1=0x21;

int main( void )
{
..............
}

xcl:
-Z(XDATA)EEPROM_N,EEPROM_I,EEPROM_AN=0-1FF

-Z(CODE)INTVEC=0-32
-Z(CODE)RCODE,CDATA0,CDATA1,CCSTR,SWITCH,FLASH,CODE=34-3FFF
-Z(DATA)IDATA0,UDATA0,RSTACK+16,IDATA1,UDATA1,ECSTR,CSTACK+60=100-4FF


-Ointel-extended,(CODE)=.hex
-Ointel-extended,(XDATA)=.eep
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 19 2006, 13:19
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Ну для начала бы неплохо было сообщить какой компилятор Вы используете!
Вроде IAR... воспользуйтесь поиском по форуму, где-то было хорошо описано. как решить данную проблему.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
SZ0
сообщение Feb 19 2006, 14:21
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



IAR 4.11A

Всё перерыл. Не помогло. Везде говорится что применяют

-Ointel-extended,(CODE)=.hex
-Ointel-extended,(XDATA)=.eep

и всё замечательно! Может я что не так инициализирую?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 19 2006, 15:31
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(SZ0 @ Feb 19 2006, 21:21) *
IAR 4.11A

Всё перерыл. Не помогло. Везде говорится что применяют

-Ointel-extended,(CODE)=.hex
-Ointel-extended,(XDATA)=.eep

и всё замечательно! Может я что не так инициализирую?


На сколько я знаю, intel-extended формат содержит несколько сегментов (код, данные и т.п.). По этому Вы получаете файл, в котором есть и сегмент кода и сегмент Хданных (ЕЕП) в одном флаконе. Попробуйте вместо intel-extended записать Ointel-standard, например вот так:

-Ointel-standard,(CODE)=code.hex
-Ointel-standard,(XDATA)=data.eep

И будет вам счастье


--------------------
Go to the top of the page
 
+Quote Post
SZ0
сообщение Feb 19 2006, 16:01
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



Счастья не наступилоsad.gif
Поделитесь пожалуйста куском файла проекта с настроечным .xcl , в котором файл для eeprom генерируется.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 19 2006, 18:00
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(SZ0 @ Feb 19 2006, 23:01) *
Счастья не наступило sad.gif
Поделитесь пожалуйста куском файла проекта с настроечным .xcl , в котором файл для eeprom генерируется.

Прикрепленные файлы
Прикрепленный файл  1.txt ( 1.59 килобайт ) Кол-во скачиваний: 123
 


--------------------
Go to the top of the page
 
+Quote Post
SZ0
сообщение Feb 20 2006, 01:27
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



Всё покатило. Надо было настройки в .xcl немного изменить. И начать работать с данными в eeprom, а то IAR их считал не нужными.

Сообщение отредактировал SZ0 - Feb 20 2006, 01:31
Go to the top of the page
 
+Quote Post
Георгий
сообщение Feb 20 2006, 05:23
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Цитата
И начать работать с данными в eeprom, а то IAR их считал не нужными.

Я думаю это и было самым главным! Если что то не используется в программе, ИАР это вообще выбрасывает обычно.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 20 2006, 11:19
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Георгий @ Feb 20 2006, 12:23) *
Цитата
И начать работать с данными в eeprom, а то IAR их считал не нужными.

Я думаю это и было самым главным! Если что то не используется в программе, ИАР это вообще выбрасывает обычно.


Не правда Ваша! Надо просто правильно указывать тип данных. Вот в проекте, от которого был приведенный выше xcl ЕЕПРОМ используется только косвенно, без применения стандартных ИАРовских функции обращения к ячейкам ЕЕПРОМа, однако файл ееп создавался. Просто массив объявлялся вот так:

#pragma location = 0x00
__root char __eeprom volatile g_Symbol_Gen[] =
{ _0_, _1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_
};

кстати, работает на hight optimization

Сообщение отредактировал prottoss - Feb 20 2006, 14:44


--------------------
Go to the top of the page
 
+Quote Post
Георгий
сообщение Feb 20 2006, 11:54
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Цитата
Код
#pragma location = 0x00

Интересно, почему без этого линкер размещает не с 0, а с 1 адреса в ЕЕПРОМ.

Сообщение отредактировал Георгий - Feb 20 2006, 11:54


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 20 2006, 14:40
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Георгий @ Feb 20 2006, 18:54) *
Цитата
Код
#pragma location = 0x00

Интересно, почему без этого линкер размещает не с 0, а с 1 адреса в ЕЕПРОМ.


Есть проблемы с нулевым адресом EEPROM у старых МК AVR, говорят. Честно говоря, я ни разу с ними не сталкивался, хотя пользовал EEPROM и в 90S серии. А вышеприведенная строка из проекта с ATtiny2313V-10PI - таблица знакогенератора для семисегментного индикатора. Удобно было разместить с нулевого адреса потому-что адрес кода символа числа непосредственно равен самому числу. :-)

А линкер, наверное, написан с учетом глюков EEPROM, но без учета типа МК в котором этот глюк проявляется :-)


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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