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

 
 
> адресация памяти данных в AVR, с даташитами полный бардак... :-(
Марк_Я
сообщение May 11 2009, 18:34
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Господа! Объясните внятно, какой документ у Атмела описывает все виды адресаций ОЗУ в AVR? Я в шоке... Такой бардак в документации я вижу впервые... Даташиты на 8-ю, 16-ую, 32-ю и 64-ю Меги совершенно разные в этой части. Назначения Спешиал Фанкшн Регистров при одинаковых названиях отличаются...

Собственно вопрос в том, как происходит адресация 16 разрядного поля памяти ОЗУ в командах длиной в 16 разрядов. Я понимаю, что не все команды имеют длину в одно слово, но где в ДШ формат команды побитно? Где четко описанный алгоритм косвенной адресации и адресации со смещением? Совершенный "путай-путай"...

Сообщение отредактировал Марк_Я - May 11 2009, 18:54
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ЭнСб
сообщение Mar 29 2015, 07:26
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-11-13
Пользователь №: 79 055



Правильно ли я понимаю, что в МК atmega в ОЗУ адресация побайтная, а в ППЗУ пословная и в векторе прерываний на каждое выделено 2 байта?

Сообщение отредактировал ЭнСб - Mar 29 2015, 07:29
Go to the top of the page
 
+Quote Post
V_G
сообщение Mar 29 2015, 11:52
Сообщение #3


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

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(ЭнСб @ Mar 29 2015, 17:26) *
Правильно ли я понимаю, что в МК atmega в ОЗУ адресация побайтная, а в ППЗУ пословная

Неправильно. И там и там - пословная. Просто благодаря гарвардской архитектуре (упомянутой выше) размерность слова памяти данных - 8 бит, а памяти программ - 16 бит.
Тонкости адресации начинаются при использовании памяти программ для хранения данных, про инструкцию LPM тут уже тоже написали.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 29 2015, 15:46
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(V_G @ Mar 29 2015, 14:52) *
Неправильно. И там и там - пословная. Просто благодаря гарвардской архитектуре (упомянутой выше) размерность слова памяти данных - 8 бит, а памяти программ - 16 бит.
Тонкости адресации начинаются при использовании памяти программ для хранения данных, про инструкцию LPM тут уже тоже написали.


Верно заметили. Т.е. при работе с ППЗУ используется байтная адресация, если нужно читать оттуда константы/данные. Но переходы и вызовы подпрограмм/функций производятся по словному адресу, т.к. переходы по нечетным байтам все равно были бы бессмысленны. Это только на первый взгляд кажется, что здесь возможна путаница, тогда как на самом деле всё предельно логично. sm.gif
Go to the top of the page
 
+Quote Post



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

 


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


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