Оглавление:

Настройка FreeRTOS с нуля на STM32F407 Discovery Kit: 14 шагов
Настройка FreeRTOS с нуля на STM32F407 Discovery Kit: 14 шагов

Видео: Настройка FreeRTOS с нуля на STM32F407 Discovery Kit: 14 шагов

Видео: Настройка FreeRTOS с нуля на STM32F407 Discovery Kit: 14 шагов
Видео: STM32 - программирование для начинающих. Пошагово. CubeMX CubeIDE 2024, Ноябрь
Anonim
Настройка FreeRTOS с нуля на STM32F407 Discovery Kit
Настройка FreeRTOS с нуля на STM32F407 Discovery Kit

Выбор FreeRTOS в качестве операционной системы реального времени для вашего встроенного проекта - отличный выбор. FreeRTOS действительно бесплатен и предоставляет множество простых и эффективных функций RTOS. Но настройка freeRTOS с нуля может быть сложной или, я могу сказать, немного запутанной, поскольку она требует некоторых настроек, таких как добавление файлов, специфичных для микроконтроллера, установка путей к файлам заголовков и т. Д. В этом руководстве я расскажу вам, как настроить FreeRTOS на Подробное описание вашего набора STM32F407 Discovery с использованием Kiel uVision IDE.

Запасы

  • Вы можете узнать больше о FreeRTOS на freertos.org
  • Руководство по загрузке FreeRTOS Инструкции по загрузке исходного кода RTOS
  • Полная информация о STM32F407 Discovery Kit Начало работы с STM32F407 Discovery KIt
  • Репозиторий Github FreeRTOS на STM32F407 Discovery Kit

Шаг 1. Откройте Keil UVision IDE

Откройте Keil UVision IDE
Откройте Keil UVision IDE

Откройте Keil uVision IDE. Щелкните проект и выберите New uVision Project… Затем выберите рабочий каталог и укажите желаемое имя проекта.

Шаг 2: Выберите устройство

Выберите устройство
Выберите устройство

После того, как вы дали проекту имя, на следующем шаге вам нужно добавить устройство. Здесь мы добавляем микроконтроллер STM32F407VG от STMicroelectronics. Выберите STM32F407VG, затем нажмите OK.

Шаг 3. Управление средой выполнения

Управление средой выполнения
Управление средой выполнения

Следующим шагом является выбор компонента библиотеки / драйвера на вкладке «Управление средой выполнения». Здесь выберите все компоненты, как показано на рисунке выше. После того, как вы отметите все соответствующие поля, нажмите «Разрешить», затем нажмите «ОК».

Шаг 4: Скопируйте FreeRTOS в папку вашего проекта

Скопируйте FreeRTOS в папку вашего проекта
Скопируйте FreeRTOS в папку вашего проекта

Теперь вам нужно скопировать всю папку FreeRTOS в папку вашего проекта.

Шаг 5: Добавьте файлы FreeRTOS в проект

Добавить файлы FreeRTOS в проект
Добавить файлы FreeRTOS в проект

После того, как вы скопировали папку FreeRTOS в папку вашего проекта, вы должны добавить все необходимые файлы FreeRTOS в свой проект.

  1. В Keil выберите Target1, щелкните правой кнопкой мыши и выберите Добавить новую группу. Переименуйте эту группу в FreeRTOS.
  2. Теперь щелкните группу FreeRTOS, щелкните правой кнопкой мыши и выберите Добавить существующие файлы в группу «FreeRTOS…»
  3. Добавьте все файлы FreeRTOS, как показано на рисунке выше.

Путь к нахождению этих файлов в папке FreeRTOS:

  • Файлы: croutine, event_groups, список, очередь, stream_buffer, задачи и таймеры. Путь: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source)
  • Файлы: heap_4 (есть 4 файла управления памятью, добавь кто угодно). Путь: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Файлы: port.c (это специальный файл MCU). Путь: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Примечание: версия FreeRTOS может измениться. Просто используйте последнюю доступную версию.

