车载基础软件——嵌入式系统时间特性分析

这篇具有很好参考价值的文章主要介绍了车载基础软件——嵌入式系统时间特性分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此伪装成客观意见,但无一例外的是,他们想让你怀疑自己。

车载基础软件——嵌入式系统时间特性分析

本文主要介绍车载基础软件——嵌入式系统时间特性分析。

文章主要有如下几个内容:

-> 1、网络管理测试验证

-> 2、诊断服务测试验证

-> 3、BSW层里的操作系统OS

近年来,随着汽车功能的不断完善和多样化,车载电子系统日益复杂。从控制器层面看,集成度越来越高,CPU 负载不断增加。如何确保软件集成安全、优化设计、提高资源利用率、降低成本成为相关设计人员亟待解决的问题;另一方面,ISO26262 及 ASPICE 等相关标准中分别在软件架构、单元和集成阶段对性能分析提出了明确的需求。如何验证满足实时系统的时间性能需求,构建符合 ISO26262 和 ASPICE 标准的产品也越来越引起相关人员的重视。

针对上述问题,AUTOSAR 标准在 4.0 版本以后即对嵌入式系统性能分析提出了相关方法论指导。其中,《AUTOSAR Specification of Timing Extensions》主要定义了不同级别的时间行为需求 / 规范标准,《Recommended Methods and Practices for Timing Analysis and Design within the AUTOSAR Development Process》(以下简称 Timing Analysis)主要提供了性能问题方法论指导。如图:

车载基础软件——嵌入式系统时间特性分析

就分析内容而言,根据相关标准的定义,嵌入式系统的性能问题主要分为控制器级、网络级和功能级(端到端)三个维度。本文主要关注控制器级别的相关性能问题。结合欧洲相关标准的定义,控制器级别的性能分析问题又可以进一步分为代码级分析和调度级分析。其中,代码级分析的对象为单个的任务(Task)/ 中断(Interrupt),不考虑任务 / 中断 / 进程间的抢占情况。而调度级分析则主要考虑多任务 /中断间相互抢占的情况下,各任务 / 中断的响应时间的结果(包括本身的代码执行时间和被抢占的时间)。如图:

车载基础软件——嵌入式系统时间特性分析

就分析方法而言,可以分为理论分析、仿真和追踪三种,或者基于模型和基于追踪两种。后者与时间特性流程 / 研发流程更相契合。在本文中,我们采取后一种分类方法进行相关介绍:

一、基于模型的分析

基于模型的分析按照分析内容,又分为代码级分析和调度级分析。根据ISO26262 及 ASPICE 标准,代码级的相关指标主要包括最差情况代码执行时间(WCET,WorstCase Execution Time)和最差情况堆栈用量分析。调度级分析要求指标主要包括 CPU 负载、Task\Interrupt\Event Chain 最差情况响应时间(WCRT,WorstCase Reaction Time)等。

->代码级基于模型的分析方案

代码级基于模型的分析方法是指不需要在实际的目标硬件环境中运行,而是通过直接从程序结构中计算出代码最差情况执行时间,或者在目标环境仿真器中仿真而得出代码执行时间分布范围的方法。

为了满足功能安全和 ASPICE 中对性能问题最差情况的分析要求,一般推荐使用基于模型的分析方案。常见的分析方案如图所示:

车载基础软件——嵌入式系统时间特性分析

常见的代码级基于模型的性能分析工具有 aiT、TimingProfiler、StackAnalyer 等。

-> 调度级基于模型的分析方案

调度级基于模型的分析方法是指不需要在实际的目标硬件环境中运行,而是基于目标操作系统、代码执行时间范围和调度配置进行静态数值分析而计算出最差情况任务 / 中断响应时间,或者在调度仿真器中仿真而得出任务 / 中断响应时间分部范围的方法。

为了满足功能安全和 ASPICE 中对性能问题最差情况的分析要求,一般推荐使用基于模型的分析方案。常见的分析方案如图所示:

车载基础软件——嵌入式系统时间特性分析

常见的调度级基于模型的性能分析工具有 Symtavision、Inchron、Timing-Architects 等。

嵌入式实时系统必须保证每一个操作系统的任务均在规定的时间内作正确的响应,如果由于某个任务执行时间过长或者调度设计不合理而影响其他的任务的正常执行,进而超出任务规定响应时间的情况,会对系统的正常运作造成很大的影响。根据软件的严重度等级,这些潜在安全隐患的排除需要通过形式化的验证方法或者具有充分的测试覆盖度的测试方法进行证明。

针对性能问题,在适航标准 DO178B 的第六章中明确指出 “Testing, in general, cannot show the absence of errors” ,也就是说,测试一般不能用来证明某些性能问题的清除,比如代码执行时间、堆栈用量、代码运行时错误等,一般通过测试来证明是不足够的,因为没有一种测试的手段可以对性能问题达到 100% 的覆盖度,即无法找出 WorstCase的工况。因而,标准中提出某些性能错误的排除可以通过形式化的方法(Formal methods)进行证明,而形式化方法即为一种基于模型的分析方法。此外,由于基于模型的分析方法不需要硬件环境,使得在设计阶段即对性能问题进行分析成为可能,从而尽早地发现和排除相关问题,避免在集成阶段再发现问题而导致时间和成本的浪费。

-> 基于追踪的分析

基于追踪的分析按照分析内容,又分为代码级追踪和调度级追踪。

追踪的对象是实际目标系统,一般通过代码插桩等手段,持续地进行事件(events)及对应时间戳(timestamp) 的采集和记录,这些记录的数据可以存放在目标硬件的内存或者通过相关接口实时导出。这些事件的选择可以是代码块级别、函数级别或任务 / 中断级别等,也可以细化到机器指令级别。根据不同的事件级别可以基于追踪文件分别重建代码块、函数、任务 / 中断、甚至是每个机器指令的实际执行时序情况。

