RTA-OS Port Guide学习(四)-基于S32K324 OS

news2024/11/27 9:33:44

文章目录

    • 前言
    • Performance
      • Measurement Environment
      • RAM and ROM Usage for OS Objects
        • Single Core
        • Multi Core
      • Stack Usage
      • Library Module Sizes
        • Single Core
        • Multi Core
      • Execution Time
        • Context Switching Time
    • 总结

前言

前面一篇文章介绍了硬件的一些特性,本文为最后一节,主要介绍该OS port的性能

Performance

本章提供了RTA-OS内核的功能、性能和内存需求的详细信息。RTA-OS具有高度可扩展性。因此,当应用程序使用不同的特性集时,将获得不同的图形。本章给出的数字是基于以下配置的S32K ARMV7/GHS Port的代表:

  • 系统中有32个任务task
  • Standard build is used
  • Stack monitoring is disabled
  • Time monitoring is disabled
  • 没有调用任何hooks
  • 任务有唯一的优先级
  • Tasks are not queued (i.e. tasks are BCC1 or ECC1)
  • 所有任务在其入口函数中终止/等待
  • 任务和isr不保存任何辅助寄存器(例如,浮点寄存器)
  • 资源只能由任务共享
  • 资源RES_SCHEDULER的生成被禁用

Measurement Environment

本章测量的硬件环境如下:
在这里插入图片描述

RAM and ROM Usage for OS Objects

每个操作系统对象都需要一些ROM和/或RAM。操作系统对象由RTAOSGen生成并放置在RTA-OS库中。主要是:

—Os_Cfg_Counters包括 counters, alarms and schedule tables。

—Os_Cfg包含大多数操作系统对象的数据

Single Core

下表给出了一个简单的单核配置中每个OS对象的ROM和/或RAM需求(以字节为单位)。请注意,对象大小将根据项目配置和编译器打包问题而变化
在这里插入图片描述

Multi Core

下表给出了一个简单的多核配置中每个OS对象的ROM和/或RAM需求(以字节为单位)。请注意,对象大小将根据项目配置和编译器打包问题而变化。
在这里插入图片描述

Stack Usage

RTA-OS中每个Task/ISR使用的堆栈量等于Task/ISR主体中使用的堆栈量加上RTA-OS保存的上下文。RTA-OS保存的运行时上下文的大小取决于Task/ISR类型和确切的系统配置。获得Task/ISR堆栈使用的正确值的唯一可靠方法是调用Os_GetStackUsage() API函数。

请注意,由于RTA-OS使用单堆栈体系结构,所有任务的运行时上下文驻留在同一堆栈上,并在任务终止时恢复。
因此,互斥任务(例如,共享内部资源的任务)的运行时上下文被有效地覆盖。这意味着worst cases下的堆栈使用率可以显著小于系统中每个对象worst cases的总和。RTA-OS工具会自动为您计算worst cases下堆栈的总使用量,并将其作为配置报告的一部分呈现
在这里插入图片描述
需要配置stack usage,实际生成的txt基本没啥用

Library Module Sizes

Single Core

RTA-OS内核是需求链接的。这意味着每个API调用都被放置到一个单独的可链接模块中。下表列出了标准状态下简单单核配置的每个API模块的节大小(以字节为单位)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单核的中断向量使用链接段为:os_vectors

Multi Core

RTA-OS内核是需求链接的。这意味着每个API调用都被放置到一个单独的可链接模块中。下表列出了标准状态下简单多核配置的每个API模块的节大小(以字节为单位)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双核的中断向量使用链接段为:os_vectors_0和os_vectors_1

Execution Time

下表给出了CPU周期内的执行时间,即处理器程序计数器的刻度。这些数字通常与CPU的时钟频率无关。要在CPU周期和SI时间单位之间进行转换,可以使用以下公式:

Time in microseconds = Time in cycles / CPU Clock rate in MHz

例如,需要50个CPU周期的操作将是:stopwatch
—在20MHz = 50/20 = 2.5µs

—在80MHz = 50/80 = 0.625µs

—在150MHz = 50/150 = 0.333µs

尽管使用stopwatch以与CPU时钟相同的速率来测量执行时间,但这在目标硬件上并不总是可行的。

如果stopwatch运行速度比CPU时钟慢,那么当RTA-OS读取stopwatch时,由于CPU时钟和stopwatch之间的分辨率差异,读取的时间可能小于实际经过的时间(用户指南提供了关于执行时间测量不确定性问题的进一步详细信息)

Context Switching Time

任务切换时间是指前一个任务的最后一条指令与下一个任务的第一条指令之间的时间。切换时间取决于切换上下文(例如ActivateTask()和ChainTask())。

中断延迟是中断请求被目标硬件识别到执行用户提供的处理程序函数的第一条指令之间的时间:

对于1类isr,这是硬件识别中断所需的时间。

对于第2类ISR,这是硬件识别中断所需的时间加上RTA-OS设置ISR运行的上下文所需的时间。

在这里插入图片描述
在这里插入图片描述
上述时间基于240M CPU Clock
在这里插入图片描述
在这里插入图片描述
由上表可知,E,F,J,K花费时间较长(主要是WaitEvent和SetEvent及二类中断切换),常规的task任务切换花费时间较短。

总结

OS中还有很多需要学习的地方,比如alarm,核间通讯的实现,任务的上下文切换等。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国内目前顶级的哲学教授颜廷利:全球公认十个最厉害的思想家

国内目前顶级的哲学教授颜廷利:全球公认十个最厉害的思想家 颜廷利,字弃安,号求前,山东济南人,当代著名思想家、哲学家、教育家、易经心理学家、中国第一起名大师、国际权威易学大师、中国汉字汉语研究专家、现代最著…

什么是数字化智能工厂的组成

二、数字化智能工厂的主要功能组成 数字化智能工厂主要由以下几个功能部分组成: 自动化生产设备:包括机器人、智能传感器、可编程逻辑控制器(PLC)等,用于实现生产过程的自动化操作,减少人力依赖&#xff0…

[C#]C# winform部署yolov11-pose姿态估计onnx模型

【算法介绍】 在C# WinForms应用中部署YOLOv11-Pose姿态估计ONNX模型是一项具有挑战性的任务。YOLOv11-Pose结合了YOLO(You Only Look Once)的高效物体检测算法和Pose Estimation(姿态估计)专注于识别人体关键点的能力&#xff0…

移动WSL到其他盘

1、首先下载 Move WSL 工具包,并解压。(https://github.com/pxlrbt/move-wsl/archive/refs/heads/master.zip) 2、管理员身份运行Windows PowerShell。 3、在PowerShell中运行如下命令,停止正在运行的Linux子系统。 wsl --shutd…

柯桥商务英语口语-work-shy 是什么意思?不要理解成“工作害羞”!

ork工作,shy是害羞,那么,work-shy是什么意思? 其实在 "work-shy" 这个短语中,"shy" 的意思并不是害羞,而是表达一种躲避、逃避的意思。 "work-shy" 表示对工作有一种躲避、…

深度学习基础—交并比与非极大值抑制

1.交并比 (1)定义 交并比是用来衡量目标检测算法的表现的函数。定义如下: 用预测框和真实框的面积的交集除以预测框和真实框的面积的并集,得到的结果本次算法预测的交并比。研究函数可以发现,交并比的范围为[0,1]&…

cnn突破七(四层bpnet网络公式与卷积核bpnet公式相关)

我们要有一个概念,就是卷积核就是我们的w1,w12,w2 那么我们的5*5卷积核怎么表达,当他在14*14的图像中流动时,对应的像素也在变化 这个和我们的上面w1,w12,w2不同,因为这几个都是全…

测绘地理信息赋能新质生产力

在信息化与智能化浪潮的推动下,测绘地理信息作为连接现实世界与数字空间的桥梁,正逐步成为驱动经济社会发展的新质生产力。本文旨在深入探讨测绘地理信息如何通过技术创新与应用拓展,为各行各业赋能,塑造智慧社会的新面貌。 一、…

word无法复制粘贴

word无法复制粘贴 使用word时复制粘贴报错 如下: 报错:运行时错误‘53’,文件未找到:MathPage.WLL 这是mathtype导致的。 解决方法 1)在mathtype下载目录下找到"\MathType\MathPage\64"下的"mathpa…

第T3周:CNN实现天气识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 搭建CNN网络模型实现多云、下雨、晴、日出四种天气状态的识别,并用真实天气做预测 具体实现: (一&#x…

Win10照片查看器不见了怎么办?

刚换了电脑,发现查看图片默认打开是window画图工具,看图竟然需要一张一张打开,超级不方便。右键图片选择打开方式也不见照片查看器,window自带的看图工具去哪儿了? 不要着急,我们可以把它找回来&#xff0…

windows下DockerDesktop命令行方式指定目录安装

windows下DockerDesktop指定目录安装(重新安装) 因为DcokerDesktop占用内存较大, 并且拉去镜像后占用本地空间较多,所以建议安装时就更改默认安装路径和镜像存储路径 这里,展示了从下载到安装的过程: 首先下载DcokerDesktop;找到Docker Desktop Installer.exe 并重命名为 do…

万界星空科技MES数据集成平台

制造执行系统MES作为连接企业上层ERP系统和现场控制系统的桥梁,承担了实时数据采集、处理、分析和传递的重要任务。MES数据集成平台是一个集成各类数据源,将数据进行整合和统一管理的系统,通过提供标准化接口和协议,实现数据的无缝…

上海交通大学《2022年+2023年816自动控制原理真题》 (完整版)

本文内容,全部选自自动化考研联盟的:《上海交通大学816自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2022年真题 2023年真题 Part1:2022年2023年完整版真题 2022年真题 2023年…

强大的JVM监控工具

介绍 在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的 名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用…

github上下载ultralytics代码报错

1.在GitHub上下载ultralytics的yolo源代码使用,报错提示找不到ultralytics 2.主要原因引用的路径不对 3.解决的办法,只复制ultralytics中ultralytics文件夹到项目中,其他的文件夹是不需要的。

【电路】1.1 实际电路和电路模型

1.1 实际电路和电路模型 科学理论的研究对象是现实世界背后的抽象世界,如: 数学中的 ∞ \infty ∞,经典力学中“质点”的概念,牛顿运动定律(如惯性定律,如果一个物体不受外力情况下,一直保持匀…

虚拟机ip突然看不了了

打印大致如下: 解决办法 如果您发现虚拟机的IP地址与主机不在同一网段,可以采取的措施之一是调整网络设置。将虚拟机的网络模式更改为桥接模式,这样它就会获得与主机相同的IP地址,从而处于同一网段。或者,您可以使用…

主播齐聚 “崆峒好物 国庆有礼” 直播活动

2024 年 10 月,一场充满活力与意义的 “崆峒好物 国庆有礼” 直播活动盛大开启,吸引了多位知名主播的积极参与,其中甘肃耀龙、会宁马千、老杨助农、零零发、农民助农等主播的加入,更是为这场活动增添了绚丽的色彩。 甘肃耀龙&…

Python异常处理中的9个常见错误及其解决办法,建议收藏

在Python编程中,异常处理是确保程序健壮性和可靠性的重要部分。然而,在使用异常处理时,开发者可能会犯一些常见的错误。以下是9个常见的异常处理错误及其解决办法: 1. 语法错误 (SyntaxError) 语法错误是最常见的错误之一。它通…