Шаг 6: Настройте путь к файлам заголовков FreeRTOS

Настройте путь к файлам заголовков FreeRTOS
Настройте путь к файлам заголовков FreeRTOS

После того, как вы добавили исходные файлы FreeRTOS, вам необходимо сообщить компилятору, где находятся соответствующие файлы заголовков. Следовательно, нам нужно настроить параметр компилятора.

Щелкните правой кнопкой мыши параметр Target1 для Target "Target1.." Путь включения C / C ++. Убедитесь, что вы указали эти пути:

  1. Включить папку в FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
  2. Каталог RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Примечание. Если у вас есть какие-либо файлы заголовков, убедитесь, что вы указали путь к этим файлам заголовков, как описано выше.

Шаг 7. Добавьте файл FreeRTOSConfig.h в проект

Добавлять
Добавлять

FreeRTOS имеет один важный файл заголовка, который называется FreeRTOSConfig.h. Этот файл содержит настройки для конкретного приложения (в нашем случае - для MCU Cortex M4F). Для простоты я скопировал наш файл FreeRTOSConfig.h для MCU в каталог RVDS. А также на шаге 6 мы уже добавили путь RVDS. Если вы добавляете его самостоятельно, вам необходимо добавить этот файл в свой проект, а также убедиться, что вы указали путь к этому файлу, как описано в шаге 6.

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

Для получения дополнительной информации щелкните здесь FreeRTOSConfig.h

Шаг 8: Добавьте файл main.c с базовым шаблоном

Добавить
Добавить
  • Теперь создайте новую группу пользователей (я переименовал ее в «Пользовательское приложение»).
  • Добавьте новый C-файл в эту группу (я добавил файл с именем main.c).
  • Это файл, в котором существует функция main (). Я включил в этот файл все минимально необходимые функции и заголовки, чтобы проект успешно компилировался.

Вы можете найти файл main.c с базовым шаблоном ниже.

Шаг 9: Подключите ваш STM32F407 Discovery Kit к вашему ПК / ноутбуку

Подключите ваш STM32F407 Discovery Kit к вашему ПК / ноутбуку
Подключите ваш STM32F407 Discovery Kit к вашему ПК / ноутбуку

Шаг 10: выберите отладчик ST-Link в конфигурации компилятора

Выберите отладчик ST-Link в конфигурации компилятора
Выберите отладчик ST-Link в конфигурации компилятора

Щелкните правой кнопкой мыши Target1, затем нажмите Option for Target "Target1..", затем перейдите на вкладку Debug и выберите ST-Link-Debugger, как показано на рисунке выше.

Шаг 11: Настройте отладчик ST-Link

Настроить отладчик ST-Link
Настроить отладчик ST-Link

После выбора отладчика ST-Link на шаге 10 нажмите «Настройки», затем выберите «Трассировка» и проверьте все поля, как показано на рисунке выше.

Шаг 12: создайте и загрузите код

Создайте и загрузите код
Создайте и загрузите код

После выполнения всех шагов соберите проект и убедитесь, что в коде нет ошибок. После успешной компиляции загрузите код в свой Discovery Kit.

Шаг 13: перейдите в окно отладки и откройте последовательный монитор

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

После загрузки перейдите в отладку windowviewSerial WindowsDebug (printf) Viewer, как показано на рисунке выше.

Шаг 14: запустите код, чтобы увидеть результат в окне отладки Printf

Запустите код, чтобы увидеть результат в окне Debug Printf
Запустите код, чтобы увидеть результат в окне Debug Printf

Последний шаг - запустить код, как показано на рисунке, чтобы увидеть результат в окне printf. Здесь, в main.c, я реализовал 2 простые задачи: task1 и task2. Обе задачи имеют одинаковый приоритет, и они просто печатают имя задачи. Из-за одинаковых приоритетов вы можете видеть, что они оба работают и печатают имя.

Рекомендуемые: