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

 
 
> проблема с самописным бутлоадером для m8515, проблема с записью в самописном бутлоадере для m8515
IVN2013
сообщение Oct 7 2013, 18:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 12-08-13
Пользователь №: 77 889



Доброго всем времени суток. Сейчас пишу бутлоадер для m8515 - проба пера, столкнулся с проблемой - код загружается несколько раз(2 раза программы до 2-х страниц памяти, и более 2-х если 1- страница), после чего либо остается результат выполнения ранее записанной программы, либо вообще не пойми что, то ли перетирает код лоадера, то ли память переполняет, то ли чего еще, не могу понять.

Посмотрите пожалуйста код, может кто что посоветует - как это исправить.

Выкладываю ассемблерный код для AVR studio, и программу для ПК (загружает HEX файлы в формате generic), и 3- проги примера для загрузки. В общем в проге для ПК сначала открывается файл для загрузки(файл->открыть), затем загрузчик-> переход в режим программирования, после по кнопке Прошить, и после - Проверка, все что ниже - жать необязательно), прогу еще не дооформил - не судите строго. Возможно дело в программе для ПК.
Если с первого раза код не пишет, то по второму разу все таки записывается, но в проге для пк вылетает ошибка(что - то вроде того что прога обратилась к неположенному адресу памяти). Но дальше по второму разу не пишет уже.
Прикрепленный файл  loader_____AVR_07.10.13.zip ( 254.62 килобайт ) Кол-во скачиваний: 78
Прикрепленный файл  loader_____PC.zip ( 287.09 килобайт ) Кол-во скачиваний: 57
[a
ttachment=79959:examples_to_load.zip]

Заранее спасибо!

Сообщение отредактировал IVN2013 - Oct 7 2013, 18:27
Прикрепленные файлы
Прикрепленный файл  examples_to_load.zip ( 166.09 килобайт ) Кол-во скачиваний: 7
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
ILYAUL
сообщение Oct 7 2013, 20:26
Сообщение #2


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Вы сами писали этот код? Если да , то ответьте на несколько вопросов. Зачем сохранять R16 если он не используется ? Зачем сохранять SREG , если он изменился ?
Код
;----------------------------------------------------------------------
; Подпрограмма выполнения SPM
;----------------------------------------------------------------------
doSPM:
push r16
;проверка завершения предыдущей SPM
WaitSPM:
    in r18, SPMCR
    sbrc r18, SPMEN
rjmp WaitSPM
in r19, SREG
cli
wait_ee:
    sbic EECR, EEWE
    rjmp wait_ee
    out SPMCR, r17
    spm  
out SREG, r19
pop r16
ret


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
IVN2013
сообщение Oct 8 2013, 18:44
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 12-08-13
Пользователь №: 77 889



Да, используя примеры из даташита и др. Push pop r16 и правда не нужен, на счет sreg -не знаю, еще осваиваю контроллеры, но в даташитском примере вроде sreg сохраняют.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 8 2013, 19:38
Сообщение #4


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Тогда хотя бы так
Код
;----------------------------------------------------------------------
; Подпрограмма выполнения SPM
;----------------------------------------------------------------------
doSPM:
cli
push r19
in r19, SREG
push r19
push r18
;проверка завершения предыдущей SPM
WaitSPM:
    in r18, SPMCR
    sbrc r18, SPMEN
rjmp WaitSPM
wait_ee:
    sbic EECR, EEWE
    rjmp wait_ee
    out SPMCR, r17
    spm  
pop r18
pop r19
out SREG, r19
pop r19
reti


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
IVN2013
сообщение Oct 8 2013, 19:43
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 12-08-13
Пользователь №: 77 889



спасибо, попробую и такой вариант)
Go to the top of the page
 
+Quote Post

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

 


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


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