- Скачать и установить VS Code
- Следуя инструкции DevContainers Installation, установить Docker и DevContainer плагин для VS Code
⚠️ Если у вас Windows, вам так же необходимо выполнить пункт Настройка отладчика
💡 Пользователям Linux эти шаги выполнять не нужно
- Открыть терминал от имени администратора
- Ввести команду
winget install usbipd - Выполнить все инструкции на экране
- Подключить отладчик по USB
- Ввести команду
usbipd list - Найти в списке устройство с именем "Dual RS232-HS" (или с VID:PID "0403:6010") и скопировать его "BUSID"
- Ввести команду
usbipd bind --busid=<BUSID> --force - Ввести команду
usbipd attach --auto-attach --wsl --busid <BUSID>
(:warning: данную команду необходимо выполнять каждый раз после переподключения отладчика)
(:warning: если отладчик все еще не доступен внутри контейнера, то нужно перезапустить vs code)
⚠️ Если у вас Windows, то необходимо выполнить пункт 8 из настройки отладчика
- Открыть папку с репозиторием в VS Code
- Нажать сочетание клавиш "Ctrl + Shift + P"
- Ввести "Dev Containers: Open Folder in Container"
- Нажать Enter
- Дождаться сборки контейнера и настройки VS Code
⚠️ Выше описанные шаги необходимо выполнить только первый раз. В следующий раз достаточно в VS Code открыть проектmik32_base_project @ desktop-linux [Dev Container]
В терминале Dev Containers ввести команду make
(для удаления артефактов сборки ввести make clean)
💡 Для того чтобы избежать проблем при загрузке прошики, всегда подключайте отладчик и выполняйте пункт 8 из настройки отладчика (если у вас Windows) до запуска VS Code.
В терминале Dev Containers ввести команду make flash
- Подключить плату через USB type-c провод.
- Выполнить проброс в wsl устройства
USB-SERIAL CH340аналогично Настройка отладчика (Windows) - В (опционально в новом) терминале Dev Containers ввести команду
make monitor - Выход из терминала возможен по последовательному нажатию сочетаний
ctrl+a,затемctrl+x.
- Используется функциональность VS code и плагина cortex-debug.
- Перед запуском отладчика нужно выполнить сборку проекта и прошивку МК командой
make build_app flash. - gdb-команда
loadне поддерживается, загрузка в память возможна только с помощью скриптаmik32_upload.py. Либо командойmake flash - Иногда установка плагина cortex-debug выполняется с ошибкой, тогда нужно переустановить его внутри контейнера вручную через UI VS code.
Пожалуйста, добавляйте свои файлы в папку app\user, тогда они автоматически попадут в CMake проект.
Анализ размера прошивки можно выполнить с помощью python-утилиты elf-size-analyze
Вывод в консоль отчета размера ROM памяти (EEPROM или FLASH). Обычно это секции .text, .data и т.п.
make size_analyze_rom
Вывод в консоль отчета размера RAM памяти (встроенная SRAM). Обычно это секции .bss, .data и т.п.
make size_analyze_ram
⚠️ Утилита по умолчанию не помещает в отчет с RAM секцию.ram_text, но она должна находится и в ROM, и в RAM памяти.
⚠️ для отчета утилита использует только секции с флагомALLOCи: для RAM - должен быть флагWRITE, для ROM - тип не равенNOBITS.
Вывод в консоль отчета размера всех секций
make size_analyze_sections
Генерация html отчета
make size_analyze_html