项目

一般

简介

行为

功能 #3382

打开

Task #3240: FORD文档输出

功能 #3349: SWQA文档

功能 #3353: TDR_RQT_003701_705377 Software Design Best Practices

TDR_RQT_003701_705377 003 软件循环(Software Loops)

力常 张3 个月 之前添加. 更新于 3 个月 之前.

状态:
进行中
优先级:
普通
指派给:
目标版本:
开始日期:
2025-03-17
计划完成日期:
2025-03-27 (大约 3 个月 延期)
% 完成:

50%

预期时间:

描述

参考软件“DR-003701-707966 Software Loops”
需求描述
本设计规则支持 RQT-003701-705377《软件设计最佳实践》,适用于包含以下类型软件的所有电子控制模块:非AUTOSAR操作系统(Non-AUTOSAR OS),AUTOSAR Classic 平台,AUTOSAR Adaptive 平台,第三方软件并作为该RQT的合规性实施方法。
.除构成最高层级控制结构的循环(如调度循环、主事件循环)及需强制复位的场景外,所有循环必须提供独立于执行监控器(execution supervisor)的备用退出机制。
——除了顶层循环,其他循环均可以退出

技术规范
陷入软件循环可能导致程序呈现甚至实际停止运行的异常状态。除顶层循环控制结构外,所有次级循环必须配置终止/退出机制(如:循环不变式的谓词判断、外部计时器等),确保退出该控制结构的途径不唯一依赖系统执行监管器(execution executive)。需说明:专门等待执行监管器触发的循环虽常用于异常处理等场景且未被明令禁止,但仍建议采用下述替代机制实现系统级操作。

强制复位的非循环实现方法
在不使用循环的情况下强制微控制器复位的核准方法如下(若需采用其他方法,须按"分析/讨论"章节规定的例外流程审批):
. 触发执行监控器(如:看门狗超时)
. 使用SWI(软件中断):在SWI中断处理程序中强制执行复位
. 采用福特提供的部件功能规范中定义的复位机制
. 执行微控制器专用指令或特定指令序列
——在程序跑飞的情况下,有软件看门狗复位
作为微控制器(MCU)复位流程的必要组成部分,所有电源模块及MCU外部外设必须重新初始化为上电(Power-On)状态。

分析/讨论
本设计规则支持 RQT-003701-705377《软件设计最佳实践》,适用于所有含软件实现的电子控制模块,并作为以下两项的合规性实施方法:
1.RQT规范要求
2.DR-003701-707968 ECU健康监控参数标识符(PID)D700(十六进制)

设计规则闭合机制
设计规则的闭合以完成软件技术设计评审(Technical Design Review, TDR)为标志,具体通过"SWQA通用TDR检查单"中的下列问题项落实:
系统中是否存在使用「自旋锁」(Spin-Lock)实现的无限循环?若存在,其退出机制如何实现?

行为 #1

力常 张 更新于 3 个月 之前

  • 状态新建 变更为 已解决
行为 #2

稚媛 黄 更新于 3 个月 之前

  • 主题DR-003701-707966 软件循环(Software Loops) 变更为 TDR_RQT_003701_705377 003 软件循环(Software Loops)
行为 #3

稚媛 黄 更新于 3 个月 之前

  • 描述 已更新。 (差异)
行为 #4

涛 陆 更新于 3 个月 之前

  • 描述 已更新。 (差异)
  • 计划完成日期 被设置为 2025-03-27
  • 指派给力常 张 变更为 云浩 汪

增加看门狗的测试

行为 #5

涛 陆 更新于 3 个月 之前

  • 状态已解决 变更为 进行中
  • % 完成100 变更为 50

状态更改为进行中

行为

导出 Atom PDF