Руководство по организации и использовании среды разработки для студентов, проходящих курс по введению в программирование МК AVR.
Содержание
Все это будет предоставлено на парах, но для более комфортной и продуктивной работы рекомендуется иметь это свое.
Основным источником информации о микроконтроллере является его техническая спецификация (datasheet). Для ATtiny2313A ее можно найти тут. Но это не учебная литература, а именно что спецификация!
В качестве дополнительного материала из Интернета можно посоветовать
Если у вас возникают трудности, то не бойтесь и обращайтесь к преподавателю или к более старшим товарищам.
Для разработки под МК AVR вам потребуется:
IDE (интегрированная среда разработки), где непосредственно будет писаться и компилироваться исходный код программ (прошивок). В качестве нее можно использовать Microchip Studio, либо же более современный кроссплатформенный продукт - MPLab X IDE, что доступен как под Windows, так и под MacOs, и Linux;
и утилита прошивки микроконтроллера (интерфейс для работы с программатором). Если вы работаете под управлением ОС Windows, то вам для начало требуется установить драйвер для поддержки программатора USBAsp, который можно найти на официальном сайте. А после установить графическую утилиту SinaProg и/или AVRDUDESS.
Если вы чувствуете себя уверенно в настройки сред разработки, то рекомендуем вам воспользоваться open-source решением - PlatformIO с интеграцией в текстовый редактор VSCode. Эта платформа автоматизирует управление toolchain’ом, сборкой, загрузкой и разработку программных проектов для embedded систем (микроконтроллеров).
Использование PlatformIO будет оптимальным решением.
Но в случае, если вы хотите управлять все руками, то вам потребуется следующие ПО:
avr-gcc - компилятор языка C под платформу AVR;avr-libc - стандартная библиотека языка C под платформу AVR;avrdude - утилита загрузки прошивки в микроконтроллер:make, cmake, … - любая система сборки на ваше усмотрение.Для GNU/Linux дистрибутивов:
# Для ALT Linux / Debian-based / ...
$ sudo apt-get install avr-gcc avr-libc avrdude
В случае IDE и SinaProg/AVRDUDESS все должно быть интуитивно понятно. К тому же это часть учебного процесса.