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

 
 
> Из SRAM в FLASH, bootloader
James D.
сообщение Oct 10 2005, 16:07
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 10-10-05
Пользователь №: 9 466



Привет всем!
Я пытаюсь переслать данные из SRAM в FLASH (ATmega32).
Из даташита взял образец п/п пересылки, но AVRStudio выдает ошибки в следующих 4-х строках:

ldi spmcrval,(1<<RWWSRE)|(1<<SPMEN) - таких строк в программе - 3шт.
...
...
sbrs temp1,RWWSB

Сообщает: Undefined variable referenced

Регистрам имена дал, include "m32def.inc", стек назначил - все как положено.

Стоит такая задача: в процессе работы основной программы нужно изменять табличные значения в FLASH.
Весь вопрос в том, как это сделать?

В строке: ldi spmcrval,(1<<RWWSRE)|(1<<SPMEN), ошибку вызывает надпись - "RWWSRE", заменяя ее на "PGERS" (к примеру), ошибка в этой строке исчезает!

С bootloader'ом я раньше дела не имел, а тут, получается, и в симуляторе погонять не могу, чтобы разобраться!!!

В чем здесь ошибка?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
James D.
сообщение Oct 11 2005, 15:35
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 10-10-05
Пользователь №: 9 466



У меня в FLASH находится таблица, указывает на нее метка "Table", объем - 850 байт.
Как указать загрузчику, что нужно стирать именно с этого адреса? Какое значение надо занести в Z-регистр?
Делаю так:
ldi ZH,HIGH(2*Table)
ldi ZL,LOW(2*Table)
стирается первая страница - с адреса $0000 (128 байт).
Go to the top of the page
 
+Quote Post



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

 


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


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