eclipse从入门到精通_FreeRTOS 从入门到精通2--初识STM32CubeIDE

53940097b0a8acae02570d63a9ad2319.png

在上一讲

奔腾的心:FreeRTOS 从入门到精通1 --实时操作系统的前世今生​zhuanlan.zhihu.com
9486f7ea5f71b4a4c24e45bd5008761f.png

我介绍了下实时操作系统的一些概念和在嵌入式系统中引入实时系统的必要性。这一讲我将介绍下在STM32芯片下进行软件的开发和移植FreeRTOS的一些设置事项。

认识STM32CubeIDE

俗话说得好,工欲善其事,必先利其器。STM32CubeIDE是ST公司最新推出的一款免费的开发软件,基于GCC + Eclipse,并整合了STM32CubeMX(一个通过配置就能生成STM32代码的程序)。STM32CubeIDE的下载地址在下面,需要登记下自己的姓名和邮箱地址,你的邮箱便会收到程序的下载链接。

STM32CubeIDE - STMicroelectronics​www.st.com
d7634e5b4531774eac81d83690d4dd60.png

7872dc3b9241f6e0ddee6496c681a232.png
STM32CubeIDE的程序界面

程序界面如上图所示,用过eclipse的童鞋们是不是有种似曾相识的感觉?

一分钟移植FreeRTOS

STM32CubeIDE已经把FreeRTOS深度整合到了自家的系统中去了,所以移植FreeRTOS变得非常方便。在上图中的项目文件里有个templete.ioc文件,ioc文件是配置stm32参数的文件,FreeRTOS的设置就在那个文件里。如果你是新建项目的话,程序首先会自动跳到配置stm32芯片的画面中去并把最后的结果保存成ioc文件。双击templete.ioc文件便会弹出如下的画面

2aa3ebe42d1bdbf074b83f81fb214f7f.png
配置stm32参数的画面

在上图所示界面中可以对芯片进行配置。在这里我用的开发板是stm32f4-discovery,芯片型号是stm32f429zitx。其中有个Middleware(中间件)选项卡,点击这个选项卡会得到如下的画面

33f99b6a36dfdc96921bbf5134adf910.png
FreeRTOS选项卡

在interface中选择CMSIS_V1后便移植好了。你此时可以看到FreeRTOS前面有个绿色的勾,这个代表FreeRTOS已经设置好了。当设置好一切后点击保存系统便会自动生成代码。STM32CubeIDE真的帮助开发者节省了很多时间,移植从此就成了点个鼠标的事。

FreeRTOS的架构

0e3e7c2d2605373c17a6ab417a0c0d1f.png
FreeRTOS的文件夹

如上图所示,在项目的结构中,Middleware(中间件)包含有FreeRTOS文件夹,里面便包含有FreeRTOS的所有源代码。其中重要的几个文件如下:

  • tasks.c: 任务相关的代码
  • list.c: 一个双向链表的代码
  • queue.c: 队列用于任务间通讯的代码
  • croutine.c: 多任务调度的代码
  • event_groups.c:事件标志组的代码
  • time.c : 内部实现的一个软件定时器的代码

通常来说,在一个FreeRTOS的项目中,tasks.c和list.c与queue.c是必须要的,其它的文件是可选的。在下一篇文章我将写一个HelloWorld程序。

奔腾的心:FreeRTOS 从入门到精通3--第一个HelloWorld程序​zhuanlan.zhihu.com
8d55c304b7a697ee415da715fd95d3dc.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值