Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dx3mod/avr-startup-guide


https://github.com/dx3mod/avr-startup-guide

avr guide ru startup

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# avr-startup-guide

Руководство по организации и использовании среды разработки для студентов, проходящих курс по введению в программирование МК AVR.

**Содержание**

1. [Необходимые комплектующие](#kit)
2. [Откуда брать информацию?](#docs)
3. Подготовка рабочего окружения
- [для новичков](#setup-beginner)
- [для опытных пользователей](#setup-advanced)
4. [Использование рабочего окружения](#use-setup)
5. [FAQ](#faq)

---


## Необходимые комплектующие

* **Микроконтроллер AVR ATtiny2313** (ATtiny2313A тоже подходит) и/или какой-либо другой из 8-битной серии;
* **Программатор USBAsp V2.0** - он нужен для записи прошивки(кода) во flash-память микроконтроллера;
* Набор всяких радиоэлементов, вроде резисторов, светодиодов, тактовых кнопок, индикаторов и т.д.;
* И персональный компьютер с предустановленной операционной системой (в этому руководстве рассматривается только Windows 10 и GNU/Linux) и программными комплексами для разработки прошивок под микроконтроллеры.

Все это будет предоставлено на парах, но для более комфортной и продуктивной работы рекомендуется иметь это свое.


## Откуда брать информацию?

Основным источником информации о микроконтроллере является его техническая спецификация (datasheet). Для ATtiny2313A ее можно найти [тут](https://ww1.microchip.com/downloads/en/DeviceDoc/doc8246.pdf). Но это не учебная литература, а именно что *спецификация*!

В качестве дополнительного материала из Интернета можно посоветовать
* Портал [Narod Stream](https://narodstream.ru/programmirovanie-mk-avr/) - тут вы найдете как текстовой, так и видеоматериал;
* Плейлист ["Программируем микроконтроллеры AVR на языке Си в Atmel Studio"](https://youtube.com/playlist?list=PL-bJ-cyZJjjDetZrdA7uiYrVvdJSIBZVR&si=WuRzwQYXeGY5uKUQ), где помимо программирования микроконтроллера объясняется и сам язык программирования C;
* Плейлист ["Программирование микроконтроллеров AVR"](https://youtube.com/playlist?list=PLIqtBa8-MDK1Ph2ImerlhHnPYgH4ACn5o&si=-qans7Z9CGTkVaUe).

Если у вас возникают трудности, то не бойтесь и обращайтесь к преподавателю или к более старшим товарищам.


## Подготовка рабочего окружения (для новичков)

Для разработки под МК AVR вам потребуется:

* **IDE** (интегрированная среда разработки), где непосредственно будет писаться и [компилироваться](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80) исходный код программ (прошивок). В качестве нее можно использовать [Microchip Studio](https://www.microchip.com/en-us/tools-resources/develop/microchip-studio), либо же более современный кроссплатформенный продукт - [MPLab X IDE](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide), что доступен
как под Windows, так и под MacOs, и Linux;

* и **утилита прошивки микроконтроллера** (интерфейс для работы с программатором). Если вы работаете под управлением ОС Windows, то вам для начало требуется установить драйвер для поддержки программатора USBAsp, который можно найти на [официальном сайте](https://www.fischl.de/usbasp/). А после установить графическую утилиту [SinaProg](https://cxem.net/software/sinaprog.php) и/или [AVRDUDESS](https://github.com/ZakKemble/AVRDUDESS).


## Подготовка рабочего окружения (для опытных пользователей)

#### PlatformIO

Если вы чувствуете себя уверенно в настройки сред разработки, то рекомендуем
вам воспользоваться open-source решением - [PlatformIO](https://platformio.org/) с интеграцией в текстовый редактор [VSCode](https://code.visualstudio.com/). Эта платформа автоматизирует управление toolchain'ом, сборкой, загрузкой и разработку программных проектов для embedded систем (микроконтроллеров).

Использование PlatformIO будет оптимальным решением.

#### Ручная сборка

Но в случае, если вы хотите управлять все руками, то вам потребуется следующие ПО:
* `avr-gcc` - компилятор языка C под платформу AVR;
* `avr-libc` - стандартная библиотека языка C под платформу AVR;
* `avrdude` - утилита загрузки прошивки в микроконтроллер:
* `make`, `cmake`, ... - любая система сборки на ваше усмотрение.

Для GNU/Linux дистрибутивов:
```bash
# Для ALT Linux / Debian-based / ...
$ sudo apt-get install avr-gcc avr-libc avrdude
```


## Использование рабочего окружения

#### Окружение для новичков

В случае IDE и SinaProg/AVRDUDESS все должно быть интуитивно понятно.
К тому же это часть учебного процесса.

#### Окружение для опытных пользователей

- PlatformIO
* [Документация](https://docs.platformio.org/en/latest/)
- Ручная сборка
* [Wiki страница](https://wiki.archlinux.org/title/AVR)
* Man-страницы
* [A small build-tool for AVR C/C++ projects](https://github.com/unqtd/avrshit)


## FAQ

Не прошивается МК

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

- Попробуйте установить [новую](https://0x0.st/HXn7.hex) прошивку на программатор;
- Попробуйте поменять `baudrate`, `bitclock`