Микроконтроллер AVR

Я хочу написать MIPS ассемблерных кодов. Поддерживают ли микроконтроллеры atmel avr MIPS (точно так же, как микроконтроллеры PIC) или мне все равно придется использовать сборку avr.


person Khizer Amin    schedule 06.11.2012    source источник
comment
есть два (ладно, около 6) совершенно разных разновидностей микроконтроллеров pic, которые несовместимы друг с другом, основной из них — pic32, основанный на mips, а не на pic. Никакой avr не использует другой набор инструкций, чем mips, возможно, не так хорошо, как mips, но значительно лучше, чем pic, для использования с компилятором, поэтому вы можете использовать компилятор (gcc отлично работает как кросс-компилятор) с минимальным asm для начальной загрузки (если вы как).   -  person old_timer    schedule 07.11.2012


Ответы (5)


Вы, кажется, немного запутались в микроконтроллерах и архитектурах. Я думаю, было бы лучше дать вам несколько хороших отправных точек:

  • Сайт Atmel AVR. Документация, опечатки, спецификации, примеры и т. д. Вы можете порезаться о AVR-8 (8 бит) или AVR-32 (лучший выбор, если вы знакомы с MIPS и т. д.)

    На сайте доступно множество наборов инструментов и т. д. Однако вы можете выполнить кросс-компиляцию GCC для AVR, если вы создали binutils для AVR.

  • Вам нужна библиотека C, несколько менее функциональная, чем размещенная библиотека C, но которая строится с несколько целей в зависимости от используемой 8-битной архитектуры AVR.

  • Наконец, вам нужно иметь возможность прошить микроконтроллер своей программой. например, avrdude.

У меня есть актуальные инструкции по сборке для среды разработки (Unix/BSD) AVR, если вы хотите избежать проб и ошибок на этом пути.

--

Ваше программное обеспечение готово. Пока все это бесплатно. Теперь вам нужен программатор для переноса, от серийных программаторов DIY до сложных программаторов STK. У меня не так много опыта работы с AVR-32, поэтому, если вам нужно что-то сравнимое с MIPS, возможно, это лучший выбор. Тем не менее, создание небольших устройств AVR-8 многому меня научило и демистифицирует многие аспекты разработки встраиваемых систем.

Кроме того, AVR имеет лицензию на производство ряда микроконтроллеров ARM. Возможно, это лучший выбор, чем MIPS, если вы не застряли с ним.

Кстати, PIC ужасен с точки зрения разработчика.

person Brett Hale    schedule 08.11.2012

Базовые семейства AVR обычно подразделяются на шесть широких групп: tinyAVR — серия ATtiny 0,5–16 КБ памяти программ 6–32-контактный корпус Ограниченный набор периферийных устройств megaAVR — серия ATmega 4–512 КБ программной памяти 28–100-контактный корпус Расширенная инструкция набор (инструкции умножения и инструкции для работы с большей памятью программ) Обширный набор периферийных устройств XMEGA — память программ серии ATxmega 16–384 КБ 44–64–100-контактный корпус (A4, A3, A1) Расширенные функции производительности, такие как DMA, " Система событий» и поддержка криптографии. Обширный набор периферийных устройств с ЦАП Специализированные AVR megaAVR со специальными функциями, отсутствующими в других членах семейства AVR, такими как контроллер ЖК-дисплея, контроллер USB, расширенный ШИМ, CAN и т. д. FPSLIC (AVR с FPGA) FPGA 5K - 40K вентили SRAM для программного кода AVR, в отличие от всех других AVR, ядро ​​AVR может работать на частоте до 50 МГц [5] 32-битные AVR Основная статья: AVR32

person Sankar. G    schedule 27.01.2013

Язык ассемблера MIPS специфичен для архитектуры MIPS. Насколько мне известно, устройства Atmel AVR напрямую не поддерживают набор инструкций MIPS. Я бы порекомендовал изучить набор инструкций специально для AVR, если вы планируете работать с AVR.

Если вас больше интересует программирование сборки MIPS и меньше — физическое оборудование, я бы посмотрел на виртуальную среду MIPS. Я прошел курс, посвященный сборке MIPS, и мы использовали эмулятор на основе Java под названием MARS:

http://courses.missouristate.edu/kenvollmar/mars/

Если вы ищете программируемое оборудование MIPS, я не знаю, что доступно.

Надеюсь, это поможет.

person Daniel    schedule 03.07.2015

PIC32 — это семейство микроконтроллеров, использующих MIPS в качестве ядра процессора. Однако Attiny ATmega и ATxmega используют AVR в качестве ядра процессора. AVR и MIPS имеют разную архитектуру набора инструкций, поэтому вы не можете использовать одни и те же инструкции.

person rabatra    schedule 01.11.2016
comment
Кто здесь проголосовал? Этот ответ кажется мне правильным. Я что-то пропустил? - person Noctis; 06.04.2017
comment
Я проголосовал. голосование против кажется определенно неправильным. Это самый краткий и правильный ответ. - person James Sarrett; 12.12.2017

ответ: нет, вы не можете писать ассемблерные коды MIPS для микроконтроллера avr, потому что язык ассемблера тесно связан с архитектурой процессора... а avr не основан на архитектуре MIPS.

если вам нравится писать свой код на ассемблере ... вы должны изучить наборы инструкций процессора, предоставляемые производителями процессоров для каждого семейства процессоров, на которое вы ориентируетесь! ... так что, как вы сказали, вам нужно изучить avr assembly, если вы ориентируетесь на семейства avr

Хороший ресурс для изучения сборки avr

  1. первые 6 глав этой книги: микроконтроллер avr и встроенные системы с использованием ассемблера и c от mazidi

  2. веб-сайт avr Freaks поможет вам

  3. Плейлист AVR Assembly на YouTube

если вы хотите написать код только один раз и запускать его для разных процессоров с небольшими изменениями, просто используйте языки C/или C++ вместо ассемблера

person Ibram Reda    schedule 07.06.2020