Skip to content

Akhunzianov/mik32_simple_clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Документация на MIK32 АМУР

Установка

  1. Скачать и установить VS Code
  2. Следуя инструкции DevContainers Installation, установить Docker и DevContainer плагин для VS Code

⚠️ Если у вас Windows, вам так же необходимо выполнить пункт Настройка отладчика

Настройка отладчика (Windows)

💡 Пользователям Linux эти шаги выполнять не нужно

  1. Открыть терминал от имени администратора
  2. Ввести команду winget install usbipd
  3. Выполнить все инструкции на экране
  4. Подключить отладчик по USB
  5. Ввести команду usbipd list
  6. Найти в списке устройство с именем "Dual RS232-HS" (или с VID:PID "0403:6010") и скопировать его "BUSID"
  7. Ввести команду usbipd bind --busid=<BUSID> --force
  8. Ввести команду usbipd attach --auto-attach --wsl --busid <BUSID>
    (:warning: данную команду необходимо выполнять каждый раз после переподключения отладчика)
    (:warning: если отладчик все еще не доступен внутри контейнера, то нужно перезапустить vs code)

Запуск

⚠️ Если у вас Windows, то необходимо выполнить пункт 8 из настройки отладчика

  1. Открыть папку с репозиторием в VS Code
  2. Нажать сочетание клавиш "Ctrl + Shift + P"
  3. Ввести "Dev Containers: Open Folder in Container"
  4. Нажать Enter
  5. Дождаться сборки контейнера и настройки VS Code

⚠️ Выше описанные шаги необходимо выполнить только первый раз. В следующий раз достаточно в VS Code открыть проект mik32_base_project @ desktop-linux [Dev Container]

Сборка

В терминале Dev Containers ввести команду make (для удаления артефактов сборки ввести make clean)

Загрузка прошивки

💡 Для того чтобы избежать проблем при загрузке прошики, всегда подключайте отладчик и выполняйте пункт 8 из настройки отладчика (если у вас Windows) до запуска VS Code.

В терминале Dev Containers ввести команду make flash

Serial monitor

  1. Подключить плату через USB type-c провод.
  2. Выполнить проброс в wsl устройства USB-SERIAL CH340 аналогично Настройка отладчика (Windows)
  3. В (опционально в новом) терминале Dev Containers ввести команду make monitor
  4. Выход из терминала возможен по последовательному нажатию сочетаний 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

About

Simple clock using mik32 mcu. Features ordinary clock, timer, stopwatch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages