• 正文
  • 相关推荐
申请入驻 产业图谱

极海 APM32F407 RTOS 例程开发实操(AN1089 应用笔记 V1.0)

11/09 15:04
79
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本文基于珠海极海半导体 AN1089 (V1.0) 官方应用笔记,针对 APM32F407 平台下 FreeRTOS、RT‑Thread Nano 两套实时操作系统官方例程做完整解读,包含 RTOS 基础概念、开发环境部署、源码包安装、工程编译下载、硬件接线、现象验证全流程,全部版本、路径、硬件条件均源自原厂文档,可用于产品前期 RTOS 评估与项目移植参考。

资料获取:AN1089_APM32F407_RTOS例程应用笔记

1. 开发背景介绍

APM32F407 MCU 硬件性能较强,随着设备业务功能不断叠加,裸机开发模式会暴露出不少工程痛点:代码体量持续膨胀、业务逻辑耦合复杂、后期维护难度上升。为降低复杂项目开发难度,极海 SDK 提供两套主流 RTOS 完整例程,帮助开发者快速在 APM32F407 上开展多任务软件开发。

2. RTOS 基础与两套内核简介

2.1 RTOS 基本工作原理

RTOS 即实时多任务操作系统。“实时” 代表系统可以保障任务响应满足物理业务时间约束。单 CPU 内核同一时刻实际只能运行一个任务;RTOS 调度器会极快的在各个任务之间做切换,每个任务分片运行,宏观上实现多个任务 “同时运行” 的效果。RTOS 优先保障实时控制任务调度,其次提升系统整体资源利用效率。

2.2 FreeRTOS 内核说明

FreeRTOS 是国际上普及度很高的 MCU 实时操作系统,与头部芯片厂商合作开发长达 18 年。遵循 MIT 开源许可协议,可应用于全部行业产品。 本笔记配套例程使用版本:FreeRTOSv202012.00‑LTS。文档提示该版本并非 FreeRTOS 最新版本,开发者可自行查阅官方资料完成其他版本移植适配。

2.3 RT‑Thread Nano 内核说明

RT‑Thread 是国内广泛使用的嵌入式实时多线程操作系统。

  • 3.1.0 以及更早版本:GPL V2 开源协议;
  • 3.1.0 之后版本切换为 Apache License 2.0 协议,商业产品使用无需公开私有业务代码。

RT‑Thread 划分标准版、Nano 版、Smart 版。SDK 提供例程采用RT‑Thread Nano 极简硬实时内核;全部代码 C 语言编写,支持面向对象设计思路,内核组件可裁剪,属于抢占式 RTOS。包含任务管理、软件定时器、信号量、邮箱、实时调度等完整内核能力,内存占用小,适合家电、消费电子、医疗、工控类 32 位入门 ARM MCU。

3. 开发前期准备工作

整套例程基于APM32F4xx_SDK_V1.2,在 Keil MDK 环境调试运行。

3.1 软硬件环境清单

  1. SDK 软件包:APM32F4xx_SDK_V1.2
  2. 硬件开发板:APM32F407IG MINIBOARD
  3. 仿真调试器:J‑Link V9(dll 版本 V7.62c)
  4. IDE 环境:Keil MDK 5.25 及以上版本
  5. PC 操作系统:Windows10 / Windows11

3.2 安装 APM32F4 系列 Keil 芯片支持包

SDK 包路径\Package内存放芯片 DFP 支持包Geehy.APM32F4xx_DFP.1.0.1.pack,双击执行安装,点击 Next 直至完成。
安装完成弹窗提示Keil Pack Unzip has performed all requested operations successfully,代表芯片支持包安装成功。

3.3 FreeRTOS 源码解压部署

进入 SDK 目录\Middlewares\FreeRTOS,运行FreeRTOSv202012.00‑LTS.exe自解压程序。 解压目标路径设置为当前目录\Middlewares\FreeRTOS,解压完成生成FreeRTOSv202012.00源码文件夹。

3.4 RT‑Thread Nano Pack 包安装

RT‑Thread Nano 提供 Keil Pack 安装包,简化工程配置流程。 文件位置:SDK 路径\Middlewares\RealThread\Pack,打开RealThread.RT‑Thread.3.1.5.pack,按向导 Next,同意许可协议,等待安装结束。
弹窗提示Keil Pack Unzip has performed all requested operations successfully即 Pack 安装完毕。

4. FreeRTOS 例程编译下载与现象验证

4.1 工程编译与仿真器配置

  1. 打开工程文件路径:Examples\RTOS\FreeRTOS\Project\MDK,工程文件APM32F4xx_FreeRTOS.uvprojx。
  2. 编译工程,检查 Build Output 输出,确认无 Error,留意警告信息。
  3. 硬件连接 J‑Link 仿真器与 MINIBOARD 开发板;打开工程 Debug 配置页,调试器选项选择J‑LINK / J‑TRACE Cortex。
  4. 点击下载按钮,将固件烧录至 APM32F407 芯片。

4.2 硬件接线要求

FreeRTOS 内部Usart test task任务需要串口回环测试,必须做引脚短接:PA9 连接 PA3;PA10 连接 PA2。

接线完成,按下开发板 RESET 按键复位运行程序。

4.3 程序运行现象说明

例程启动后同时运行 2 个 RTOS 任务:

  1. Led toggle task:周期性翻转 LED2 引脚电平,表现为 LED2 持续闪烁;
  2. Usart test task:USART1、USART2 互发互收,校验收到的数据是否正确;
    • 通信校验正常 → LED3 常亮;
    • 如果接线错误,串口收发校验失败,LED3 状态异常。

5. RT‑Thread 例程编译下载与现象验证

5.1 工程编译与仿真器配置

  1. 打开工程路径Examples\RTOS\RT‑thread\Project\MDK,工程文件APM32F4xx_RTthread.uvprojx。
  2. 编译工程,查看 Build Output 编译日志,排查错误与告警。
  3. J‑Link 连接硬件,Debug 配置界面调试器同样选择J‑LINK / J‑TRACE Cortex。
  4. 执行固件下载操作。

5.2 程序运行现象说明

例程内部创建led1任务,下载完成按下 RESET 复位按键。 运行现象:LED2、LED3 以 1 秒间隔交替闪烁。

6. 官方参考文档链接

  1. FreeRTOS 官网:https://www.freertos.org/index.html
  2. RT‑Thread 文档中心
  3. RT‑Thread Nano 简介与下载页面(rt‑thread.org)

声明:本文全部内容转录自极海官方 AN1089 V1.0 应用笔记,产品实际开发需要结合原厂 SDK、芯片数据手册完成整机验证。

相关推荐