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

 
 
 
Reply to this topicStart new topic
Марк_Я
сообщение 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
=GM=
сообщение May 11 2009, 19:31
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Смотрите документ doc0856.pdf. И не надо так огульно хаять, разберитесь вначале.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SSerge
сообщение May 11 2009, 19:34
Сообщение #3


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



AVR Instruction Set

Ещё может быть полезен AVR Assembler User Guide и прочее на странице: http://www.atmel.com/dyn/products/other_do...p?family_id=607


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение May 11 2009, 20:08
Сообщение #4


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

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



Сенкс, за ссылку на Инстракшн Сет... Право слово, мне уже скинули в другом запросе, но все равно огромное спасибо.
По поводу огульно.
АВР всем хороши, но что за тех. поддержка? Я пытаюсь как нормальный пользователь скачать с сайта ДОСТОВЕРНУЮ информацию. Не книжки российских авторов, а оригиналы документации. Убиваю два дня на поиски невнятно изложенной инфы. Я же не первый день с МК работаю... Просто решил поиграть с АВР. С ПИКами я уже несколько лет успешно работаю и никаких проблем с документацией... А с МК вообще с 92 года... Так что есть с чем сравнивать. А задача сейчас не сложная - портировать один из работающих проектов на ПИКе в АВР и посмотреть что поимеем в техникоэкономике...
Так что ничего я не хаю огульно... Исключительно за дело...

to Goodefine. Персональное спасибо. Пришлось дублировать вопрос здесь, не сразу получил от Вас ответ. smile.gif

ЗЫ. Мои извинения заведению за неверно выбранный раздел... Обещаю впредь быть поскромнее... rolleyes.gif

Сообщение отредактировал Марк_Я - May 11 2009, 20:09
Go to the top of the page
 
+Quote Post
mempfis_
сообщение May 12 2009, 08:25
Сообщение #5


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Марк_Я @ May 11 2009, 23:08) *
АВР всем хороши, но что за тех. поддержка? Я пытаюсь как нормальный пользователь скачать с сайта ДОСТОВЕРНУЮ информацию...


Нормальная техподдержка - сколько с AVR работаю никогда небыло претензий к сайту ATMEL и к документации.
(Вот с usermanual NXP LPC2468 разбирался так там не документация а тихий ужас - ATMEL по сравнению NXP на высоте)
Тут можно скачать документацию
Тут примеры применения (апноуты)
Go to the top of the page
 
+Quote Post
defunct
сообщение May 12 2009, 10:23
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Марк_Я @ May 11 2009, 23:08) *
АВР всем хороши, но что за тех. поддержка? Я пытаюсь как нормальный пользователь скачать с сайта ДОСТОВЕРНУЮ информацию. Не книжки российских авторов, а оригиналы документации. Убиваю два дня на поиски невнятно изложенной инфы.

Лучше бы промолчали, и признали что просто не разобрались какой документ надо скачать....
Уж какой бардак у PIC'ов с памятью и с документацией в сравнении с AVRами Й-ОЙ...

Не смотря на многолетний опыт, при знакомсте в новым сеймейством МК надо начинать с GETTING STARTED.
С вот этого документа, который кратко на 4х страницах рассказывает как начать и какие документы нужны для работы:

http://www.atmel.com/dyn/resources/prod_documents/novice.pdf
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
ЭнСб
сообщение Mar 29 2015, 07:26
Сообщение #7


Участник
*

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



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

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


Гуру
******

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



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

Да и да. У AVR гарвардская архитектура, а потому различие в адресациях ничему не мешает, т.к. они никогда не смешиваются (т.е. не имеют единого адресного пространства).

Цитата(ЭнСб @ Mar 29 2015, 10:26) *
... и в векторе прерываний на каждое выделено 2 байта?

Не всегда. У тех МК, где объем ППЗУ больше 8 Кбайт (4 Кслова), на каждый вектор прерываний приходится не 2 байте (1 слово), а 4 байта (2 слова), т.к. тогда адрес слишком длинный, чтобы его можно было поместить в одно слово команды. Т.е. у инструкции безусловного перехода RJMP для адреса доступны только 12 бит (hex-код команды Cxxx). А если адрес длиннее, то используется инструкция JMP, состоящая из двух слов.

Всё это потому, что вектора прерываний заполняются не адресами, а командами перехода! Т.е. AVR-ки не выбирают адрес перехода из таблицы прерывания, а просто шагают в нее sm.gif.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Mar 29 2015, 07:58
Сообщение #9


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



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


да. с маленьким дополнением: при помощи LPM можно прочитать отдельный байт ППЗУ.
Go to the top of the page
 
+Quote Post
V_G
сообщение Mar 29 2015, 11:52
Сообщение #10


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

Группа: Свой
Сообщений: 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
Сообщение #11


Гуру
******

Группа: Модератор 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 Текстовая версия Сейчас: 24th June 2025 - 16:08
Рейтинг@Mail.ru


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