Установка всех компонентов происходит в командной строке. Последовательность действий зависит от операционной системы.
Для работы потребуется кросс-компилятор arm-none-eabi-gcc
, утилита сборки make
, отладчик openocd
,
система контроля версия git
и текстовый редактор Visual Studio Code
с расширениями.
Пример использует библиотеки CMSIS, CMSIS Device F0 и HAL F0.
.vscode/
- директория с настройка редактораVisual Studio Code
c_cpp_properties.json
- настройки плагинаC/C++ for Visual Studio Code
launch.json
- настройки конфигураций отладкиtasks.json
- настройки конфигураций сборки и загрузкиsettings.json
- локальные настройкиVisual Studio Code
.git/
- директория системы контроля версияgit
lib/
- директория с внешними библиотекамиcmsis_core/
- директория с библиотекой поддержки ядерCortex-M
cmsis_device_f0/
- директория с библиотекой описания регистров микроконтроллеровSTM32F0xx
stm32f0xx_hal_driver/
- директория с библиотекой драйверовHAL
для микроконтроллеровSTM32F0xx
src/
- исходные и заговоловочные файлы проектаmain.c
- исходный файл с функциейmain
startup_stm32f072xb.s
- файл startupstm32f0xx_hal_conf.h
- настройкиHAL
stm32f0xx_it.c
- подпрограммы обработчики прерыванийsystem_stm32f0xx.c
- шаблон с системными настройками микроконтроллера (тактирование, Flash)
build/
- временная директория с результатами сборки (отсутсвует вgit
)*.elf
- образ (результат сборки) в формате ELF*.bin
- образ (результат сборки) в формате bin*.hex
- образ (результат сборки) в формате Intel HEX*.map
- карта распределения объектный файлов (*.o
) по адресному пространству*.o
- объектный файл (машинный код в относительных адресах) для каждого исходного файла*.lst
- листинг для каждого исходного файла*.d
- файл зависимостей для каждого исходного файла
.gitignore
- файлы и директории, исключенные из системы контроля версий.gitmodules
- подмодулиgit
Makefile
- файл сборкиREADME.md
- это описание в формате MarkdownSTM32F072RBTx_FLASH.ld
- сценарий компоновщикаSTM32F072x.svd
- описание структуры МК (регистры специальных функций) для отладчика
Открыть командную строку PowerShell
в режиме администратора.
-
Скачать и установить пакетный менеджер
Chocolatey
Пакетный менеджер позволит быстро устанавливать необходимые программы не прибегая к поиску установочных файлов в интернете.
Установка выполняется командой:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Проверить установку следует командой:
choco --version
Если установка прошла успешно, то в командной строке напечатается версия программы, например
2.0.0
-
Установить кросс-компилятор
arm-none-eabi-gcc
и другие инструмент:choco install gcc-arm-embedded choco install make choco install openocd choco install git
Проверка правильности установки:
arm-none-eabi-gcc --version make --version openocd --version
Каждая команда должна вернуть свою версию.
-
Скачать и установить текстовый редактор
Visual Studio Code
.
-
Установка в системах с пакетным менеджером
apt
:sudo apt install arm-none-eabi-gcc sudo apt install make sudo apt install openocd sudo apt install git
Проверка правильности установки:
arm-none-eabi-gcc --version make --version openocd --version git --version
Каждая команда должна вернуть свою версию.
-
Скачать и установить текстовый редактор
Visual Studio Code
.
-
Установка в системах с пакетным менеджером
brew
:brew tap ArmMbed/homebrew-formulae brew install arm-none-eabi-gcc brew install openocd
Проверка правильности установки:
arm-none-eabi-gcc --version make --version openocd --version git --version
Каждая команда должна вернуть свою версию.
-
Скачать и установить текстовый редактор
Visual Studio Code
.
Текстовый редактор Visual Studio Code
позволяет с помощью расширений (extensions) создать среду практически для любых задач по программированию.
Инструкция применима для всех операционных систем.
-
Загрузить и установить с сайта версию Visual Studio Code в соответствие с вашей операционной системой.
-
Установить расширения можно экспортировав профиль или установив их вручную:
-
Для работы с кодом на языке C/C++ - C/C++ for Visual Studio Code
-
Для визуализации отладки - Cortex-Debug
-
Для подсветки синтаксиса ассемблера - Arm Assembly
-
Для подсветки синтаксиса скрипта компоновщика - LinkerScript
-
Для подсветки map файлов - GNU Linker Map files
-
Для проверки
Markdown
файлов - markdownlint -
Для работы с последовательным портом - Serial Monitor
-
Проект содержит подмодули с библиотекам от ST.
Для клонирования с подмодулями выполните следующу команду
git clone --recurse-submodules -j8 https://github.com/smirnovalnik/stm32f072_vscode_gcc_template.git
Сборка проекта:
make all
Очистка проекта:
make clean
Загрузка образа в МК:
make download