freertos 创建互斥量_物联网项目开发快速入门(三):FreeRTOS快速入门1

本文介绍了FreeRTOS的起源及其在物联网项目开发中的应用,包括如何获取源码、命名规则、FreeRTOS的核心特点,以及如何创建任务和启动调度器。通过示例展示了任务创建和任务状态,帮助读者快速上手FreeRTOS。
摘要由CSDN通过智能技术生成

起源

先说一下FreeRTOS的起源,FreeRTOS是由Richard Barry在2003年由设计的,由于其设计的小巧简单,整个核心代码只有3到4个C文件。在设计之初就异军突起,累计开发者数百万,是目前市场占有率最高的RTOS,现在FreeRTOS已经支持三十多种芯片,基本包含市场上所有的微控制器。FreeRTOS在2018年被亚马逊收购,继续遵循GPLV2许可协议完全免费。 Richard Barry为了让代码容易阅读、移植和维护,大部分的代码都是以C语言编写,只有一些内核调度函数采用汇编编写。

正题

  1. 获取源码

freeRTOS官网,进入官网点击download FreeRTOS,按照提示下载源码。

最新的版本是10.2.1,下载完成后是一个exe文件,点击解压。

2. 命名规则

FreeRTOS核心源码文件的编写遵循MISRA(The Motor Industry Software Reliability Association 汽车工业软件可靠性联会)代码规则,同时支持各种编译器

变量

  • uint32_t定义的变量都加上前缀ul,u代表unsigned 无符号,l代表long长整型。
  • uint16_t定义的变量都加上前缀us。u代表unsigned无符号,s代表short短整型。
  • uint8_t定义的变量都加上前缀uc。u代表unsigned无符号,c代表char字符型。
  • size_t 定义的变量也要加上前缀ux。枚举变量会加上前缀e。 指针变量会加上前缀p。

函数

  • 加上了static声明的函数,定义时要加上前缀prv(这个是单词private的缩写)。
  • 带有返回值的函数,根据返回值的数据类型,加上相应的前缀,如果没有返回值,即void类型 ,函数的前缀加上字母v。
  • 根据文件名,文件中相应的函数定义时也将文件名加到函数命名中,比如tasks.c文件中函数vTaskDelete,函数中的task就是文件名中的task。

宏定义

  • 据宏定义所在的文件,文件中的宏定义声明时也将文件名加到宏定义中,比如宏定义configUSE_PREEMPTION 是定义在文件 FreeRTOSConfig.h里面。宏定义中的config就是文件名中的config。另外注意
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值