打印
[应用相关]

UM1722_如何使用STM32Cube中的实时操作系统

[复制链接]
1051|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
介绍
STM32Cube是STMicroelectronics的一项原创计划,旨在显著改进通过减少开发工作量、时间和成本来提高开发效率。STM32Cube盖整个STM32投资组合。
STM32Cube包括
•STM32CubeMX,一个图形化软件配置工具,允许生成C使用图形向导初始化代码。
•一个全面的嵌入式软件平台,按系列交付(如用于STM32F4系列的STM32CubeF4)
–STM32Cube HAL,STM32抽象层嵌入式软件确保最大限度地提高了STM32产品组合的可移植性,
–低层API(LL)提供了一个面向专家的快速轻量级层,即比HAL更接近硬件。所有API仅适用于外围设备。
–一组一致的中间件组件,如RTOS、USB、TCP/IP,绘图,
–所有嵌入式软件实用程序,附带全套示例。实时操作系统是针对嵌入式/实时性而优化的操作系统应用。他们的主要目标是确保对事件。使用实时操作系统可以将应用程序编写为使用消息队列和信号量进行交互通信的独立线程。本用户手册适用于在STM32上使用STM32Cube固件的开发人员微控制器和微处理器。它提供了如何使用带有实时操作系统(RTOS)的STM32Cube固件组件;此用户手册还附有一组基于FreeRTOS的示例的描述™ 使用CMSIS-OS包装层提供的通用API。在STM32Cube固件中弗里托斯™ 通过通用CMSIS-OS用作实时操作系统包装层由Arm®提供。使用FreeRTOS的示例和应用™ 可以直接移植到其他RTO上,不需要修改高级API,只有在这种情况下,必须更改CMSIS-OS包装。请参阅的发行说明了解FreeRTOS版本的软件包™ 以及使用的CMSIS-RTOS固件组件使用STM32Cube。本文档适用于所有的STM32设备;但是为了简单起见采用STM32F4xx器件和STM32CubeF4作为参考平台。了解更多关于STM32设备上的示例实现,请参阅自述文件在关联的STM32Cube固件包中提供。

使用特权

评论回复
沙发
狗啃模拟|  楼主 | 2020-10-28 23:13 | 只看该作者
1弗里特斯™
1.1概述
弗里托斯™ 是一类RTO,设计为足够小,可以在微控制器或微处理器,尽管其用途不限于微控制器和微处理器应用。
微控制器或微处理器是一个小型资源实时受限的在单个芯片上集成了处理器本身的只读存储器(ROM)的处理器或闪存)保存要执行的程序和随机存取存储器(RAM)它所执行的程序所需要的。通常,程序直接从只读存储器。微控制器和微处理器用于深度嵌入式应用程序(那些你从未真正看到处理器本身或软件的应用程序运行)通常有一个非常具体和专门的工作要做。大小限制和专用的终端应用程序特性很少保证使用完整的RTO实现——或者确实可以使用完整的RTOS实现。弗里托斯™ 因此提供了核心实时调度功能,任务间仅通信、定时和同步原语。这意味着它更准确描述为实时内核或实时执行器。其他功能,如命令控制台接口,或者网络堆栈,可以包含在附加组件中组件。

使用特权

评论回复
板凳
狗啃模拟|  楼主 | 2020-10-28 23:14 | 只看该作者
弗里托斯™ 是一个可伸缩的实时演示生成器内核,专门为小型嵌入式系统。亮点包括
•FreeRTOS公司™ 示范建设者核心抢占、合作和混合选项配置。
•官方支持27种架构(将ARM7和Arm®Cortex®-M3作为一个整体每个架构)。
•FreeRTOS MPU支持Arm®Cortex®-M3内存保护单元(MPU)。
•设计小巧、简单易用。典型的演示构建器核心二进制图像将在4K到9K字节的范围内。
•非常可移植的代码结构,主要用C编写。
•支持任务和协同程序。
•队列、二进制信号量、计数信号量、递归信号量和用于任务之间或任务与之间的通信和同步的互斥体打断。
•具有优先级继承的互斥锁。
•支持高效的软件计时器。
•强大的执行跟踪功能。
•堆栈溢出检测选项。
•为选定的单板计算机预配置演示应用程序,允许盒操作和快速学习曲线。
•免费论坛支持,或可选的商业支持和许可。
•软件对可创建的任务数量没有限制。
•软件对可使用的优先级数量没有限制。

