| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 757_AUTOSAR_RS_BSWModuleDescriptionTemplate5_基础软件调度模板描述 -> 正文阅读 |
|
[Python知识库]757_AUTOSAR_RS_BSWModuleDescriptionTemplate5_基础软件调度模板描述 |
?????? 全部学习汇总: https://github.com/GreyZhang/hack_autosar ?????? 继续学习AUTOSAR的文档,梳理《AUTOSAR_RS_BSWModuleDescriptionTemplate》的信息。 ?????? 看一下基础软件的调度相关的要求。 ?????? 基础软件中的Main函数基于周期性的任务调度 ?????? BSWMD 模板应提供方法来描述 BSW 主要功能的基于循环时间的调度要求。 ?????? RTE 生成器为整个 ECU 创建调度。 许多 BSW 模块依赖于其主函数的基于循环时间的调用来实现其功能。RTE 生成器应能够根据规定的要求实现基于循环时间的调用。 ?????? 用例:从生成的 RTE 调用函数“Com_MainFunctionTx()”来实现 IPdus 的周期性发送。 ?????? 小结:这样的接口形式看到很多次了,很久之前就知道了,现在才看到这个要求的明确描述。看起来,现在看的文档终于与我现在的工作逐步接轨了。 ?????? 应支持 BSW 模块的模式开关 ?????? BSWMD 模板应提供描述 BSW 模块的模式开关和调度要求的方法。 ?????? BSW 主函数的有条件调度取决于 ECU 的不同操作模式。 ?????? BSW 主函数的调度取决于通过进入或退出在特定模式转换时激活的模式而激活的模式。 ?????? 用例:初始化和结束阶段(EcuM 提供的模式)、不同的通信模式(ComM 提供的模式)。 ?????? 小结:其实,这里的例子没有明确写出来需要调用的接口。但是结合关系这部分应该可以得出主函数也是可以条件触发的结论。 ?????? 同步模式转换 ?????? BSWMD 模板应提供方法来指定控制 BSW 模块和应用软件组件的模式所需的同步切换。 ?????? 控制 AUTOSAR BSW 模块和应用软件组件的模式转换期间的同步行为。 ?????? BSW 模块模式切换通知 API ?????? BSWMD 模板应提供描述特定 BswModuleEntity 通信模式的方法。 ?????? BSW 调度程序的代码生成器应生成 BSW 模块服务用作模式管理器的模式切换 API。 ?????? 用例:EcuM 通过 BSW调度器将 ECU 的运行状态传达给所有 BSW 模块。 ?????? 通过触发事件触发 BSW 主函数 ?????? BSWMD 模板应提供通过触发事件的发生来描述 BSW 主要函数的触发的方法。 ?????? BSW 中依赖于触发事件的特定 BSW 主要函数应在事件发生后执行。 ?????? 触发事件的发生通过 API 报告给 BSW 调度程序或通过操作系统(例如,操作系统警报到期)。 ?????? 限制:这仅适用于内部 ECU 使用。 ?????? 不同 BSW 模块中 BSW 主要功能的零星和非基于定时的周期性激活。 ?????? 通过触发事件同步触发 ?????? BSWMD 模板应提供通过共享触发事件指定所需的可运行实体和 BSW 主函数的同步触发的方法。 ?????? AUTOSAR BSW 模块和应用软件组件中例程的同步激活。 ?????? 用例:内燃机的应用软件组件和复??杂设备驱动程序中程序的角度周期性触发。 ?????? 通过触发事件触发 BSW 模块的 API ?????? BSWMD 模板应提供描述特定 BswModuleEntity 引发触发事件的方法。 ?????? BSW 调度程序的代码生成器应生成 BSW 模块使用的触发器 API,用于捕获触发事件的源。 ?????? 用例:跟上面一样。 ?????? 支持 BSW 模块和应用软件组件中的专属区域 ?????? BSWMD 模板应提供定义特定 BswModuleEntity 使用的独占区域的方法,以允许确定优先级以防止同时访问共享资源。 ?????? 应使用名称和访问 BswModuleEntity 来定义独占区域。 ?????? 专属区域只保护模块内部数据。 ?????? 将模块实现与应用数据一致性机制分离。 ?????? BSW 调度程序的代码生成器应提供 API 以进入或退出 BSW 模块的专用区域。 ?????? 用例:为 BswScheduableEntity 和 BswInterruptEntity 之间共享的数据缓冲区提供数据一致性。 ?????? 小结:大概的分离概念我是知道的,但是这一段描述中有几个地方我的确是没能够理解。 ?????? 允许启用提供 Activating Bsw Event API ?????? BSWMD 模板应提供方法来请求基本软件调度程序激活该功能以将激活的 BSW 事件传递给被调用的可调度实体。该请求应可用于每个可调度实体。 ?????? 如果可调度实体代码不需要激活 BSW 事件,则它不可用,并且生成的基本软件调度程序不应跟踪此可调度实体的激活 BSW 事件。 ?????? 小结:这个其实就是一个信号与任务之间的绑定,而用例也是为了说明这个的,不做翻译梳理了。 ?????? 支持 BSWModuleEntities 中 ExclusiveArea 使用的可选配置 ?????? BSW 模块配置应支持为每个实现的 BSWModuleEntitiy 指定可选配置信息以描述: ?????? ? 实体以嵌套方式使用哪些 ExclusiveAreas。 ?????? ? 从 ExclusiveArea 或嵌套的 ExclusiveArea 中调用哪些其他软件实体。 ?????? 可以在配置时通过工具检查附加配置信息。目标是通过在不同软件实体之间共享资源时可能发生冲突的情况下向实现者提供警告来防止死锁。 ?????? 用例: ?????? ? 安全关键系统的发布:死锁和其他一些问题可能只发生在异常情况下,无法通过测试全部发现。 ?????? 除了其他验证和确认方法之外,安全关键 ASIL 系统的安全运行可能需要通过静态分析证明死锁自由。 ?????? ? 优化锁定共享资源的资源消耗:根据软件到任务和内核的分布,需要不同的 ExclusiveAreas 实现。 通过分析依赖关系,可以选择最有效的替代方案。 ?????? ? 3rd 方软件的集成:对于3rd 方软件,源代码通常不可用于分析ExclusiveAreas 的使用方式。 ?????? 这必须在配置描述中详细说明和提供。 ?????? 小结:这里有一个新的注意点,这个死锁的分析居然很大程度上是依赖于工具的分析来实现的。 ?????? BSW 分区间客户端-服务器通信 ?????? BSWMDT 应提供方法来指定 BSW 内分区间和/或核心间通信所需和提供的程序调??用。 这些应支持同步和异步客户端-服务器模式,并应允许生成相应的 BSW 调度程序 API。 ?????? 优化内核之间的负载平衡 w.r.t.? BSW 服务。 提高 BSW 服务执行的效率。 启用多核软件分发的优化。 ?????? 小结:这部分感觉在需求上很迫切得了解,但是这个优化究竟应该如何来实现呢? ?????? BSW 分区间收发器通信 ?????? BSWMDT 应提供方法来指定 BSW 内分区间和/或核心间通信所需和提供的数据。 这些将允许生成相应的 BSW 调度程序 API。 ?????? 优化内核之间的负载平衡 w.r.t.? BSW 服务。 提高 BSW 服务执行的效率。 启用多核软件分发的优化。 ?????? 小结:这个跟上面一条其实是大同小异了,一个是服务的请求,另一个是数据传输而已。 ?????? 在本地或远程分区上执行 BSW 服务 ?????? 如果 BSW 服务在特定分区上可用,BSWMDT 应允许为给定代码创建 BSWMD,该代码支持在同一分区中调用和执行服务功能的配置以及在一个分区中调用它的配置和由 RTE 路由到另一个。 ?????? 优化内核之间的负载平衡 w.r.t.? BSW 服务。 提高 BSW 服务执行的效率。 启用多核软件分发的优化。 ?????? 这一次的小结内容比较多,梳理完了基础软件调度相关的模板描述需求。在这个过程中,解答了部分之前的疑问,同时也引出了一些新的疑惑,进一步的文档阅读更有必要了! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 13:39:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |