专栏算法工具链J6 mcu safetylib sample

J6 mcu safetylib sample

新手村2025-09-29
39
0

1. 功能概述

本文的safetylib sample实现MCU Domain FCHM硬件故障、软件故障的注入和处理,此处主要介绍该sample的实现与使用方法。

1.1. 软件架构说明

本sample基于MCU CDD FCHM和SafetyLib实现,在示例OS的task文件中,调用SafetyLib的初始化接口,在ISR文件中,调用 CF/NCF中断处理函数,并在NCF中断处理函数中,激活NCF下半部task处理函数。

NCF故障注入和处理流程图:

CF故障注入和处理流程图:

NCF实际发生时处理流程图:

CF实际发生时处理流程图:

1.2. 代码位置与目录结构

代码路径

注意

本sample和MCU主线共代码,无专用特殊代码,其中,FuSa功能实现路径为SafetyLib目录,集成代码为Target目录。

2. 编译

2.1. 编译环境

编译依赖GreenHill编译器或HighTech编译器。

2.2. 编译说明

目前地平线的GreenHill编译器编译示例如下:

注意

详细的MCU编译方法,请参考文档 MCU代码编译指南

3. 运行

3.1. 支持平台

支持所有J6X单板。

3.2. 硬件环境搭建

PC串口连接单板MCU串口,启动单板。

3.3. 运行指南

运行方法

在MCU串口执行命令。

Main Domain CF测试命令:

MCU Domain NCF测试命令:

MCU Domain CF测试命令:

3.4. 运行结果说明

以下为1次故障注入和运行日志示例:

注意

错误码以及运行日志,仅为参考示例。最新代码中,错误码配置可能改变,从而导致日志信息不同,此处不再更新。

3.5. 运行参数说明

本stl_faultinject运行参数如下:

参数名

说明

是否必须

备注

第一个参数

指定错误的FchmId

 

第二个参数

指定错误的ErrCode

 

第三个参数

指定错误的ErrSrc,针对有错误源合并的错误有效,如果无合并,填写0即可

 

算法工具链
社区征文征程6底层软件官方教程
评论0
0/1000