使用特权

评论回复
地板
狗啃模拟|  楼主 | 2020-10-28 23:15 | 只看该作者
•没有对优先级分配施加限制-可以分配多个任务同样的优先权。
•为许多受支持的体系结构提供免费的开发工具。
•免费嵌入式软件源代码。
•免版税。
•从标准Windows主机进行交叉开发。
FreeRTOS的heap2方案™ 用于内存分配管理,此该方案使用了一个最佳匹配算法,允许释放先前分配的块。它没有然而,将相邻的自由块组合成一个单独的大块。总金额可用RAM由定义configTOTAL_HEAP_SIZE设置-在中定义FreeRTOSConfig.h。


使用特权

评论回复
5
狗啃模拟|  楼主 | 2020-10-29 22:41 | 只看该作者
许可证
弗里特一家™ 源代码由修改后的GNU通用公共许可证授权。这个
修改采取例外的形式。GNU通用公共许可证全文
如下所示:

使用特权

评论回复
6
狗啃模拟|  楼主 | 2020-10-29 22:43 | 只看该作者

使用特权

评论回复
7
狗啃模拟|  楼主 | 2020-10-29 22:43 | 只看该作者
1.3 FreeRTOS公司™ 来源组织
弗里特一家™ 下载包括每个处理器端口的源代码
示范应用。将所有端口放在一次下载中大大简化了
但文件的数量似乎令人望而生畏。但是,目录结构是
很简单,还有自由女神™ 实时内核只包含在4个文件中(附加文件
如果需要软件计时器或协同程序功能,则需要)。

使用特权

评论回复
8
狗啃模拟|  楼主 | 2020-10-29 23:08 | 只看该作者

使用特权

评论回复
9
狗啃模拟|  楼主 | 2020-10-29 23:09 | 只看该作者
核心RTOS代码包含在名为tasks.c、queue.c和list.c的三个文件中
FreeRTOS/源目录。同一个目录包含两个名为timers.c的可选文件
以及实现软件定时器和协同例程功能的croutine.c。每个支持
处理器体系结构需要少量特定于体系结构的RTOS代码。这是
RTOS可移植层,位于FreeRTOS/Source/portable/[compiler]/[architecture]中
子目录,其中[compiler]和[architecture]是用于创建端口的编译器,
以及端口运行的体系结构。
示例堆分配方案也位于可移植层。各种各样的
示例heap_x.c文件位于FreeRTOS/Source/portable/MemMang目录中

使用特权

评论回复
10
正圆椭圆| | 2020-10-30 22:59 | 只看该作者
cube的操作真的很方便 也就st的技术支持这么到位了

使用特权

评论回复
11
isageko| | 2020-10-30 23:17 | 只看该作者
用cube还是可以的 对新手很友好

使用特权

评论回复
12
函数不想导| | 2020-10-31 20:35 | 只看该作者
讲得很详细啊 FreeTROS没有了解很多

使用特权

评论回复
13
kkzz| | 2020-11-2 15:45 | 只看该作者
STM32CubeMX,是一个图形化的软件配置工具。  

使用特权

评论回复
14
hudi008| | 2020-11-2 15:45 | 只看该作者
STM32CubeMX嵌入了一个完整的软件平台  

使用特权

评论回复
15
lzmm| | 2020-11-2 15:45 | 只看该作者
如何使用STM32CubeMX配置ETH  

使用特权

评论回复
16
minzisc| | 2020-11-2 15:45 | 只看该作者
STM32Cube MX如何设置外部高速时钟频率

使用特权

评论回复
17
selongli| | 2020-11-2 15:46 | 只看该作者
用过STM32CubeMX库里面的void HAL  

使用特权

评论回复
18
fentianyou| | 2020-11-2 15:46 | 只看该作者
谢谢楼主分享的      

使用特权

评论回复
19
xiaoyaodz| | 2020-11-2 15:46 | 只看该作者
stm32cube 生成代码怎么用  

使用特权

评论回复
20
febgxu| | 2020-11-2 15:46 | 只看该作者
stm32cube 有没有中文版  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

770

帖子

1

粉丝