教你如何阅读Autosar代码(1):概述

目录

1 背景

2 关键字宏


前往《Autosar深入理解-总目录》
前往《教你如何阅读Autosar代码-总目录》

1 背景

当我们作为一个初学者拿到如下一段Autosar代码,肯定会一头雾水,我们知道Nm_PassiveStartUp肯定是一个函数,那前面的FUNC和后面的CONST,以及VAR这些是什么意思呢?

FUNC( Std_ReturnType, NM_CODE ) Nm_PassiveStartUp( CONST( NetworkHandleType, AUTOMATIC ) nmNetworkHandle )
{
  /* ----- Local Variables ---------------------------------------------- */
  VAR( Std_ReturnType, AUTOMATIC )  retVal = E_NOT_OK;
  VAR( uint8, AUTOMATIC )           errorId = NM_E_NO_ERROR;

2 关键字宏

其实,上面的这些都是关键字宏,在Complier.h中定义。

# define FUNC(rettype, memclass) rettype

# define CONST(type, memclass) const type

# define VAR(vartype, memclass) vartype

这样的话,最开始的那段代码就可以翻译成下面这样。

Std_ReturnType Nm_PassiveStartUp( const NetworkHandleType nmNetworkHandle )
{
  /* ----- Local Variables ---------------------------------------------- */
  Std_ReturnType retVal = E_NOT_OK;
  uint8 errorId = NM_E_NO_ERROR;

有些同学问,这样我还是不太理解,Std_ReturnType是什么意思啊。

其实这些就是重新命名的数据类型名字,如下,其实就是uint8。

typedef uint8        Std_ReturnType;

typedef uint8        NetworkHandleType;

我们再翻译一下上面的代码,最后就变成了这样,大家都能看懂了吧。

uint8 Nm_PassiveStartUp( const uint8 nmNetworkHandle )
{
  /* ----- Local Variables ---------------------------------------------- */
  uint8 retVal = E_NOT_OK;
  uint8 errorId = NM_E_NO_ERROR;

下一节我们将介绍一下编译器抽象。

前往《Autosar深入理解-总目录》
前往《教你如何阅读Autosar代码-总目录》:

  • 11
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要正确地阅读和理解Autosar代码,您可以按照以下步骤进行: 第一步,熟悉Autosar架构和标准:了解Autosar是一种用于汽车软件开发的开放标准框架,它定义了软件组件和ECU之间的通信接口和交互方式。阅读Autosar架构和标准文档可以帮助您理解代码的组织结构和基本概念。 第二步,了解Autosar基本概念:Autosar代码通常包含许多模块和组件,如ECU抽象层(ECU Abstraction Layer),通信管理模块(Communication Manager)和诊断模块(Diagnostic Manager)等。了解这些基本概念可以帮助您理解代码的功能和作用。 第三步,阅读代码文档和注释:Autosar代码通常附有详细的文档和注释,这些文档和注释可以帮助您理解代码的设计意图和实现逻辑。确保您充分阅读和理解这些文档和注释可以帮助您更好地理解代码。 第四步,进行代码审查和调试:通过仔细阅读和分析代码,您可以了解代码的运行流程和函数调用关系。使用调试工具可以帮助您跟踪代码执行过程,进一步理解代码的运行机制和数据流。 第五步,参考Autosar代码示例和程:Autosar社区和一些开源项目提供了许多代码示例和程,这些示例和程可以帮助您更好地理解Autosar代码的实现方式和惯例。参考这些示例和程可以加快您对Autosar代码的理解和掌握。 最后,持续学习和实践:阅读和理解Autosar代码是一个渐进的过程,需要不断地学习和实践。持续关注Autosar标准和社区的最新动态,参与开源项目和讨论可以帮助您深入研究和理解Autosar代码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值