Micrium代码规范——命名规则

从Micrium官网到Keil工程:一份给STM32新手的uC/OS-III源码下载与工程构建全指南 本文为STM32开发者提供uC/OS-III源码下载与Keil工程构建的完整指南,涵盖从Silicon Labs官网获取源码到工程配置的全过程。详细介绍了uC/OS-III核心组件、目录结构设计、文件筛选与配置技巧,以及Keil工程设置和常见问题解决方案,帮助新手快速掌握RTOS在ARM-Cortex-M平台上的移植与应用。 阅读详情
Micrium公司是著名的RTOS——μC/OS的提供商。μC/OS在实时嵌入式领域应用非常广泛,而且其代码符合MISRA-2004规范,因此非常值得汽车嵌入式工程师借鉴与参考。
采用良好的代码规范可以大大提高软件的维护性和可读性。代码规范没有唯一标准,坚持一贯的代码风格才是王道。
本文翻译了Micrium的代码规范,作为平时开发的参考文档。

命名规则

  • 合适的命名
    对变量、函数、文件名等对象命名,应根据其用途与上下文环境来取,建议使用英文名而不是汉语拼音。
    过短、或者过于含糊的命名应避免,如Tbl[], Task(), MODULE_ERR, 或 p;特殊情况是,循环中可以使用i,j这样的过短的命名,因为大家都知道其意思。
    命名应该做到具体、精确、简洁,如
    NetOS_TCP_RxQ_TimeoutTbl_tick[],
    FTPs_CtrlTask(),
    CLK_OS_ERR_SIGNAL,
    p_seg_hdr。

  • 唯一性
    所有模块、文件名、函数名、全局变量名必须是唯一的(MISRA 2004 Rules 5.5, 5.6, 5.7)。局部变量名不要与全局变量,或者外部引用变量重名。
    同样,命名不要与标准库中的函数名重名。

  • 名称长度
    不允许出现前31个字符完全相同的多个命名(MISRA 2004 Rules 1.4 ,5.1)。可以允许多余31个字符的命名,但是编译器只检测前31个字符。因此所有的命名前31个字符必须唯一。

  • 层次感
    命名应有层次划分,命名的前面部分可以加上模块名,如
    • Module-Object
    • Module-Object-Operation
    • Module-Object-Status
    • Module-Object-Handler
    • Module-Object-State-Handler
    • Module-Status
    • Module-Status-Object
    • Module-Question-Object
    • Module-Operation-Object

  • 单位
    在命名中包含单位的情况时,单位符号写在命名最后,尽量用小写表示,前面用下划线连接,如
    驼峰命名:NetOS_TimeoutMin_us
    大写命名:NET_APP_TIME_DLY_MAX_mS,此时用mS来代替ms。

深入解析uCOS V2.92:Micrium的实时操作系统核心特性与应用 本文还有配套的精品资源,点击获取 简介:uCOS V2.92,作为Micrium开发的一款广泛应用于嵌入式系统的实时操作系统(RTOS),为开发者提供了高效、可靠且可扩展的软件平台。本文深入探讨了uCOS V2.92的关键特性,如抢占式多任务调度、微内核设计、内存管理、时间管理、同步与通信机制以及硬件抽象层,并分析了其在工业控制、汽车电子、消费电子、医疗设备、航空航天等领域... 阅读详情

相关推荐

掌握Micrium µC/USB官方驱动代码:嵌入式USB通信的全面解析

本文还有配套的精品资源,点击获取 简介:在嵌入式系统领域,USB作为标准数据传输接口扮演着重要角色。Micrium的µC/USB为微控制器提供了高效的USB设备驱动代码库。本文深入讲解了µC/USB官方驱动代码的各个组成部分和使用方法,旨在帮助开发者更好地理解和利用这套代码,以构建适用于不同应用场景的USB设备。 1. µC/USB概述与特点 µC/USB ...

weixin_31620365的博客 561

操作系统µC/OS的故事,最终Micrium被Silicon Labs收购

关注、星标公众号,不错过精彩内容说起μC/OS,相信大部分都不陌生,他属于Micrium公司下的一款实时操作系统(RTOS)。一、μC/OS来源μC/OS的故事始于1989年,创始人Jean J.Labrosse参加了一个Dynalco控制项目,并开始设计用于大型工业往复式发动机的基于微处理器的新型点火控制系统。最初,J.Labrosse计划通过购买实时操作来实现。但是购买的操作系统存在一些问题,...

strongerHuang 4136

Micrium POSIX在Linux平台的实时系统实现与应用实战

回顾全文,我们走过了从uC/OS内核机制到POSIX兼容实现的完整旅程。你会发现,最精彩的部分从来不是“某个API怎么实现”,而是如何在资源、性能、可维护性之间找到最优平衡点。今天的嵌入式开发早已不再是“裸机+中断”的原始时代。我们需要的不只是一个能跑起来的系统,而是一个可持续迭代、易于协作、具备现代软件工程特征的开发范式。而POSIX与RTOS的融合,正是通向这一未来的桥梁。它让我们既能享受uC/OS带来的硬实时保障,又能复用Linux生态中无数经过验证的算法与库。

