你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】UM1722_如何使用STM32Cube中的实时操作系统

[复制链接]
STMCU-管管 发布时间:2019-4-16 10:22
在具有 RTOS 的 STM32Cube 上开发应用! \6 Q) F% z! p5 a# y  B8 Z

7 K* q; d4 R! t. [  D6 A1 L前言 0 O7 l7 B9 N5 L1 P$ \; U& L* a2 R

9 V: J' F8 |# I+ JSTMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品系列。 1 `$ K+ Q# N2 j4 S1 S; Q8 w" I

5 w9 w0 ^( `& G  l& v4 u7 uSTM32Cube 1.x 版包括:
- x4 T; Z2 [- T0 g9 G, `• 图形软件配置工具 STM32CubeMX,可通过图形化的生成初始化 C 代码。
- s+ U3 f# B4 T) K• 针对每个系列提供综合的嵌入式软件平台 (即 STM32CubeF4 用于 STM32F4 系列)- P/ {4 L8 h  E, B8 ]" T
– STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
6 q! _) m$ h& Z) J/ p – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形7 b; e3 m; o" W* s! A% o
– 所有嵌入式软件实用工具均配备一套完整的示例。 8 [+ O+ o4 `, C' j0 I8 y" I7 H
+ h0 b- i7 ?# N1 \; F
实时操作系统是为在嵌入式 / 实时应用中使用而优化的操作系统。它们的主要目标是确保及时、确定性地响应事件。使用实时操作系统,应用可写为一组独立的线程,线程间使用消息队列和信号量通信。 - C6 P2 z  [3 v5 b4 ?: ?) V

8 L( W) p8 D& L! w) O+ J本用户手册的目标读者为在 STM32 微控制器上使用 STM32Cube 固件的开发者。它完整描述了如何使用具有实时操作系统 (RTOS)的 STM32Cube 固件组件;本用户手册还提供了一组示例说明,它们基于 FreeRTOS,使用 CMSIS-OS 封装层提供的通用 API。 / {2 X/ a& W$ E  @2 k$ N

7 _" E+ G' Z$ A5 [在 STM32Cube 固件中,通过 ARM 提供的通用 CMSIS-OS 封装层,将 FreeRTOS 用作实时操作系统。使用 FreeRTOS 的样例和应用可直接移植到其它任何 RTOS 而不需要修改高层API,在此情况下仅需更改 CMSIS-OS 封装。
0 m7 M5 D2 C) `$ D$ t) P4 p

* N1 T! r! \7 W" {请参考软件包的发布说明,以了解与 STM32CubeTM 共同使用的 FreeRTOS 和 CMSIS-RTOS固件组件版本。
6 a) n; x9 S/ G9 @% S# ?4 b8 [: ]1 L/ K
本文档适用于所有 STM32 器件;然而为了简洁起见,以 STM32F4xx 器件和 STM32CubeF4作为参考平台。若需了解更多在 STM32 设备上样例实现的信息,请参考相关 STM32Cube 固件包中提供的自述文件。# ~1 N7 |' [/ W5 {. a" d. K
( D8 S( c* W3 h: U% {$ Z
1 Free RTOS
9 A& J: [  H0 a8 U
$ |' f0 ?+ I8 Z* g9 k# d1.1 概述 , n1 u- G9 F8 U4 L" n! N

3 r* z9 K' }! iFreeRTOS 是 RTOS 的一种,尺寸非常小,可运行于微控制器上,但其使用并不限于微控制器应用。 ) g* x* f9 f9 ?( x. |

  W0 G" p" N5 D6 R. F微控制器是尺寸小、资源受限的处理器,它在单个芯片上包含了处理器本身、用于保存要执行的程序的只读存储器 (ROM 或 Flash)、所执行程序需要的随机存取存储器 (RAM)。一般情况下,程序直接从只读存储器执行。 ; b4 ]: n+ @6 W% h& j, c. U
+ l9 P  R, E  B$ j5 v5 S5 |
微控制器用于深度嵌入式应用(对于那些应用,您永远不会看到处理器本身或运行的软件),它们一般有非常明确、专门的工作。尺寸的限制以及专用的终端应用等性质,令其很少能使用完整的 RTOS 实现 - 或者说不可能使用完整的 RTOS 实现。因此,FreeRTOS 仅为内核提供了实时调度功能、任务间通信、时序和同步原语。这意味着更准确地说,它是一个实时内核,或实时执行器。命令控制台界面、网络栈等额外的功能可作为附加组件。   _$ p* b9 Z: Q

; y' {% c; n# J. lFreeRTOS 为可调整的实时示例生成器内核,专为小型嵌入式系统设计。其特点包括 + S; c& v) V: s* i+ J% ~2 N! o- D
• Free RTOS 示例生成器内核 —— 优先式、合作式及混合式配置选项。 9 E% U4 a- k5 L5 S' \
• 官方支持 27 种架构 (ARM7 和 ARM Cortex M3 每个算一种架构)。
4 h3 I% n+ j8 N- i& {: }3 j2 D• FreeRTOS-MPU 支持 Cortex M3 存储器保护单元 (MPU)。 - g7 ]2 L+ i$ M  B0 j. n
• 设计目标为小尺寸、简单和易用。一般来说,示例生成器内核二进制映像大约为 4K 到9K 字节。
+ G- B! A) F" Q/ X1 c1 t4 t• 代码结构极易移植,主要用 C 编写。
: T7 V3 R% H' r  y/ ^1 |• 支持任务和协同例程。 ( H9 G0 N5 E7 |0 L
• 可通过队列、二进制信号量、计数信号量、递归信号量、互斥量在任务间、任务与中断间通信和同步。
% E8 ~. k+ [* B& C$ v9 R( O• 互斥量有优先级继承。
2 w) @' h2 H' o1 I) _% u* J• 支持高效的软件定时器。
# [! K3 U2 A+ O& Z• 强大的执行跟踪功能。 % o; p) r2 B' D+ m. `6 K; q
• 栈溢出检测选项。 5 f( r0 b# J8 N
• 预配置的示例应用,用于选定的单板电脑,可直接使用,加快学习曲线。 3 g% i; P* o. q8 ^% `
• 免费论坛支持,或可选择商业支持和授权。 , g# \- ?5 Q/ ?8 I8 g
• 可创建的任务数无软件限制。
! ~0 B" s7 I' F6 p• 可使用的优先级数无软件限制。 # b% u7 @& r* H# i* _
• 优先级指定无限制 - 可为多个任务指定同一优先级。
) ^3 U1 l) S# R1 ?6 s) S• 免费的开发工具可用于很多支持的架构。
1 O+ Z0 _6 g4 Y$ A! q3 b' w& H/ E• 免费的嵌入式软件源代码。
( Q" q. F. D8 c+ n" U5 D• 免版税。
, e8 o  s  I" I$ l% j• 可从标准的 Windows 主机交叉开发。
1 a) a. Y% x( V: L
- b6 z5 q& @* f" s, H+ v
..........
1 v9 A/ [. U  Q: E
想了解更多,请下载原文阅读
: z* D' r- V* u9 {4 q" [

% K, W8 B5 S5 B

" \9 f! N& F+ M% J  V
收藏 1 评论0 发布时间:2019-4-16 10:22

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版