Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Выручайте! Перенос ПО в старшую область памяти в Mega128 (+):

Отправлено argus98 19 октября 2007 г. 09:41


Есть рабочая программа. Возникла задача освободить младшую область FLASH.

Что сделано:
- вектора прерываний и сброса перенесены на $FE00 (BOOT)
- введена установка IVSEL (перенос векторов прерываний на BOOT)
- все команды LPM заменены на ELPM, с установкой RAMPZ0
- фузы BOOTSZ0/1 =1 (BOOT = $FE00)
- фузы BOOTRST = 0 (сброс на BOOT)

Структура программы:
.org $0000
... пусто
...
.org $8000 ; область процедур
.include "xxx"
...
.include "zzz"

.org $FE00 ; сброс - начало работы
jmp RST
jmp ... вектора прерываний
...
jmp ...

RST: ; начало работы
настройка стека
ldi R16,(1 < < IVCE) ; настройка адреса векторов прерывания
out MCUCR, R16
ldi r16, (1 < < IVSEL)
out MCUCR, R16

... и т.д.

Компилятор ошибок и предупреждений не дает. В листинге все адреса как надо.

Программа не работает :((

Что ещё я мог забыть ???



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru