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)运行测试脚本#

附件:
[missing note]