iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >FreeRTOS编码标准及风格是什么
  • 504
分享到

FreeRTOS编码标准及风格是什么

2023-06-29 21:06:42 504人浏览 泡泡鱼
摘要

这篇文章主要介绍了FreeRTOS编码标准及风格是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇FreeRTOS编码标准及风格是什么文章都会有所收获,下面我们一起来看看吧。1.编码标准  &nbs

这篇文章主要介绍了FreeRTOS编码标准及风格是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇FreeRTOS编码标准及风格是什么文章都会有所收获,下面我们一起来看看吧。

1.编码标准

      FreeRTOS的核心源代码遵从MISRA编码标准指南。这个标准篇幅稍长,你可以在MISRA官方网站花少量钱买到,这里不再复制任何标准。

      FreeRTOS源代码不符合MISRA标准的项目如下所示:

有两个api函数有多个返回点。MISRA编码标准强制规定:一个函数在其结尾应该有单一的返回点。

指针算数运算,在创建任务时,为了兼容8、16、20、24、32位总线,不可避免的使用了指针算数运算。MISRA编码标准强制规定:指针的算术运算只能用在指向数组或数组元素的指针上。

默认情况下,跟踪宏为空语句,因此不符合MISRA的规定。MISRA编码标准强制规定:预处理指令在句法上应该是有意义的。

      FreeRTOS可以在很多不同编译器中编译,其中的一些编译器比同类有更高级特性。因为这个原因,FreeRTOS不使用任何非C语言标准的特性或语法。一个例外情况是头文件stdint.h。在文件夹FreeRTOS/Source/include下包含一个叫做stdint.readme的文件,如果你的编译器不提供stdint类型定义,可以将stdint.readme文件重命名为stdint.h。

2.命名规则

      RTOS内核和演示例程源代码使用以下规则:

      1> 变量

uint32_t类型的变量使用前缀ul,这里’u’表示’unsigned’,’l’表示’long’
uint16_t类型的变量使用前缀us,这里’u’表示’unsigned’,’s’表示’short’
uint8_t类型的变量使用前缀uc,这里’u’表示’unsigned’,’c’表示’char’
非stdint类型的变量使用前缀x,比如基本的Type_t和TickType_t类型,这些类型在移植层定义,定义成符合处理器架构的最高效类型;
非stdint类型的无符号变量使用前缀ux,比如UbaseType_t(unsigned BaseType_t)
size_t类型的变量使用前缀x;
枚举类型变量使用前缀e
指针类型变量在类型基础上附加前缀p,比如指向uint16_t的指针变量前缀为pus
与MISRA指南一致,char类型变量仅被允许保存ASCII字符,前缀为c
与MISRA指南一致,char *类型变量仅允许指向ASCII字符串,前缀为pc

      2> 函数

在文件作用域范围的函数前缀为prvAPI函数的前缀为它们的返回类型,当返回为空时,前缀为vAPI函数名字起始部分为该函数所在的文件名。比如vTaskDelete函数定义在tasks.c,并且该函数返回空。

      3> 宏

宏的名字起始部分为该宏定义所在的文件名的一部分。比如configUSE_PREEMPTioN定义在FreeRTOSConfig.h文件中。除了前缀,宏剩下的字母全部为大写,两个单词间用下划线(’_’)隔开。

3数据类型

      只有stdint.h和RTOS自己定义的数据类型可以使用,但也有例外情况,如下所示:

char:与MISRA编码标准指南一致,char类型变量仅被允许保存ASCII字符char *:与MISRA编码标准指南一致,char *类型变量仅允许指向ASCII字符串。当标准库函数期望一个char *参数时,这样做可以消除一些编译器警告;特别是考虑到有些编译器将char类型当做signed类型,还有些编译器将char类型当做unsigned类型。

      有三种类型会在移植层定义,它们是:

TickType_t:如果configUSE_16_BIT_TICKS为非零(条件为真),TickType_t定义为无符号16位类型。如果configUSE_16_BIT_TICKS为零(条件为假),TickType_t定义为无符号32位类型。注:32位架构的微处理器应设置configUSE_16_BIT_TICKS为零。BaseType_t:定义为微处理器架构效率最高的数据类型。比如,在32位架构处理器上,BaseType_t应该定义为32位类型。在16位架构处理器上,BaseType_t应该定义为16位类型。如果BaseType_t定义为char,对于函数返回值一定要确保使用的是signed char,否则可能造成负数错误。UbaseType_t:这是一个无符号BaseType_t类型

4风格指南

