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

 
 
> Редактирование данных в памяти программ.
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
Ответов
SysRq
сообщение May 17 2011, 11:10
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(vlx @ May 17 2011, 14:44) *
Не получается записать данные в Flash.
//...
контроллер ATmega16L;
//..
линкеру задано -Wl,-section-start=.bootloader=0x1F80;
0x1F80 - это в словах (WORD, 2 байта). Здесь указать необходимо в байтах, т.е. на два умножить.
Go to the top of the page
 
+Quote Post

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


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

 


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


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