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

 
 
> размещение данных в EEprom не работает, пробовал варианты что нашел
bugor
сообщение Feb 26 2009, 19:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 26-02-09
Пользователь №: 45 408



Что надо:
1. желательно, чтобы после компиляции был один файл HEX (но можно и два)
2. сформировать в EEPROM данные, желательно с определенного адреса, строку символов, чтобы потом, обратившись из программы вывести ее на дисплей, чтобы при инициализации они не менялись. То есть надо просто массив данных из строк и констант (можно отдельно и переменных), которые будут при программировани записаны, а на этапе компиляции никак не меняются.
3.правил сfg1soim.xcl чтобы получить единый файл, но там даже нулей в eeprom не получилось

в общем засада - как мне это сделать - надоело отдельно формировать ручками данные для eeprom!

пробовал так:

typedef struct {
__eeprom unsigned char var1;
__eeprom unsigned char zast1[3];
} struct1;

Error[Pa004]: illegal declaration

вот так:

__no_init __eeprom unsigned char zast[4];

при этом формирую два файла - для кода и eeprom - ПРОКАТЫВАЕТ но при загрузке файла eeprom
там нули - что логично. При попытке инициализировать

вот так:

__no_init __eeprom unsigned char zast[4] = {23,34,56,78};

Error[e133]: The output format intel-extended cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is

а с #pragma _locate чтото не получилось разобраться - как выставить адрес, с которого начать размещение и при этом указать, что все это дело в EEPROM?

Сообщение отредактировал bugor - Feb 26 2009, 19:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bugor
сообщение Feb 27 2009, 07:54
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 26-02-09
Пользователь №: 45 408



По посту Igor26 сделал следующее

Советую в Linker -> Extra Options ввести настройку генерации выходных файлов:
-Ointel-extended,(CODE)=NAME.hex
-Ointel-extended,(XDATA)=NAME.eep
а Linker -> Output -> Format (radiobutton) поставить на Debug information.

причем когда советуют забывают про последнюю строку и ничего не работает
компилятор все проглотил но............
в файле образа для eeprom вместо одного числа 0x40 которое в тексте выглядит как
const __eeprom unsigned char stst = 0x40;
с нулевого по 41 адрес следующее
3A 30 32 30 30 30 30 3032 30 30 30 46 43 0D 0A 3A 30 31 30 30 30 41 30 30 34 30 ......
ну и так далее - ЭТО КАК???
чем это расширение открывать - если я просто его смотрю блокнотом то вижу там что надо
гружу в eeprom как образ такая фигня
если расширение сменю на hex и гружу то в нулевой ячейке памяти нулевое значение

и вот не ответили чегото - как мне указать,что данные в eeprom располагаются с определенного адреса?


По посту IgorKossak

понял что intel-xxxxxxx форматы в принципе не могут содержать в себе кусок для flasch и eeprom
а программируемые области могут быть только в разных файлах
я правильно понял?

Сообщение отредактировал bugor - Feb 27 2009, 08:03
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 01:20
Рейтинг@Mail.ru


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