weixin_42608318的博客 579

micrium ucprobe使用指南

1、关于ucprobe Ucprobe是micrium公司推出的嵌入式系统调试工具,利用ucprobe, l  可以实现对程序运行状态的实时监控,用户可以利用ucprobe构建可视化的系统监控平台 l  具有示波器,文本框,按钮,滑动条等常见控件 l  支持jlink,tcp/ip,rs232,usb等调试接口,使用jlink时,无需对原有代码做任何改动,使用其他通信方式时,需要在embe

adinike1的专栏 1万+

Micrium官方ucosii源码完整版

Micrium官方ucosii源码完整版,支持STM32等arm,以及keil与IAR

uCOS-II/III官方源码下载(含Micrium官方例程)

uCOS-II是Micrium公司开发的一款嵌入式实时操作系统,之前学习时在官网下载好了相关代码的评估版,为了方便大家下载,在此分享给大家,作为学习使用。压缩包里分两部分即源码和例程,源码部分包含uCOS-II和uCOS-III的源码(不含port等文件夹,是移植时不需修改的源文件,版本:ucos-ii的v2.86和目前最新的v2.91、ucos-iii的v3.03),例程部分包含完整目录文件夹,有:stm32f103ze(ucos-iiv2.86)、stm32f107(ucos-ii-v2.92)、stm32f2xxx(ucos-iii)、TI的DSP28335(ucos-ii-v2.92)等

了解下µCOS 3,

作者 | strongerHuang微信公众号 |嵌入式专栏最近看到有小伙伴问:现在ucos3 免费了吗?我发现很多小伙伴对μC/OS的认识,或者对μC/OS的发展还是不够了解。说起μC/OS,相信大部分都不陌生,他属于Micrium公司下的一款实时操作系统(RTOS)。μC/OS来源μC/OS的故事始于1989年,创始人Jean J.Labrosse参加了一个Dynalco控制项目,并开始设计...

嵌入式Linux 1032

Micrium开发的开源全功能嵌入式操作系统µC/OS ,包含STM32F1系列的UCOS所有包

Micrium开发的开源全功能嵌入式操作系统µC/OS ,包含STM32F1系列的UCOS所有包,其余资源分别见F0、F2、F4和F7

代码为什么需要遵循规范,来看看µC/OS代码规范

素材来源:micrium编辑整理:strongerHuang开发过项目的工程师都知道,一个好的项目,代码基本都有统一的规范,否则代码就会随着版本迭代,变得越来越臃肿。代码规范应在项目早期...

1408

疾病负担研究(GBD)介绍

今天我们来聊一聊第一个公共数据库——GBD数据库,全称叫做global burden of disease(全球疾病负担),该数据库每年都会更新,目前已经更新到GBD2019。 这里直接给大家贴出网址:Global Burden of Disease Study 2019 (GBD 2019) Data Resources | GHDx 上图中红色圈圈标识的就是数据库的数据获取界面的链接,大家直接点击即可. 数据的检索十分方便: Context下拉菜单中可以选择不同的选项,默认是caus

weixin_44240228的博客 1万+

ATE测试基础——直流参数测试

芯片测试在发展过程中诞生了许多术语,初次接触的人大部分都会被绕晕。因此为方便广大读者理解,在开始介绍测试项之前,需要对测试领域的名词进行解释。还有部分较为抽象的内容,需要略作展开。DUT——Device Under Test,正在被测试的器件Pin——器件引脚,信号引脚分为输入,输出,三态和双向四类,负责与外界进行信息交互;电源引脚分为电源和地两类,结构与信号引脚不同,负责给器件内部运行和外部输出提供电平。输入:在外部信号和器件内部逻辑之间起缓冲作用的信号输入通道;

你骄傲地飞远的博客 1万+

嵌入式RTOS多任务程序设计

UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。什么是任务?

m0_63647460的博客 1189

拆解一个800G光模块:手把手带你认识里面的MT插芯和光纤阵列(FA)

本文详细拆解了800G光模块中的关键组件MT插芯和光纤阵列(FA),揭示了并行光学技术如何实现高速数据传输。通过显微镜下的精密观察,展示了MT插芯的高精度构造和光纤阵列的连接奥秘,同时解析了高精度研磨工艺对光信号传输的重要性。这些微型组件是高速收发模块实现800Gbps带宽的核心技术。

weixin_30839881的博客 1547

RTOS函数命名规则

常见命名规则匈牙利命名法:广泛应用于Microsoft Windows这类环境中;驼峰命名法:近年来越来越流行。驼峰命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符...

xfxuezhang.cn 1万+

