nf-zvv / AVR_project

Шаблон проекта AVR на C для VSCODE под Windows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Шаблон проекта AVR на C для VSCODE под Windows

Пример программы, приведенной в шаблоне, выполняет простую функцию - мигание светодиодом, подключенным к выводу PB5 с использованием прерывания таймера. Также оставлен код (функция func() в файле functions.c) для мигания светодиодом без использования таймера.

Подготовка окружения

Для компиляции программ на языке C для микроконтроллеров AVR используется AVR GCC toolchain.

  1. Тулчейн AVR GCC для Windows можно скачать, например, здесь (GitHub).
  2. Тулчейн необходимо распаковать в директорию c:\avr-gcc.
  3. Добавить директорию c:\avr-gcc\bin в переменную среды path.
  4. Склонировать себе этот репозиторий.

Исходники проекта хранятся в папке src. Заголовочные файлы в inc. Скомпилированные файлы будут лежать в папке build.

Сборка проекта и прошивка микроконтроллера

Для сборки проекта необходимо во встроенном терминале VSCODE (Ctrl+Shift+`) выполнить команду

make

В результате в папке buld будут созданы следующие файлы: сама прошивка .hex, EEPROM .epp, ассемблерный листинг .lss.

Для прошивки микроконтррллера испольуется следующая команда:

make prog

Note

Перед выполнением данной команды необходимо указать правильный порт программатора Avrdude, к которому подключена плата arduino. См. опцию PORT в файле Makefile.

Note

При добавлении новых исходных файлов в Makefile в переменную C_SOURCES добавить используемые *.c файлы.

Другие цели сборки:

  • make read_eeprom - считает содержимое EEPROM памяти микроконтроллера;
  • make write_eeprom - запишет память EEPROM микроконтроллера;
  • make size - покажет размер прошивки;
  • make analyze - анализ структуры пришивки;
  • make clean - очистка.

Настройка проекта

Задать имя проекта

При необходимости можно изменить имя проекта. Для этого исправить имя main на требуемое.

  1. В файле .vscode\c_cpp_properties.json отредактировать строчку:
"name": "main",
  1. В файле Makefile отредактировать строчку:
TARGET = main
  1. Переименовать главный файл проекта src\main.c.

Указать используемый микроконтроллер

  1. В файле .vscode\c_cpp_properties.json отредактировать строчку, указав используемый микроконтроллер:
"__AVR_ATmega328P__"
  1. В файле Makefile отредактировать строчки, указав используемый микроконтроллер:
# название контроллера для компилятора
MCU = atmega328p
...

# параметры для AVRDUDE
DUDE_MCU = m328p
...

# DEFINы
DEFINES = \
-D__AVR_ATmega328P__ \

Задать частоту кварцевого резонатора

  1. В файле .vscode\c_cpp_properties.json отредактировать строчку, указав частоту в герцах:
"F_CPU 16000000UL",
  1. В файле Makefile отредактировать строчку, указав частоту в герцах:
-DF_CPU=16000000UL

Указать пути до компилятора и заголовочных файлов

  1. В файле .vscode\c_cpp_properties.json проверить правильность пути до компилятора:
"includePath": [
				...
                "c:/avr-gcc/avr/include/"
...

"compilerPath": "c:/avr-gcc/bin/avr-gcc.exe",
  1. В файле Makefile проверить правильность пути до компилятора:
# путь к каталогу с GCC
AVRCCDIR = c:/avr-gcc/bin/
...

# пути к заголовочным файлам
C_INCLUDES =  \
-Ic:/avr-gcc/avr/include \

About

Шаблон проекта AVR на C для VSCODE под Windows


Languages

Language:Makefile 79.3%Language:C 20.7%