关键词
嵌入式、C语言、autosar、Rte
平台说明
项目 | Value |
---|---|
OS | autosar OS |
autosar厂商 | vector |
芯片厂商 | TI |
编程语言 | C,C++ |
编译器 | HighTec (GCC) |
参考文档 | AUTOSAR_SWS_RTE.pdf AUTOSAR_TPS_SoftwareComponentTemplate.pdf |
一、数据类型分类
如图所示,数据类型分为以下六类:
①Adt
②Idt
③Base types
④units
⑤compu Methods
⑥Data constraint
compu methods又分为 identical,linear,scale-linear,text tabal ,scale-lineat and texttable,bitfield text table几类。
二、Adt
应用层数据类型,有布尔,值,数组,结构体,字符串等类型,用于 到Idt的1:n的映射。
主要在AUTOSAR_TPS_SoftwareComponentTemplate.pdf 第五章中描述。
原文档太拗口,这里讲人话。ADT 是一个抽象的概念,在生成的代码中不会体现。如下图所示,在ADT中主要定义数据范围,CM,单位,不会具体到什么数据类型,用于在VFB(虚拟总线如RTE)之上图形化工具中体现SWC中的交互。
分为ADT ,IDT, BASE TYPE 搞得这么复杂 其实就是为了适配于不同芯片平台,这样的话移植只需要修改 base type。
三、Idt
实施的数据类型,通俗来讲就是实际用到的数据类型,根据Adt映射而来,可以创建类型和Adt类似,可以创建非常灵活的多维数组和结构体。
在代码中会生成
# define Rte_TypeDef_Idt_demo_recive_volt
typedef uint16 Idt_demo_recive_volt;
四、ADT IDT 的mapping
1. mapping idt 和 adt
2.关联到swc
五、Base 数据类型
一般由平台决定。
六、units
全局类型的单位,可以被Adt和CM(compu methods)引用。
七、compu methods
计算公式。用于内部值到物理值的转换。
linear中一般用于can报文的data = Fctor*X+offset 物理值到内部值的转换。
八、data constraint
数据范围限制。可对Adt和Idt进行物理约束。
>>>>>回到总目录<<<<<<