Оглавление:

Как настроить среду программирования AVR в Linux: 5 шагов
Как настроить среду программирования AVR в Linux: 5 шагов

Видео: Как настроить среду программирования AVR в Linux: 5 шагов

Видео: Как настроить среду программирования AVR в Linux: 5 шагов
Видео: Программирование / прошивка AVR микроконтроллеров через консоль 2024, Ноябрь
Anonim
Как настроить среду программирования AVR в Linux
Как настроить среду программирования AVR в Linux

Если вы хотите программировать микроконтроллеры AVR в Windows, у вас есть Studio, но в Linux все, что у нас есть, - это Dude.

AVRDUDE - это интерфейс командной строки для программирования микросхем AVR, это может быть немного сложно сначала настроить. В этом руководстве я буду настраивать AVRDUDE, а также создавать среду программирования AVR для терминала Linux.

Сначала я установлю все AVRDUDE и все необходимые зависимости, затем я создам сценарий BASH, который поможет в программировании.

Шаг 1. Получение компилятора и других инструментов

Во-вторых, для программирования микросхем AVR вам понадобится специальный компилятор, известный как gcc-avr, и другие инструменты, такие как binutils-avr, avr-libc, gdb-avr, последний, но не в последнюю очередь avrdude.

sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude

Шаг 2: Создание шаблона

Создание шаблона
Создание шаблона

Если вы откроете новый скетч в Arduino, вы получите шаблон кода, который содержит две функции, это сэкономит вам много времени.

AVRDUDE использует C, и может быть немного неприятно всегда создавать основной метод каждый раз, когда вы хотите кодировать, поэтому я создам шаблон AVR.

коснитесь ~ / Templates / AVR.c

Используйте команду touch, чтобы создать пустой файл в папке Templates.

vi ~ / Шаблоны / AVR.c

откройте файл в вашем любимом текстовом редакторе, я использую vi.

#define F_CPU 16000000L

#include #include int main () {while () {} return 0; }

Введите приведенный выше код и сохраните файл. Этот код будет нашим шаблоном.

Примечание: я установил свою тактовую частоту как 16000000, вы можете установить свою как любую другую частоту, возможно, 8000000.

Шаг 3: Создайте новый файл

Теперь у нас есть шаблон для наших кодов AVR, все, что нам нужно сделать, это создать новый файл. Я буду создавать команду bash, которая будет принимать один аргумент (имя файла), а затем создам этот файл с шаблоном AVR.

давайте создадим пустой файл с именем "create"

коснитесь создать

измените права доступа к файлу, потому что это будет сценарий BASH

chmod 755 создать

Откройте «создать» в текстовом редакторе. Теперь давайте отредактируем "create", добавив следующие команды построчно.

#! / bin / bash

Это путь к интерпретатору для "create", который является bash.

cp ~ / Templates / AVR.c / home / $ USER

Это копирует наш файл шаблона в домашний каталог пользователя.

mv ~ / AVR.c $ 1

Помните, я сказал, что «create» принимает один аргумент, $ 1 означает первый аргумент нашей команды, этот аргумент - предполагаемое имя файла, последнее, что нам нужно, это несколько файлов с одинаковым именем файла. Команда переименовывает имя файла в наш аргумент.

vi $ 1

Это необязательно, но было бы неплохо открыть наш файл сразу после того, как мы его создали.

Мы закончили редактирование create, сохраните его и закройте.

Вот пример создания в действии.

./create blink.c

Это создает файл, известный как blink.c, этот файл должен иметь шаблон AVR.c.

Шаг 4: Бежим

Нам нужно создать еще один сценарий bash, известный как «run», этот сценарий будет принимать 3 аргумента (микроконтроллер avr, который мы используем, имя файла и программатор).

Давайте рассмотрим это построчно.

#! / bin / bash

наш shebang

avr-gcc -Wall -g -0s -mmcu = $ 1 -o $ 2.bin $ 2.c

Приведенная выше команда дополняет наш код, «$ 1» - это наш первый аргумент, который является микроконтроллером, который мы программируем. $ 2 - это наш второй аргумент, который является именем файла.

avr-objcopy -j.text -j.data -O ihex $ 2.bin $ 2.hex

Это преобразует наш согласованный файл в шестнадцатеричный.

avrdude -p $ 1 -c $ 3 -U flash: w: $ 2.hex -P usb

Теперь avrdude записывает код в микросхему AVR. $ 3 - это наш третий аргумент, который является используемым нами программистом.

Сохраняем файл "запустить"

дать ему разрешение на выполнение

chmod 755 запустить

А теперь проверим. Допустим, мы хотим загрузить blink.c, и мы используем плату Arduino напрямую, мы также используем программатор usbasp. Вот как мы используем скрипт «запустить».

./ запустить atmega328p мигнуть USBasp

Плата arduino имеет чип atmega328p, вы можете использовать любой микроконтроллер AVR по вашему выбору.

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

Затем у нас есть третий аргумент, который представляет собой программатор, который вы используете, я использую программатор USBasp.

Шаг 5: Заключение

Это отличный способ автоматизировать ваш опыт программирования avr. Вы можете переместить файлы bash "create" и "run" в "~ /.local / bin", чтобы вы могли использовать сценарии из любого файлового каталога по вашему выбору.

Рекомендуемые: