前言

看了一下基本的配置,发现Autosar的DataType的内容比较多,也比较复杂,所以单独开一章来记录一下


Autosar DataType介绍

  • 前言
  • 一.基本数据类型
    • 1.1基本类型
    • 1.2其他类型
  • 二,详细数据介绍
    • 2.1 新建数据类型的具体类型
    • 2.2 详细举例介绍
      • 2.2.1 创建一个Record类型的Application Data Types
      • 2.2.2 创建一个Record类型的Implementation Data Types
      • 2.2.3 创建Data Map关联数据
  • 结束语

一.基本数据类型

1.1基本类型

Autosar的基本数据类型按照等级划分为三种:

  1. Application Data Types(只是在Dev软件的图形界面上使用的类型,只存在于概念中,不会在代码中体现)
  2. Implementation Data Types(是对Base Types改了个名字,方便代码生成时阅读的,比如我们经常做这么一件事typedef uint8 Std_ReturnType)
  3. Base Types(常用到的int、bool、float、uint16这样的基础类型)

1.2其他类型

Units:就是数据的单位,比如km、h和kg等
Compu Method:计算方法,比如我采样到的ADC是0-4095,那么如何转换成真实的电压值,可以在这里定义一个转换的计算方法。该计算方法可以是线性的,非线性的,基于查表的等等。这个计算方法会在代码中生成一个宏定义#define
Data Contraints:数据约束,就是对数据进行最大、最小值约束等操作
Constants:常量,比如#define LED_ON 1

二,详细数据介绍

2.1 新建数据类型的具体类型

我们新建一个应用数据类型时,有一下几种类型,我们详细看一下:
1. Boolean:bool类型
2. Value:值类型
3. String:字符串类型
4. Array:数组类型
5. Record:包含不同类型的数组(类似结构体)
6. Characteristic Table:键值表
7. Axis:角度值(分为线[x]、面[x:y]、立体[x:y:z])
8. Type Reference:类型参考
9. Data Reference:数据参考
10.union:联合体



2.2 详细举例介绍

2.2.1 创建一个Record类型的Application Data Types

// 例如我们要创建一个类似AdcKeyInfo的结构体
typedef struct{uint8_t KeyState; //按键状态uint8_t KeyCode; //按键值
}AdcKeyInfo_t;
  1. 首先我们要分别创建KeyState,KeyCode的值类型,我已经创建了几个类型,如下图所示:

  2. 创建ADTAdcKeyInfo,具体步骤如下图所示:


    这样我们就创建了一个ADTAdcKeyInfo的Record数据类型,包含了ADTAdcKeyState、ADTAdcKeyCode两个元素。

2.2.2 创建一个Record类型的Implementation Data Types

由于Implementation Data Types可以直接使用Base Type里面的基本类型,所以我们就不需要创建类似ADTAdcKeyState的类型了,而是直接创建IDTAdcKeyInfo,包含两个uint8_t的数据类型的(IDTAdcKeyState,IDTAdcKeyCode),如下图:

这样我们就分别创建了application data type和Implementation Data Types,但是要在DEV中使用他们还需要把这两个数据关联起来,就是把工具使用的类型与生存代码的类型关联起来。

2.2.3 创建Data Map关联数据

创建关联数据Maps如下图流程:
需要注意的是,关联的数据类型必须保持一值(类型、元素个数、元素类型等),不然会报错。

结束语

至此,一个包含两个元素(KeyState、KeyCode)的KeyInfo数据类型就基本创建成功了,具体里面的一些配置信息需要根据具体情况来设置,由于本人也是初次使用,不是很熟悉。

