基于PREEvision定义AUTOSARDataType:Uint8详解

发布于:2022-11-13 ⋅ 阅读:(1257) ⋅ 点赞:(1)

在使用PREEvision定义AUTOSAR_CP Data Type之前,首先建立一个Data Type 存放路径,如下图所示,之后所有定义的数据可以存在此处。

​​​

1、PREEvision 数据类型定义与AUTOSAR数据类型定义映射表。PREEvision对于AUTOSAR定义的Private data type 进一步细分为integer、long、byte、float、double等多个类型。实际上AUTOSAR定义的数据类型中只有Value,所以我们这里统一按照Value处理就可以了。

定义一个Uint8数据类型:

 

 主要定义属性如下:

 

2、Application Data Type 定义:选择之前建立的路径ADT_Private--new--data type--applicaion data typ--application value type,就可以建立一个Application Value Type,然后对它命名为ADT_Uint8;

 

  • 2.1、定义物理最大值、最小值 Generic Physical Data Constraint;

  • 2.2 属性定义如下

在ARXML中定义如下:

 

 

3、Implementation Data Type定义:同样方法建立一个实现数据类型Implementation Value,重命名为IDT_Uint8,Type Emitter 定义为“RTE”;

在ARXML中定义如下:

4、建立Application data type 与 Implementation data type 的映射关系,

主要有2种方法:

方法一:

  • 4.1、鼠标左键放在目标Application data type区域,选中目标;
  • 4.2、直接将其拖放到目标Implementation data type位置;
  • 4.3、选择“Create Mapping”,如下图;

 

方法二:

  • 4.4、选中目标Application data type,在左侧属性栏(Property Page)中找到Implementation data type via mapping属性;
  • 4.5、将目标Implementation data type拖放到Implementation data type via mapping区域,如下图;

  

4.6、在Data Type mapping 路径中,能看到ADT-IDT的映射关系;

 

在ARXML中定义如下:

  • 5、建立数据的基础类型BaseType,重命名为Uint8;

定义BaseType属性:

  • Encoding: Unsigned Integer (NONE);
  • Length Type: Fixed
  • Bit Length: 8
  • Byte Order: Motorola (Big Endian)
  • Native Declaration: unsigned char
  • Memmory Alignment: 64

 

 在ARXML中定义如下:

  • 6、建立Implementation data type--base type 的映射关系;
  • 6.1、选中目标Implementation data type,在左侧属性栏(Property Page)中找到Implementation data type Attribute属性
  • 6.2、将目标base Type拖放到Implementation data type via mapping区域,如下图:

  • 7、定义一个枚举型的转换方式,这里仅需要定义网络值—物理值的转换。

7.1、选择路径--new—CompuMethod,重命名为Num;

7.2、再选择刚刚建立的CompuMethod—new—internal to physical conversion—text table conversion;

7.3、在生成的Text Table Conversion左侧属性栏—Conversion Parameter中,点击箭头,生成需要的枚举型变量;

7.4、依次双击枚举型变量“X”、“Y”区域,根据需要定义编码值;

 在ARXML中定义如下:

8、建立Application data type--CompuMethod 的映射关系

8.1、选中目标Application data type,在左侧属性栏(Property Page)中找到Computation Method属性;

8.2、在Computation Method下来菜单中选择目标CompuMethod,如下图

9、定义一个数据单位Unit:

本数据不需要Unit,无需定义。详细定义见《1_Float》。

10、建立Application data type--Unit 的映射关系

本数据不需要Unit,无需定义。详细定义见《1_Float》

11、定义常数,用以定义数据的最大值、最小值、初始值、无效值等

11.1、选择路径—new—Constants—Constant Specification,命名为demo_3;

 

11.2、选择刚刚建立的Constant Specification—new—Integer literal;

11.3、定义Integer literal;属性:Name: demo_3 , Value:3;

  • 12、建立Application data type--Constant 的映射关系;
    • 12.1、选中目标Application data type,在左侧属性栏(Property Page)中找到Application data type Attributes属性;
    • 12.2、在Invalid Value下来菜单中选择目标Constant,如下图:

    通过以上12个步骤,完整了简单数据类型uin8的定义;

    将PREEvision定义的数据类型导入CANoe中,显示如下


网站公告

今日签到

点亮在社区的每一天
去签到