Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Из SRAM в FLASH
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
James D.
Привет всем!
Я пытаюсь переслать данные из 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'ом я раньше дела не имел, а тут, получается, и в симуляторе погонять не могу, чтобы разобраться!!!

В чем здесь ошибка?
James D.
Ух ты! В файле m32def.inc в регистре SPMCR биты 4 и 6 названы не так, как в даташите - раздел Register Summary!
Исправил. Скомпилилось без ошибок. По крайней мере в строках, которые я приводил, ошибки исчезли!
А я, как-то всегда полагал, что в файлах def.inc ошибок быть не должно!
James D.
У меня в FLASH находится таблица, указывает на нее метка "Table", объем - 850 байт.
Как указать загрузчику, что нужно стирать именно с этого адреса? Какое значение надо занести в Z-регистр?
Делаю так:
ldi ZH,HIGH(2*Table)
ldi ZL,LOW(2*Table)
стирается первая страница - с адреса $0000 (128 байт).
KRS
Цитата(James D. @ Oct 11 2005, 18:35)
У меня в FLASH находится таблица, указывает на нее метка "Table", объем - 850 байт.
Как указать загрузчику, что нужно стирать именно с этого адреса? Какое значение надо занести в Z-регистр?
Делаю так:
ldi ZH,HIGH(2*Table)
ldi ZL,LOW(2*Table)
стирается первая страница - с адреса $0000 (128 байт).
*


Скорее всего умножать на 2 не надо (покрайней мере в IAR) AVRstudioовским асмом не пользовался.
А вообще лучше всего под симулятором пройтись и посмотреть какое реально значение в Z получается
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.