缩进:缩进使用制表符,一个制表符等于4个空格。注释:注释单行不超过80列,特殊情况除外。不使用c++风格的双斜线(//)注释布局:FreeRTOS的源代码被设计成尽可能的易于查看和阅读。下面的代码片中,第一部分展示文件布局,第二部分展示C代码设计格式。

  #include <stdlib.h>        #include "FreeRTOS.h"        #include "HardwareSpecifics.h"       #define A_DEFINITION    ( 1 )      static void prvAFunction( uint32_t ulParameter );        static BaseType_t xMyVariable.              void vAFunction( void )  {         }       static UBaseType_t prvNextFunction( void )  {         }     void vAnExampleFunction( long lParameter1, unsigned short usParameter2 ) {    uint8_t ucByte;               for( ucByte = 0U; ucByte < fileBUFFER_LENGTH; ucByte++ )      {                 }  }      for( ucByte = 0U; ucByte < fileBUFFER_LENGTH; ucByte++ )  {  }   while( ucByte < fileBUFFER_LENGTH )  {  }       if( ( ucByte < fileBUFFER_LENGTH ) && ( ucByte != 0U ) )  {      ulResult = ( ( ulValue1 + ulValue2 ) - ulValue3 ) * ulValue4;  }     #if( configUSE_TRACE_FACILITY == 1 )  {              pxNewTCB->uxTCBNumber = uxTaskNumber;  }  #endif      ucBuffer[ 0 ] = 0U;  ucBuffer[ fileBUFFER_LENGTH - 1U ] = 0U;

关于“FreeRTOS编码标准及风格是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“FreeRTOS编码标准及风格是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: FreeRTOS编码标准及风格是什么

本文链接: https://www.lsjlt.com/news/326403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • FreeRTOS编码标准及风格是什么
    这篇文章主要介绍了FreeRTOS编码标准及风格是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇FreeRTOS编码标准及风格是什么文章都会有所收获,下面我们一起来看看吧。1.编码标准  &nbs...
    99+
    2023-06-29
  • FreeRTOS编码标准及风格指南
    目录1.编码标准2.命名规则1> 变量2> 函数3> 宏3.数据类型风格指南1.编码标准 FreeRTOS的核心源代码遵从MISRA编码标准指南。这个标准篇幅稍长,...
    99+
    2024-04-02
  • Htlm的标准代码格式是什么
    这篇“Htlm的标准代码格式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Htlm的...
    99+
    2024-04-02
  • 过时的7种编码风格是什么
    本篇内容主要讲解“过时的7种编码风格是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“过时的7种编码风格是什么”吧!1. 使用m或this表示成员变量规则:要...
    99+
    2024-04-02
  • 域名注册价格及续费标准是什么
    域名注册价格和续费标准因不同的注册商和顶级域名而异。以下是一些常见的顶级域名的价格和续费标准:- .com:注册价格通常在10-20...
    99+
    2023-06-03
    域名注册价格 域名
  • SpringMVC RESTFul及REST架构风格是什么
    这篇文章主要介绍“SpringMVC RESTFul及REST架构风格是什么”,在日常操作中,相信很多人在SpringMVC RESTFul及REST架构风格是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-30
  • 使用 PHP 函数的编码风格最佳实践是什么?
    php 函数编码最佳实践:使用类型提示确保函数参数类型正确。避免使用默认值,使用 null 值并检查参数设置情况。使用表达式闭包提高简洁性和可读性。明确声明函数可见性,控制访问权限。通过...
    99+
    2024-05-04
    php 编码风格
  • Go语言开发编程规范命令风格代码格式是什么
    本文小编为大家详细介绍“Go语言开发编程规范命令风格代码格式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go语言开发编程规范命令风格代码格式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。命名风格&...
    99+
    2023-07-02
  • WEB标准是什么
    本篇内容介绍了“WEB标准是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!WEB标准不是某一个标准,而...
    99+
    2024-04-02
  • CSS选择器的代码标准是什么
    这篇文章给大家分享的是有关CSS选择器的代码标准是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 全局选择器设置所有标签使用同一样式,用*来表示;语法:全局选择器语法:*...
    99+
    2024-04-02
  • php的标准标记是什么
    php 的标准标记为  结束标记。在最新版本的 PHP 中,...
    99+
    2024-04-02
  • 网站空间价格的计算标准是什么
    网站空间价格的计算标准是:1、看空间大小,网页空间容量越大,价格越高;2、看流量计费方式,流量一般分包年包月和按量计费,一般包年包月...
    99+
    2023-02-14
    网站空间价格 空间
  • Python中的EAFP和LBYL代码风格是什么
    本篇内容介绍了“Python中的EAFP和LBYL代码风格是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. EAFP 风格Pytho...
    99+
    2023-06-15
  • Google内部的Python代码风格是什么样的
    Google内部的Python代码风格是什么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、背景Python是谷歌主要使用的动态语言,本风格指导列举了使用Python...
    99+
    2023-06-15
  • C++ Core Check安全编码准则是什么
    这篇文章主要讲解了“C++ Core Check安全编码准则是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++ Core Check安全编码准则是什么”吧!要性能,更要安全Rust和...
    99+
    2023-06-16
  • HTML标准属性是什么
    这篇文章主要为大家展示了“HTML标准属性是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML标准属性是什么”这篇文章吧。   HTML标签拥有属性。...
    99+
    2024-04-02
  • 国内虚拟主机价格的收费标准是什么
    国内虚拟主机价格的收费标准通常基于以下几个方面:1. 硬件配置:包括处理器、内存、存储空间、带宽等硬件参数。2. 软件配置:包括操作...
    99+
    2023-06-05
    虚拟主机价格 虚拟主机
  • 编写html5要遵守w3c标准的原因是什么
    本篇内容介绍了“编写html5要遵守w3c标准的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • w3c的三大标准是什么
    W3C(World Wide Web Consortium)是一个国际标准化组织,致力于推动和制定Web技术的标准。它的工作主要包括制定Web标准、推广Web技术和提供相关的指导和资源。W3C的三大标准是:1. HTML(Hypertext...
    99+
    2023-10-21
    w3c标准
  • html的使用标准是什么
    这篇文章主要介绍“html的使用标准是什么”,在日常操作中,相信很多人在html的使用标准是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html的使用标准是什么”的疑惑...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作