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

 
 
> AVR Studio ругается на порты F и G, mega128
Ydaloj
сообщение May 26 2015, 11:32
Сообщение #1


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

Группа: Свой
Сообщений: 1 879
Регистрация: 20-06-11
Из: Карелия, Петрозаводск
Пользователь №: 65 799



Интернет говорит, что <где-то> установлен бит совместимости с мегой 103, и поэтому шиш тебе, а не порты Ф и Г

я только пишу программу, никакой меги нет и программаторов тоже
Чёж авр студио тогда ругается? и как мне убрать этот косяк?


--------------------
путь наименьшего сопротивления проходит по пути наитолстого провода (с)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ydaloj
сообщение May 26 2015, 13:10
Сообщение #2


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

Группа: Свой
Сообщений: 1 879
Регистрация: 20-06-11
Из: Карелия, Петрозаводск
Пользователь №: 65 799



Upd: проект на Mega128 с компилятором AVR GCC тоже не позволяет работать с портами F и G командами I/O

с портами А...Е такой фигни нет - сразу определены адреса и доступ есть

Xenia, я до фузов не дошёл ещё - у меня пустой лист, даже без программы. А доступа уже нет.

При попытке настроить порты, А...Е настраиваются, а про F и G компилятор ругается
\\_PROGRAM\AVRStudio\MAIN.asm(71): error: Operand 1 out of range: 0x61

Прикрепленные изображения
Прикрепленное изображение
 


--------------------
путь наименьшего сопротивления проходит по пути наитолстого провода (с)
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 26 2015, 13:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Инженеры Atmel'а при проектировании микроконтроллеров AVR когда-то совершили стратегическую ошибку - отвели под область ввода-вывода слишком маленькое пространство адресов. Очень скоро количество регистров ввода-вывода в отдельных AVR стало превышать адресное пространство области ввода-вывода. Некоторые регистры ввода-вывода стали размещаться за пределами области ввода-вывода - команды IN/OUT для таких регистров применять нельзя. Если Вы посмотрите в документацию в раздел "Register Summary", то увидите, что регистры портов А,B,С и D находятся в области ввода-вывода, а регистры портов F и G лежат за пределами области ввода-вывода.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 26 2015, 14:12
Сообщение #4


Гуру
******

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



Цитата(Палыч @ May 26 2015, 17:19) *
Инженеры Atmel'а при проектировании микроконтроллеров AVR когда-то совершили стратегическую ошибку - отвели под область ввода-вывода слишком маленькое пространство адресов. Очень скоро количество регистров ввода-вывода в отдельных AVR стало превышать адресное пространство области ввода-вывода. Некоторые регистры ввода-вывода стали размещаться за пределами области ввода-вывода - команды IN/OUT для таких регистров применять нельзя.


В командах IN и OUT для адреса/номера регистра ввода-вывода есть всего лишь 6 бит. Именно потому эти команды не могут охватить более 64 регистров. К остальным же приходится обращаться (читать или писать), как к памяти, а не через инструкции IN и OUT.

Ругать инженеров Atmel'а за непредусмотрительность глупо, т.к. в одном слове больше места не выкроишь. Ведь там же еще и номер регистра общего назначения находится, в который IN читает, а OUT пишет.

Т.е. проблема тут отнюдь не в том, что памяти отвели мало, а в том, что в 16-разрядную инструкцию (тогда еще 32-разрядных не было) длинное число не засунешь. Тогда как для инструкций IN и OUT таких чисел надо сразу два.

Делать инструкции IN и OUT двубайтными "инженеры" остереглись, т.к. тогда бы и выполнялась такая инструкция за два такта, а не за один. А это могло стать очень существенной потерей для архитектуры AVR, т.к. свое место под солнцем она отвоевала именно благодаря выполнению большинства инструкций за 1 такт, чем и замогилила sm.gif 51-ю архитектуру.

Кстати, раз уж разговор об этом зашел, замечу, что у Х-Мег (у которых разных регистров видимо-невидимо) есть, так называемый, "виртуальный порт". Это что-то вроде окошка, накладываемого на любой из портов, внутри которого действуют команды IN и OUT. Т.е. идея тут такова, что если требуется настолько быстрый ввод-вывод, что становится существенным, за сколько тактов он выполяется, то используемый порт совмещают с виртуальным, а дальше работают на вируальном порте однотактовыми командами IN и OUT.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ydaloj   AVR Studio ругается на порты F и G, mega128   May 26 2015, 11:32
- - Палыч   1 Как именно ругается? Приведите текст сообщения о...   May 26 2015, 12:28
- - Ydaloj   ЦитатаЕсли на ассемблере, то, надеюсь Вы в курсе, ...   May 26 2015, 12:58
|- - Палыч   Цитата(Ydaloj @ May 26 2015, 16:58) Это т...   May 26 2015, 13:02
- - Xenia   Цитата(Ydaloj @ May 26 2015, 15:32) Интер...   May 26 2015, 13:05
|- - alexunder   Цитата(Палыч @ May 26 2015, 15:19) Инжене...   May 26 2015, 15:36
- - Ydaloj   ясно, спасибо   May 26 2015, 13:24
- - RA9YSS   А никто не подскажет мануальчик, как работать с по...   May 28 2015, 09:39
|- - Xenia   Цитата(RA9YSS @ May 28 2015, 12:39) А ник...   May 28 2015, 09:48
|- - Владивольт   Цитата(RA9YSS @ May 28 2015, 13:39) А ник...   May 28 2015, 09:59
|- - ILYAUL   Цитата(Владивольт @ May 28 2015, 12:59) К...   Jun 2 2015, 21:21
|- - Палыч   Цитата(ILYAUL @ Jun 3 2015, 01:21) Охрене...   Jun 3 2015, 05:30
|- - ae_   Цитата(ILYAUL @ Jun 3 2015, 06:21) Охрене...   Jun 3 2015, 05:59
- - RA9YSS   И в правду всё норм. Извините, перепаниковал((( Пр...   May 28 2015, 11:42
- - Ydaloj   вот теперь у меня проблема с таймером0 мне надо, ч...   Jun 17 2015, 14:34
|- - Сергей Борщ   Цитата(Ydaloj @ Jun 17 2015, 17:34) Код ...   Jun 17 2015, 14:40
- - Ydaloj   Сергей Борщ, sreg нигде больше не используется. sr...   Jun 19 2015, 13:47
- - mcheb   Цитата(Ydaloj @ Jun 19 2015, 17:47) Как л...   Jun 19 2015, 14:00
- - zombi   Цитата(mcheb @ Jun 19 2015, 17:00) Мегу 1...   Jun 23 2015, 22:29
- - Александр1   Цитата(mcheb @ Jun 19 2015, 17:00) Мегу 128 на ас...   Jun 24 2015, 08:28


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

 


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


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