嵌入式软件可靠性与设计课程
招生对象
软件工程师、电子电路工程师、系统工程师、可靠性工程师、测试工程师、项目经理、研发高管等;
课程内容
嵌入式软件是建立在非通用化硬件平台基础上运行的系统,其可靠性受着现场环境条件、硬件故障、程序员失误、程序语法、数据变量题问题的影响。在架构设计、软硬件接口、代码规范、人机操作、编译、外部干扰、容错性机制等方面都有其特定的设计方法。
本课程就是基于以上问题总结出来的一整套的设计规范,涉及到了架构、编程方法、抗干扰、系统防护、测试用例设计、开发过程管理等一系列内容。总结剖析了嵌入式设计师易犯的错误点和问题点,以期在设计中能提前加以预防。漏洞堵住了,跑冒滴漏自然不再发生。
课程内容: (讲课内容届时根据参加人员实际情况可能会略有调整。)
第一部分、嵌入式软件可靠性基础
1.定义软件可靠性定义
2.软件可靠性的度量与评估
3.软件与电子的失效率特性区别
4.影响嵌入式软件可靠性的因素
5.嵌入式软件归档及配置管理过程控制注意事项
6.嵌入式软件可靠性系统分析方法与软件DFMEA的运用
7.嵌入式软件可靠性问题分析方法—系统分析
8.分级(模块分级、显示界面、报警分级)
9.受控(时间受控、空间受控)
10.覆盖(路径覆盖、数据覆盖)
第二部分、嵌入式软件编程规范
1.架构设计:
1.1二分法 1.2安全性内核 1.3分散自制多元化的架构体系 1.4独立功能,独立函数1.5避免故延伸 1.6冗余设计
2.代码:
2.1编译器归档 2.2单一语句单一功能 2.3逻辑运算变量后置 2.4隐性问题显性化 2.5编译器问题对嵌入式软件可靠性的影响 2.6施密特触发判断 2.7不依赖于人的细心认真和水平的设计 2.8宏定义的运用 2.9设计更改接口向前兼容
3.数据与传输:
3.1硬件限制传输速率3.2速率越高导线越短3.3数据禁止相邻备份3.4数据类型强制定义3.5数据存储备份方法(原码反码异或码)3.6随机干扰下的数据传输打包多次传送3.7指针加减法慎用3.8周期性广播传输方式3.9状态与控制命令字禁用弱数据类型3.10EEPROM损坏检查3.11循环冗余校验方式3.12防止过程中存储被刷3.13块存储特性3.14存储成功提示
4.人机接口:
4.1人机接口问题与防护4.2对人工误操作的防护措施4.3参数设计控制策略4.4界面数据设置和布局方法4.5界面设计规范4.6不对称操作4.7与环境或配套相关的参数顺设计成工程师校准界面
5.功能安全防护设计:
5.1单一故障下,输出保证安全5.2软件安全功能的要求5.3功能安全评估方法
6.报警:
6.1报警分类设置6.2报警编程处理6.3报警频率、声音、占空比要求6.4软件报警日志多余物6.5报警设置超限提示
第三部分、软件抗干扰设计
1.电压容限超差导致的信号问题
2.串并联接法导致的信号波动
3.上电时序引起的硬件故障及软件初始化对策
4.死机的机理及对策
5.软件锁
6.过渡过程
7.delay用法
8.睡眠设置抗干扰
9.软件、结构、电路相结合的电磁兼容解决方法
10.防跑飞的软件陷井
11.硬件信号数据出现问题的机理(电压容限)
12.多负载上电分步实施、时序控制
13.闩锁的防护
第四部分、嵌入式软件测试用例设计
1.单元测试与系统测试的区别 2.测试工具与人工测试
3.测试职责与测试分工 4.基于SFC的接口测试
5.全覆盖测试(路径覆盖与数据覆盖、划分模块MECE方法)
6.一致性测试,通过软件测试发现硬件隐患
7.人机接口测试 8.规范审查
9.MECE方法做测试用例设计 10.单一故障测试
第五部分、嵌入式软件工程化开发管理注意事项
1.软件开发管理分级(5级三层) 2.软件DFMEA
3.软件FMEA的流程 4.软件的失效率特征及FMEA要点
5.软件FMEA分析技术 6.CMM与ISO9000的融合
第六部分、咨询与答疑
嵌入式软件可靠性与设计课程