Оглавление:
- Запасы
- Шаг 1. Откройте Keil UVision IDE
- Шаг 2: Выберите устройство
- Шаг 3. Управление средой выполнения
- Шаг 4: Скопируйте FreeRTOS в папку вашего проекта
- Шаг 5: Добавьте файлы FreeRTOS в проект
- Шаг 6: Настройте путь к файлам заголовков FreeRTOS
- Шаг 7. Добавьте файл FreeRTOSConfig.h в проект
- Шаг 8: Добавьте файл main.c с базовым шаблоном
- Шаг 9: Подключите ваш STM32F407 Discovery Kit к вашему ПК / ноутбуку
- Шаг 10: выберите отладчик ST-Link в конфигурации компилятора
- Шаг 11: Настройте отладчик ST-Link
- Шаг 12: создайте и загрузите код
- Шаг 13: перейдите в окно отладки и откройте последовательный монитор
- Шаг 14: запустите код, чтобы увидеть результат в окне отладки Printf
Видео: Настройка FreeRTOS с нуля на STM32F407 Discovery Kit: 14 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Выбор 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. Щелкните проект и выберите New uVision Project… Затем выберите рабочий каталог и укажите желаемое имя проекта.
Шаг 2: Выберите устройство
После того, как вы дали проекту имя, на следующем шаге вам нужно добавить устройство. Здесь мы добавляем микроконтроллер STM32F407VG от STMicroelectronics. Выберите STM32F407VG, затем нажмите OK.
Шаг 3. Управление средой выполнения
Следующим шагом является выбор компонента библиотеки / драйвера на вкладке «Управление средой выполнения». Здесь выберите все компоненты, как показано на рисунке выше. После того, как вы отметите все соответствующие поля, нажмите «Разрешить», затем нажмите «ОК».
Шаг 4: Скопируйте FreeRTOS в папку вашего проекта
Теперь вам нужно скопировать всю папку FreeRTOS в папку вашего проекта.
Шаг 5: Добавьте файлы FreeRTOS в проект
После того, как вы скопировали папку FreeRTOS в папку вашего проекта, вы должны добавить все необходимые файлы FreeRTOS в свой проект.
- В Keil выберите Target1, щелкните правой кнопкой мыши и выберите Добавить новую группу. Переименуйте эту группу в FreeRTOS.
- Теперь щелкните группу FreeRTOS, щелкните правой кнопкой мыши и выберите Добавить существующие файлы в группу «FreeRTOS…»
- Добавьте все файлы 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, вам необходимо сообщить компилятору, где находятся соответствующие файлы заголовков. Следовательно, нам нужно настроить параметр компилятора.
Щелкните правой кнопкой мыши параметр Target1 для Target "Target1.." Путь включения C / C ++. Убедитесь, что вы указали эти пути:
- Включить папку в FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
- Каталог 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 к вашему ПК / ноутбуку
Шаг 10: выберите отладчик ST-Link в конфигурации компилятора
Щелкните правой кнопкой мыши Target1, затем нажмите Option for Target "Target1..", затем перейдите на вкладку Debug и выберите ST-Link-Debugger, как показано на рисунке выше.
Шаг 11: Настройте отладчик ST-Link
После выбора отладчика ST-Link на шаге 10 нажмите «Настройки», затем выберите «Трассировка» и проверьте все поля, как показано на рисунке выше.
Шаг 12: создайте и загрузите код
После выполнения всех шагов соберите проект и убедитесь, что в коде нет ошибок. После успешной компиляции загрузите код в свой Discovery Kit.
Шаг 13: перейдите в окно отладки и откройте последовательный монитор
После загрузки перейдите в отладку windowviewSerial WindowsDebug (printf) Viewer, как показано на рисунке выше.
Шаг 14: запустите код, чтобы увидеть результат в окне отладки Printf
Последний шаг - запустить код, как показано на рисунке, чтобы увидеть результат в окне printf. Здесь, в main.c, я реализовал 2 простые задачи: task1 и task2. Обе задачи имеют одинаковый приоритет, и они просто печатают имя задачи. Из-за одинаковых приоритетов вы можете видеть, что они оба работают и печатают имя.
Рекомендуемые:
Создайте простое приложение Hello World с нуля во Flutter: 7 шагов
Создайте базовое приложение "Hello World" с нуля во Flutter: Здравствуйте, ребята, я создал учебник по Flutter для начинающих. Если вы хотите начать разработку Flutter сейчас, это поможет вам Руководство по Flutter для начинающих
Как сделать платформер с нуля: 6 шагов (с картинками)
Как создать платформер с нуля: Scratch - это веб-сайт, на котором люди создают игры и другие программы, используя готовые блоки, которые вы перетаскиваете в рабочее пространство. Сегодня я покажу вам, как создать платформер с нуля
Сделай сам Bluetooth-динамик с нуля !: 5 шагов (с изображениями)
Сделай сам Bluetooth-динамик с нуля! Я всегда хотел создать свой собственный Bluetooth-динамик с нуля, и с моим новым найденным свободным временем я решил ускорить это желание в реальность! Плата, которую я разработал, вращается вокруг модуля Bluetooth XS3868 и аудио Pam8403 мощностью 3 на 3 Вт
Realizar Una Maquina Virtual, конфигуратор LinuxLite и программа с нуля: 6 шагов
Realizar Una Maquina Virtual, Configurar LinuxLite Y Programar Con Scratch: Te damos la bienvenida al tutorial de como hacer una maquina virtual por medio del programa virtualBox con el sistema operativo LinuxLite y el programa de software abierto scratch.VirtualBox es un programa de virtualización instalar en nues
Настройка Raspberry Pi с нуля для регистрации данных с Arduino: 5 шагов
Настройка Raspberry Pi с нуля для регистрации данных с Arduino: это руководство предназначено для тех, у кого нет опыта установки нового оборудования или программного обеспечения, не говоря уже о Python или Linux. Допустим, вы заказали Raspberry Pi (RPi) с SD карта (минимум 8ГБ, я использовал 16ГБ, тип I) и блок питания (5В, минимум 2