Windows 10 подробно собирает NAS (докер создает среду разработки)
Windows 10 подробно собирает NAS (докер создает среду разработки)

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Создание среды разработки прошивки ODrive под Windows

Следующий контент предназначен для разработчиков, желающих изменить прошивку ODrive. Предполагается, что вы знаете такие вещи, как использование Git и что такое компилятор. Если это звучит странно, возможно, вам не подойдет следующее.

Каталог статей

1 Подготовьте инструменты разработки, которые будут использоваться

Используемые инструменты разработки ODrive:

  1. Python3: Используется для запуска сценариев сборки проекта.
  2. ST-Link/V2 Drivers: Драйвер программатора STLink/v2
  3. Git for Windows: терминал bash для управления версиями и его использования
  4. Visual Studio Code: Легкий, но мощный редактор исходного кода.
  5. Tup: Система сборки, используемая для вызова команд компиляции
  6. ARM GNU Compiler: для кросс-компиляции кода
  7. OpenOCD: Как использовать программатор STLink/v2 для программирования ODrive
  8. GNU MCU Eclipse’s Windows Build Tools: Используется для инженерных построек.

Загрузка пакета инструментов: Связь https://pan.baidu.com/s/1BphTCa4OrzmEFmStDXAbHg Код извлечения hbh1

2 Установите Python3

Дважды щелкните, чтобы запуститьpython-3.8.1.exe

Уведомление: Поставьте галочку на картинке выше Add Python 3.8 to PATH Затем следуйте инструкциям, чтобы сохранить установку по умолчанию.

2.1 Установите пакет Python

windos Введите в командную строку pip install PyYAML Jinja2 jsonschema Требуется установка python Сумка.

3. Установите драйверы ST-Link/V2.

Разархивировать ST-Link_Drivers.zip генерировать ST-Link_Drivers папку, войдите в папку и дважды щелкните, чтобы запустить dpinst_amd64.exe Просто следуйте инструкциям и сохраните установку по умолчанию.

4. Установите Git для Windows

Дважды щелкните, чтобы запустить Git-2.25.0-64-bit.exe Просто следуйте инструкциям и сохраните установку по умолчанию.

5 Visual Studio Code

5.1 Установка кода Visual Studio

Дважды щелкните, чтобы запустить VSCodeUserSetup-x64-1.42.0.exe Просто следуйте инструкциям и сохраните установку по умолчанию.

5.2 Установите расширение Visual Studio Code

  • необходимый Расширения:
    • C/C++
    • Cortex-Debug
  • рекомендовать Установитьиз Расширения:
    • Include Autocomplete
    • Path Autocomplete
    • Auto Comment Blocks

Способ установки плагина:

  1. Запустить код Visual Studio
  1. Нажмите на красное поле Открыть представление управления плагином.
  1. Введите название нужного плагина в красное поле. (например: C/С++) Входить
  1. Нажмите на красное поле Install Установить
  1. Просто дождитесь завершения установки.

5.3 Настройка терминала Visual Studio Code по умолчанию

Настройте терминал Visual Studio Code по умолчанию на git bash.

Нажмите на меню Terminal -> New Terminal

Командный терминал, открытый в это время, является командным терминалом cmd Windows по умолчанию. Щелкните раскрывающийся список в красном поле и нажмите «Выбрать оболочку по умолчанию».

Нажмите Git bash в красном поле, чтобы завершить настройку.

Уведомление: Пожалуйста, закройте после завершения настройки Visual Studio Code Затем перейдите к следующим шагам

6 Настройка Тупа

Разархивировать tup-latest.zip в любое место, а затем tup-latest Добавить адрес в переменные системной среды Path Просто ударь это

7. Настройка компилятора ARM GNU

Разархивировать gcc-arm-none-eabi-7-2018-q2-update-win32.zip в любое место, а затем gcc-arm-none-eabi-7-2018-q2-update-win32\bin Добавить адрес в переменные системной среды Path Просто ударь это

8 Настройка OpenOCD

Разархивировать OpenOCD.zip в любое место, а затем OpenOCD\0.10.0-13\bin Добавить адрес в переменные системной среды Path Просто ударь это

9. Инструменты сборки Windows GNU MCU Eclipse

Разархивировать gnu-mcu-eclipse-windows-build-tools-2.12-20190422-1053-win64.zip в любое место, а затем GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin Добавить адрес в переменные системной среды Path Просто ударь это

10 Попробуйте скомпилировать исходный код прошивки

Рекомендуется git clone ODrive Исходный код прошивки является локальным, но из-за проблем с политикой. clone будет очень медленным, поэтому Вниз предоставляет дополнительный сетевой диск Baidu Вниз для загрузки связи.

Уведомление:к ВнизиспользоватьСетевой диск Baidu Вниз адрес загрузкиВнизнагрузкаизпрошивка скомпилирована Разархивировать ODrive-fw-v0.4.11-19-g1c947631.rar Входить ODrive-fw-v0.4.11-19-g1c947631 папка, двойной щелчок ODrive_Workspace.code-workspace Выберите использование Visual Studio Code Открыть

Нажмите на красное поле tup.config.default файл, настройте версию оборудования и измените его на следующий код:

Язык кода:javascript
копировать
# Copy this file to tup.config and adapt it to your needs
# make sure this fits your board
CONFIG_BOARD_VERSION=v3.5-24V
CONFIG_USB_PROTOCOL=native
CONFIG_UART_PROTOCOL=ascii
CONFIG_DEBUG=false

# Uncomment this to error on compilation warnings
#CONFIG_STRICT=true

а потом tup.config.default Файл переименован в tup.config Затем сохраните.

Нажмите на меню Terminal -> Run Build Task… Дождитесь завершения сборки и компиляции.

Хотя компиляция завершена, в приведенном выше процессе сборки возникают некоторые проблемы. Это связано с тем, что используемый нами пакет исходного кода не переносится на локальную систему через git clone (если он переносится на локальную систему через git clone, этой проблемы не возникает). существует), поэтому выполните version.py. Информацию о версии прошивки невозможно получить правильно при написании сценария. Вы можете изменить внутренний код version.py и заполнить информацию о версии вручную вместо того, чтобы получать информацию о версии с помощью команды git. Измените функцию get_version_from_git() в строке 22 файла version.py следующим образом:

До модификации:

Язык кода:javascript
копировать
def get_version_from_git():
    script_dir = os.path.dirname(os.path.realpath(__file__))
    try:
        # Determine the current git commit version
        git_tag = subprocess.check_output(["git", "describe", "--always", "--tags", "--dirty=*"],
            cwd=script_dir)
        git_tag = git_tag.decode(sys.stdout.encoding).rstrip('\n')

        (major, minor, revision, is_prerelease) = version_str_to_tuple(git_tag)

        # if is_prerelease:
        # revision += 1
        return git_tag, major, minor, revision, is_prerelease

    except Exception as ex:
        print(ex)
        return "[unknown version]", 0, 0, 0, 1

После модификации:

Язык кода:javascript
копировать
def get_version_from_git():
    return "fw-v0.4.11-19-g1c947631*", 0, 4, 11, True

11. Завершите настройку среды разработки.

11.1 Сборка проекта

  • Terminal -> Run Build Task…

Окно терминала будет заменено на Открыть. Конфигурация VSCode будет иметь команду бежать в этом терминале. make -j4 , для компиляции проекта.

11.2 Запись прошивки

  • Terminal -> Run Task… -> flash

Окно терминала будет заменено на Открыть. VSCodeКонфигурациябудет в этом терминалебегать Заказmake flash,Приходить Записать прошивку。

11.3 Отладка

Cortex-Debug Плагин расширения специально для отладки ARM Проект Кортекс. Ты можешьк Прочтите об этом здесьCortex-Debugиз Дополнительная информация:https://github.com/Marus/cortex-debug

  • Убедитесь, что папка с исходным кодом прошивки является текущей папкой.
  • (Эта операция не требуется при использовании режима отлаживать)
  • Нажмите «Отладка». -> Start Debugging (или клавиатура F5)
  • Процессор перезагрузится и Вхождение приостановится.
  • Установка точек остановки. Уведомление: Вы можете устанавливать точки останова только тогда, когда процессор находится в режиме паузы.,Если вы установили точку останова в режиме запуска Вниз,они не будут применяться
  • Бежать (F5)
  • Stepping over/in/out, повтор, в соответствии с Внизpause (F6) кнопку, а затем сбросить точки останова и т. д.
  • Когда отлаживать закончено,Ты можешькв соответствии с Внизstop (Shift+F5) Хватит отлаживать. В то же время он автоматически закроет openOCD.

11.4 Очистить файлы сборки

Если вы хотите создать новую ветку кода, вам может потребоваться очистить файлы во время сборки.

  • Открытькомандный терминал (View -> Terminal) Затем введите в командный терминал make clean Входить

Автор: Full stack программист, лидер стека,Пожалуйста, укажите источник при перепечатке: https://javaforall.cn/126222.html Исходный текст Связь: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose