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

 
 
 
Reply to this topicStart new topic
> Как явно задать адреcа EEPROM, Не шьются 2 адреса
AndreyVN
сообщение Dec 23 2012, 17:14
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!

Попался процессор Atmega64 в котором не прошиваются 2 адреса EEPROM 9h и 30h.
Процессор менять не хочется, как бы сдвинуть все адреса в EEPROM и перекомпилить исходник?

Вижу вариант сделать фиктивный массивчик (программа на 'C' в CodeVision) типа char eeprom dummy[100];
в надежде, что компилятор поместит его вначале EEPROM.

Есть другие варианты?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 23 2012, 17:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(AndreyVN @ Dec 23 2012, 19:14) *
Вижу вариант сделать фиктивный массивчик (программа на 'C' в CodeVision) типа char eeprom dummy[100];
в надежде, что компилятор поместит его вначале EEPROM.

Смотрите в описании компилятора, там такое было.
Вроде так:
Код
eeprom dummy[100] @ 0x60; // расположить начиная с 96


Цитата(AndreyVN @ Dec 23 2012, 19:14) *
Есть другие варианты?

Всегда можно что-нибудь придумать...
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 23 2012, 17:28
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Лучше вообще не использовать эту фичу. А вызывать свои функции для чтения и записи...
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Dec 24 2012, 16:25
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(KRS @ Dec 23 2012, 20:28) *
Лучше вообще не использовать эту фичу. А вызывать свои функции для чтения и записи...


Ну для проверки - прокатило, только пришлось добавить обращение к dummy[]:
static eeprom char dummy[100]={0,0,0,0,0,0.....,0);
...
dummy[01]=0x01;

Только после всего этого две ошибки (ловятся compare EEPROM) переехали на другие адреса...
Фигня какая-то... Пытаюсь разобраться...
Go to the top of the page
 
+Quote Post
Marian
сообщение Dec 30 2012, 13:51
Сообщение #5


Частый гость
**

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



Цитата(AndreyVN @ Dec 24 2012, 19:25) *
Ну для проверки - прокатило, только пришлось добавить обращение к dummy[]:
static eeprom char dummy[100]={0,0,0,0,0,0.....,0);
...
dummy[01]=0x01;

Только после всего этого две ошибки (ловятся compare EEPROM) переехали на другие адреса...
Фигня какая-то... Пытаюсь разобраться...

Перед записью, EEPROM стираете?
Go to the top of the page
 
+Quote Post
V_G
сообщение Dec 30 2012, 17:38
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(AndreyVN @ Dec 24 2012, 03:14) *
Попался процессор Atmega64

А это действительно проявляется на одном процессоре, на других ничего не глючит?
Go to the top of the page
 
+Quote Post

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

 


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


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