Autosar DataType介绍相关推荐

  1. 精心整理吐血推荐的AUTOSAR科普介绍材料

    一.AUTOSAR的背景介绍 AUTOSAR是AUTOmotive Open System Architecture(汽车开放系统架构)的首字母缩写,是由全球各大汽车整车厂.汽车零部件供应商.汽车电子 ...

  2. 墙裂推荐的AUTOSAR科普介绍

    AUTOSAR介绍 AUTOSAR(AUTOmotive Open System Architecture,汽车开放系统架构)合作伙伴关系成立于 2003 年,是一种面向汽车行业内各组织的开发伙伴关系 ...

  3. AUTOSAR 架构介绍

    在AUTOSAR软件架构中,汽车嵌入式系统软件自上而下分别为应用软件层(Application Software Layer,ASW).运行时环境(Runtime Environment,RTE).基 ...

  4. Adaptive AUTOSAR架构介绍(2)

    在AP(Adaptive AUTOSAR)架构下,一切都是OS中的进程,这跟CP架构有着显著的区别,在CP架构下,所有应用都是静态配置的,即应用的进程在OS中被写死,一旦软件编译完成就不可更改,其调用 ...

  5. AUTOSAR架构介绍(3)

    既然AUTOSAR是分层设计,每层都有自己的设计接口,总结来说主要的接口为: (1)AUTOSAR接口是一种与应用相关的接口,与RTE一并生成.基于AUTOSAR接口的端口可以用于软件组件(Softw ...

  6. Adaptive AUTOSAR架构介绍(9)

    MATLAB Simulink Adaptive AUTOSAR生成的代码解析: 在simulink上生成的代码工程如图所示: providedinterface_common.h providedi ...

  7. AUTOSAR从入门到精通-AUTOSAR PPT介绍

  8. Adaptive AUTOSAR架构介绍(3)

    在AP架构下每个Application都是一个App,每个App都包含OS.COM.API

  9. Autosar模块介绍:AutosarOS_2(操作系统基本概念)

    上一篇 | 返回主目录 | 下一篇 AutosarOS_2:操作系统基本概念 1 任务管理(Task Management) 1.1 任务基本概念及分类 1.1.1 基础任务(Basic Task, ...

最新文章

  1. 阿里手机小号,测试用
  2. 查看SqlServer的内存使用情况
  3. LeetCode Number Complement
  4. ES6 数值的扩展
  5. python中for和while可以有else_Python 中的for,if-else和while语句
  6. LeetCode 1134. 阿姆斯特朗数
  7. android 三星 oom,android - 终结者抛出未捕获的异常:谷歌API错误或三星内核错误? - 堆栈内存溢出...
  8. mysql存储emoji表情
  9. 计算机打印服务总是自动关闭,打印机服务怎么使用 打印机服务自动关闭怎么解决...
  10. c语言三角波的mif文件,EDA课程设计报告-正弦波信号发生器的设计.doc
  11. python按列写入csv文件_Python csv writer按列写入,n
  12. andorid 源码北京公交线路查询(离线)
  13. Android 10文档阅读总结
  14. Android群英传 笔记1 安卓 系统架构和开发工具
  15. geopandas read_file报错RTreeError: Coordinates must be in the form (minx,
  16. 和合信诺牵手招行私人银行,构建智能合规知识引擎
  17. 人民币美元兑换程序python简单_纯代码实现人民币兑换美元
  18. 1002. 写出这个数 (20)练习
  19. 使用决策树算法预测西瓜的好坏
  20. ShardingSphere 5.2.1 发布|新增系统库、强制分片路由、一致性校验

热门文章

  1. 对sys用户进行行为审计(转载)
  2. linux sleep cpu,Linux系统下CPU频率的调整
  3. ASP.net2.0的machineKey
  4. Linux命令行字体变大变小,如何更改Linux控制台字体类型和大小,
  5. MVC框架的Model数据验证
  6. 帮我DIY一台10000左右的游戏电脑
  7. python爬虫爬取qq空间说说_用python爬取qq空间说说
  8. 【历史上的今天】7 月 9 日:第一部计算机特效电影问世;浏览器之父出生;游戏《大金刚》发布
  9. SpringBoot自动配置MVC原理
  10. php多属性商品实现,jquery实现商品sku多属性选择(商品详情页)