N32G031系列安全启动应用笔记

安全在电子应用领域起着越来越重要的作用。在电子设计中,组件的安全要求水平不

断上升,电子设备制造商将很多新技术解决方案纳入了新组件设计。用于提高安全的软件
技术不断涌现。硬件和软件的安全要求相关标准也在持续开发中。
本文档介绍了该工程在 N32G031 的 MCU 中如何执行 IEC 60730 所要求的软件安全性
相关的操作及相关应用代码内容。
本文档适用于国民技术的 N32G031 系列产品。

##1. IEC60730 class B 软件标准介绍
为确保电器使用安全,需要对软件运行时的风险控制措施进行评估。
国际电工委员会颁布的 IEC60730 引入了家用电器软件评估要求,附录 H(H.2.21)中对
软件进行了分类: A 类软件:软件仅实现产品的功能,不涉及产品的安全控制。比如室用恒温器的软件,
灯光控制的软件…
B 类软件:软件的设计要防止电子设备的不安全操作。例如带自动门锁控制的洗衣机
软件,带过热控制的电磁炉软件…
C 类软件:软件的设计为了避免某些特殊的危险。例如自动燃烧器控制和封闭的热水
器的热切断(主要针对一些会引起爆炸的设备)
其中 B 类软件的具体评估要求,包含了需要检测的组件及相关故障和测试方案,整理
见下表:

在这里插入图片描述
在这里插入图片描述
##2. 测试点流程说明
Class B软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检。
启动时的自检包括:
###CPU检测
###看门狗检测

Flash完整性检测
RAM功能检测
系统时钟检测
控制流检测
运行时的周期自检:
局部CPU内核寄存器检测
堆栈边界溢出检测
系统时钟运行检测
Flash CRC分段检测
看门狗检测
局部RAM自检(在中断服务程序中进行)
总体流程框图如下:
在这里插入图片描述
##2.1 启动时检测流程
在芯片由启动到进入main函数之前,先进行启动检测,修改启动文件来执行该部分代
码,检测流程结束后调用__iar_program_start函数跳转回main函数。
下图是执行启动时自检的流程框图:
在这里插入图片描述

##2.1.1 CPU 启动时检测
CPU自检主要检查内核标志、寄存器等是否正确。如果发生错误,就会调用故障安全
处理函数FailSafePOR ()。
CPU自检在启动时和运行时都会进行,在启动时,R0~R12、PSP、MSP寄存器和
Z(zero)、 N(negative)、C(carry)、V(overflow)标志位的功能测试都会进行一次自检;运行
时,周期性自检,仅检测寄存器R1~R12。

详细资料提取烦请留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值