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

 
 
> само программирование Flash AVR, пример asm кода из AES bootloadera
_Алекс
сообщение Sep 30 2007, 14:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377



зачем столько условной компиляции не могу разобраться.
// Executes self-programming command

spmSPM:
movw r31:r30, r17:r16

rcall spmWait

in r20, SREG
cli

#ifdef __RAMPZ__
in r21, RAMPZ
out RAMPZ, r18
#endif

#ifdef __MEMSPM__
sts SPMREG, r22
#else
out SPMREG, r22
#endif

#ifdef __RAMPZ__
espm
#else
spm
#endif

dw 0xFFFF
nop

#ifdef __RAMP__
out RAMPZ, r21
#endif

out SREG, r20
ret

1. что такое и зачем __RAMPZ__ - если МК больше 64Кб?
2. что такое и зачем __MEMSPM__
3. зачем размещается слово в памяти «dw 0xFFFF», при отладке в AVR Studio попадая, на эту команду выдает предупреждение – что команда не известна.

Сообщение отредактировал _Алекс - Sep 30 2007, 15:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Waso
сообщение Oct 12 2007, 08:51
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



А где вы берете исходники? Ну захожу я на атымел.ком, ввожу в поиске AVR231 или AES bootloader и получаю ссылку на пдф и всякую лажу не по теме... внутри пдф только общие алгоритмы... Чисто по логике удается найти в нете ссылку по ключевым словам AVR231.zip но этоже не серьезно!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 12 2007, 10:05
Сообщение #3


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Waso @ Oct 12 2007, 11:51) *
А где вы берете исходники? Ну захожу я ...

Заходить надо, как правило, на Application Notes.
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 15 2007, 07:15
Сообщение #4


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(_Алекс @ Sep 30 2007, 18:50) *
1. что такое и зачем __RAMPZ__ - если МК больше 64Кб?

индексный регистр Z только 16 бит - что бы адресовать больше нужен этот регистр.
Цитата(_Алекс @ Sep 30 2007, 18:50) *
2. что такое и зачем __MEMSPM__

у разных AVR регистр SPM или доступен через OUT или через STS
Цитата(_Алекс @ Sep 30 2007, 18:50) *
3. зачем размещается слово в памяти «dw 0xFFFF», при отладке в AVR Studio попадая, на эту команду выдает предупреждение – что команда не известна.

А это в даташите в секции errata описано.

PS про все это лучше почитать в datasheet на разные AVR
Go to the top of the page
 
+Quote Post

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

 


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


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