DO-178C DAL B 目标机测试操作方法

一、硬件连接拓扑图#

flowchart LR
    A[个人电脑] --> |数据线|B(中位机)
    B --> |中位机CAN2 -> 目标板CAN1|C(目标板)
    A --> |PE|C

 

二、增加 OvRide 标定(以测试 MSC 模块为例)#

被测模块的输入变量要在对应的上个模块中对输出变量进行 OvRide 标定

1、查看模块的输入(以测试 MSC 模块为例)#

查看一下MSC的输入都来自于哪些模块,如图所示,输入信号来自于 BSW(底层)、EVL 、MWM 这个三个模块,所以我们要对 EVL 和 MWM 模型增加 OvRide 标定,对于 BSW (底层)增加底层测试接口。

文章图片

2、EVL 模型增加 OvRide 标定#

打开 EVL 模型增加 OvRide 标定

(1)信号解绑#

选中全部的输出信号,对 EVL 模块的输出进行信号解绑

文章图片
(2)OvRide 标定添加#

选中全部的输出信号,对 EVL 模块的输出进行 OvRide 标定添加

文章图片
(3)数据字典#

添加后会自动生成一个数据字典名为 “模块名_DD_updated”

文章图片
(4)修改数据字典#

将数据字典为 “模块名_DD_updated” 中的 Calibration 类型变量(变量名中带有 Ovr )所在的行,都复制到数据字典为 “模块名_DD” 中,全部保存

文章图片
(5)编译测试#

保存 EVL 模型,重新加载数据字典,进行编译测试(运行或步进),检查是否能够正确编译通过

文章图片

3、MWM 模型增加 OvRide 标定#

打开 MWM 模型增加 OvRide 标定( MWM 进行上面 EVL 相同的标定操作)

(1)信号解绑#

对 MWM 模块的输出进行信号解绑

文章图片
(2)OvRide 标定添加#

对 MWM 模块的输出进行 OvRide 标定添加

文章图片
(3)数据字典#

添加后会自动生成一个数据字典名为 “模块名_DD_updated”

文章图片
(4)修改数据字典#

将数据字典为 “模块名_DD_updated” 中的 Calibration 类型变量(变量名中带有Ovr)所在的行,都复制到数据字典为 “模块名_DD” 中,全部保存

文章图片
(5)编译测试#

保存MWM模型,重新加载数据字典,进行编译测试(运行或步进),检查是否能够正确编译通过

文章图片

4、底层测试接口数据字典(以测试MSC模块为例)#

根据我们测试模块,如果测试模块存在底层的输入信号,则需要增加底层测试接口的代码,如果不存在底层的输入信号,则不需要此部分代码

(1)MSC模块的底层输入信号#

打开MSC模块,确定底层输入的信号

文章图片
(2)MSC模块的底层输入信号数据字典#

打开MSC模块数据字典,将底层输入的信号复制到新的数据字典中(自己copy一份数据字典,放在任一英文路径下),并将Group列的 Input_BSW 改为 Output ,保存数据字典。

文章图片

记住这个底层输入信号数据字典所在的位置

文章图片

三、生成代码并导入工程#

1、生成代码#

(1)ASW模型#

打开ASW模型,进行代码生成

文章图片

成功生成

文章图片
(2)底层接口代码#

由于现在工具无法使用,现在直接运行脚本进行生成,之后GUID若修改完成,则可直接生成

运行 BSWInterface_ALL.p 脚本

文章图片

选择底层输入信号数据字典所在的文件夹(MSC模块的底层输入信号数据字典)

文章图片

再次选择根目录

文章图片

成功生成代码

文章图片

将生成的代码放在ASW模型生成的代码中

文章图片

四、源代码修改并编译#

1、应用层#

(现在GUID新版本的生成代码功能,存在falsh将常量镜像到RAM中,因此需要进行修改)

正常直接将应用层替换到源码工程,只进行底层的测试接口函数Sheet1_Cal的导入

ASW文件中ASW_Cal.c#
文章图片
文章图片
ASW文件中ASW_Cal.h#
文章图片
文章图片
ASW文件中App_Cal.h#
文章图片
ASW文件中ASW.h#
文章图片

2、底层#

将CAN1的CANFD更改为CAN协议,这部分已经给配置完成,不用修改了,只需要替换底层测试接口代码即可。

后面中位机可能会增加CANFD协议。

main.c(底层的测试接口函数Sheet1_Cal)#
文章图片

在1ms的循环中调用底层的测试接口函数Sheet1_Cal

文章图片

3、代码编译#

编译结束,如果编译失败,则可能为头文件包含问题,include头文件即可

编译成功后,即可将程序烧录到目标板中。

文章图片

4、代码烧录运行#

文章图片

五、测试工具使用#

1、新建测试工程#

(1)TestTool.exe#

打开TestTool.exe

文章图片
(2)创建工程#

填入项目名称、选择项目位置,点击OK

文章图片
(3)创建成功#
文章图片

2、内存地址映射#

(1)生成映射文件#
文章图片
(2)导入映射文件#
文章图片

3、串口连接#

(1)串口配置连接#
文章图片
(2)采用串口协议#

采用串口协议和上位机通信测试

文章图片

4、生成测试脚本#

由于现在工具暂时无法进行测试脚本生成py文件,暂时不进行此过程说明,需要等待工具升级。

5、运行测试脚本#

(1)导入脚本#
文章图片
(2)运行测试脚本#
文章图片

 

附件:

CalTest_UsrDefined_Protocol.c 

CalTest_UsrDefined_Protocol.h 

 

license_20260411_113932.dat 

public_key.pem 

 

[missing note]