VOF模型求解方法:从SIMPLEC到PISO的稳定性优化策略

本文深入探讨了VOF模型求解方法中SIMPLEC与PISO算法的稳定性优化策略,重点分析了两种算法在稳态和瞬态问题中的应用差异。通过对比PRESTO离散化方法与其他格式的优劣,提供了针对多相流模拟的实用设置建议和稳定性优化技巧,帮助工程师有效提升计算效率和精度。

yellow的专栏 1153

【2021末九软工边缘人保研】川大-中科院网络中心-华师夏令营+哈工大本-中科院网络中心-西交-厦大-中山-武大-北航预推免

2021末九软工边缘人保研记录一、写在前面二、个人背景 一、写在前面 2020年计算机保研可谓是诸神黄昏,卷的头破血流(指我等菜鸡)。疫情的原因,今年的夏令营和预推免基本全部改为线上,机试取消,能不能拿到offer基本完全取决于背景以及面试表现(当然也有个别头铁非要机试,甚至笔试的学校)。大佬们offer收割不停,我等边缘人只能看着一封封拒信发呆。 这种情况下,只有985 Rank5%以及211 Rank2%之前的大佬能够较为轻松地拿到面试入场券。贴一个上交电院夏令营要求你们感受一下: 预推免相比起夏令营

weixin_43222706的博客 4235

Micrium uC-Probe 使用

这个东西实质使用利用JLINK或者其他接口,读取axf中的信息,然后使用调试接口 读取MCU内部数据信息。 和JLINK 用的jscope软件类似。 基本上都是这个原理。如果可以,可以用JLINK的动态库中的函数就可以 执行一些API读取 MCU指定内存信息。 1.选接口 2.选择UCOSII 3.选架构 4.读取最重要的axf文件。 ...

C_ROOKIES的专栏 1250

组基轨迹建模 GBTM的介绍与实现(Stata 或 R)

组基轨迹建模(Group-Based Trajectory Modeling,GBTM)(旧名称:Semiparametric mixture model)历史:由DANIELS.NAGIN提出,发表文献《Analyzing Developmental Trajectories:A Semiparametric,Group-Based Approach》GBTM能够将一群人的轨迹分类并生成数个具有代表性的运动轨迹模型,然后对每个轨迹模型进行分析,以了解人们的运动特征、生理水平和风险等级等。

三分钟热度 1万+

μC/OS vs FreeRTOS:嵌入式RTOS终极对决

μC/OS vs FreeRTOS:嵌入式RTOS终极对决

xie__jin__cheng的博客 1744

Android性能优化之Android Profiler

在移动应用开发中,打造一个流畅、省电且不卡顿的用户体验是至关重要的。然而,随着应用功能的日益复杂,内存泄漏、CPU暴涨、网络卡顿以及电量消耗过快等问题常常化身为隐形杀手,悄悄吞噬着用户体验。为了帮助开发者精准定位并解决这些性能瓶颈,谷歌在Android Studio中集成了一款强大的一站式性能分析工具Android Profiler。Android Profiler作为Android Studio内置的实时数据可视化工具,支持运行在Android 5.0及更高版本的设备上。

xiangzhihong8的专栏 201

NTN(三) Timing

这篇看下k_offset和k_mac,如38.300所述,k_offset是配置的调度偏移量,需要大于或等于service link RTT和Common TA之和;k_mac 是配置的偏移量,需要大于或等于 RP 和 gNB 之间的 RTT。 相关参数会通过RRC层NTN-config配置,其中的cellSpecificKoffset-r17和kmac-r17主要用于各种Timing场景的偏移。 kmac:如果DL和UL frame timing 在 gNB端未对齐,网络端

asd199086的博客 4826

μC/OS源码官网下载链接

μC/OS源码官网下载

SUR0608的博客 3782

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

UCOS统一驱动框架:

UCOS统一驱动框架: http://wenku.baidu.com/view/7f853220dd36a32d73758139.html

one shot,one kill. 3410

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Misra-C编码规范全解读 - Misra C 概述

MisraC概述,讲述什么是MisraC,以及其优势

雪云飞星的博客 3万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MISRA-C 2004 规则解读(161S-180S)

MISRA-C 161-180

吃喝玩乐我最擅长 1851

Segger和Micrium之间的区别和联系

之前了解到的关于uC/OS II这个OS,好像Segger和Micrium这两家公司,都有此源码的版权,以及对应的各种衍生产品,包括图形系统等。 但是,这两家公司之间到底是啥关系,却不清楚。 对此,网上找了一番,最后整理如下: 【uC/OS II的源码的来源】 uC/OS II是uC/OS的第二版。 而uC/OS的源码,是Jean J. Labrosse在1992年,将其部分发表在杂

michaelcao1980的专栏 2517
下一篇: AUTOSAR EcuM规范解析(一)
BandiAUTO
博客等级 码龄12年 125粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值