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

 
 
> Редактирование данных в памяти программ.
koT-34
сообщение Mar 29 2010, 10:25
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 20-03-06
Пользователь №: 15 391



Добрый день.

Пишу на С, компилятор winavr, контроллер atmega64.
Знаю, что создать и прочитать переменные, в памяти программ, можно с помощью PROGMEM.

Возможно ли средствами С редактировать данные записанные во флеш память МК ?

Пример(создаю в памяти программ массив данных, и хочу изменить первый байт):

Код
static unsigned char mydata[20] PROGMEM = {0x00,0x01,0x02, ... 0x12,0x13,0x14};

Код
unsigned char temp = 10;
mydata[0] = temp;


Приведенный способ естественно не работает: error: assignment of read-only location 'mydata[0]'
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Mar 29 2010, 10:43
Сообщение #2


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(koT-34 @ Mar 29 2010, 13:25) *
Возможно ли средствами С редактировать данные записанные во флеш память МК ?

Приведенный способ естественно не работает: error: assignment of read-only location 'mydata[0]'


Из application section нельзя.
Но можно сделать из boot section.
Но там всё не так просто....
Почитайте про бутлоадер в документации на МК.

А чем вас не устраивает хранение данных в eeprom которую можно модифицировать из application section?

Сообщение отредактировал mempfis_ - Mar 29 2010, 10:44
Go to the top of the page
 
+Quote Post
koT-34
сообщение Mar 29 2010, 11:47
Сообщение #3





Группа: Участник
Сообщений: 6
Регистрация: 20-03-06
Пользователь №: 15 391



Цитата(mempfis_ @ Mar 29 2010, 14:43) *
А чем вас не устраивает хранение данных в eeprom которую можно модифицировать из application section?


В eeprom мало места.

Я правильно понимаю что во флеш можно писать на ассемблере, с помщью команды "SPM"?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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