相应的,对机器指令、代码块、函数等基于追踪文件的时序重建,可以分析得到代码执行时间最小值、最大值、平均值等数据,即为代码级追踪分析的内容。而对任务 / 中断基于追踪文件的时序重建,可以分析得到任务 / 中断延时和 CPU 实时负载的最小值、最大值、平均值等数据,即为调度级追踪分析的内容。

车载基础软件——嵌入式系统时间特性分析文章来源地址https://www.toymoban.com/news/detail-454471.html

常见的基于追踪的代码级性能分析工具有 TimeWeaver+Lauterbach、Gliwa、RapiTime 等;常见的基于追踪的调度级性能分析工具有 TraceAnalyzer、Lauterbach、iSystem、Greenhill、RapiTask、Gliwa 等。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

到了这里,关于车载基础软件——嵌入式系统时间特性分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【嵌入式项目应用】__用于搭建调试输出、建立时间系统的嵌入式框架“Zorb Framework”

    目录 一、什么是Zorb? 二、嵌入式环境搭建 三、调试输出 四、实现断言 五、建立时间系统 六、结束语 (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 Zorb Framework是一个基于 面向对象 的思想来搭建一个 轻量级的嵌入式框架 。 搭建Zorb Framework的目的是为在不能运行

    2024年02月06日
    浏览(49)
  • 【小黑嵌入式系统第十二课】μC/OS-III程序设计基础(二)——系统函数使用场合、时间管理、临界区管理、使用规则、互斥信号量

    上一课: 【小黑嵌入式系统第十一课】μC/OS-III程序设计基础(一)——任务设计、任务管理(创建基本状态内部任务)、任务调度、系统函数 下一课: 【小黑嵌入式系统第十三课】PSoC 5LP第二个实验——中断控制实验 1.1 时间管理 1.1.1 控制任务的执行周期 在任务函数的代码

    2024年02月04日
    浏览(57)
  • 嵌入式系统中重要的编程思想:分层与时间片

    1. 分层思想 分层的思想,并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。分层结构确是很有用的东西,参透后会有一种恍然大悟的感觉。 如果说我不懂LCD怎么驱动,那好办,看一下datasheet,参考一下别人的程序,很快就可以做出来。但是如果不懂程

    2024年02月07日
    浏览(64)
  • 软考-嵌入式系统设计师:[嵌入式系统基础:笔记(一)]

    大家不要只收藏不关注呀,哪怕只是点个赞也可以呀!🤣 粉丝私信发邮箱,免费发你PDF!!! 因为准备备考中级嵌入式设计师证书,所以买了一些资料回来准备复习,本书为倪奕文老师编制的书,如果大家有时间和精力还是很建议大家去买一本的,这本书反而是能够让小白很快

    2023年04月08日
    浏览(119)
  • 自动驾驶嵌入式开发工程师:车载SOC开发修炼秘籍

    声明:本文档是博主在开发学习过程中写的笔记,本意是便于以后开发复盘,参考《 ug1144-petalinux-tools-reference-guide》、《ug1085》、黑金Zynq UltraScale+ MPSoC 5EV开发板资料、英伟达官方资料。 大佬勿喷 大佬勿喷 大佬勿喷!!! 赛灵思芯片在自动驾驶领域的应用:Xilinx/AMD提供了成

    2024年02月07日
    浏览(53)
  • 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

    工作知识学习及总结系列文档 本文主要记录学习嵌入式软硬件编程过程中的一些硬件基础知识 嵌入式微控制器MCU ,又称单片机,一般以某微处理器内核为核心,芯片集成多种部件,功能和外设,如8051系列。其最大的特点是单片化,体积大大减小,功耗和成本下降,可靠性提

    2024年02月02日
    浏览(46)
  • 系统架构设计师笔记第7期:嵌入式系统及软件

    嵌入式系统是一种特殊的计算机系统,它被设计用于执行特定的功能或控制特定的设备。与一般的计算机系统不同,嵌入式系统通常是嵌入到其他设备或系统中,以完成特定的任务,如家电、汽车、医疗设备、工业控制系统等。嵌入式系统通常具有小型、低功耗、实时性要求

    2024年02月08日
    浏览(68)
  • 嵌入式系统入门基础知识分析(一)

      目录 ​编辑 一、什么是嵌入式 二、嵌入式系统的组成 三、实时系统 四、实时系统的调度 五、嵌入式微处理器体系结构 六、逻辑电路基础 七、总线电路及信号驱动 八、电平转换电路 九、嵌入式系统中信息表示与运算基础 十、差错控制编码 十一、嵌入式系统的度量项目

    2024年02月05日
    浏览(65)
  • 第二章 嵌入式系统硬件基础知识

    (1)信号特性 用 “ 逻辑真 ” “ 1 ” 或 “ 确定 ”来表示 高电平 用 “ 逻辑假 ” “ 0 ” 或 “ 不确定 ”来表示 低电平 1和0称为 互补信号 (2)信号转换 1、数字集成电路的分类         按照开关元件的不同,数字集成电路分为两大类:一类是 双极型集成电路

    2024年01月21日
    浏览(71)
  • 嵌入式Linux底层系统开发 +系统移植+内核文件系统(基础)

    搭建交叉编译开发环境 bootloader的选择和移植 kernel的配置、编译、移植和调试 根文件系统的制作 前两个要点通常芯片厂家提供。后边两个要点是公司的工作重点。 学习方法:先整体后局部,层层推进 如何编译—如何添加命令和功能—如何定义自己的开发板。 移植的基本步

    2024年02月03日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包