[AutoSar]工程中的cpuload陷阱(一)

关键词

嵌入式、C语言、autosar

平台说明

项目Value
OSautosar OS
autosar厂商vector
芯片厂商TI
编程语言C,C++
编译器HighTec (GCC)

在这里插入图片描述
>>>>>回到总目录<<<<<<

背景

在autosar工程中一些影响cpuload的配置,该配置可能在对项目的性能需求没影响,但是会占用额外的cpuload。

一、OS Timer

OS Timer用于为OSSystem Timer 提供时间基准。

1.1Periodic Interrupt Timer (PIT)与 High Resolution Timer (HRT)

1.1.1 配置

High Resolution Timer (HRT)
在这里插入图片描述
Periodic Interrupt Timer (PIT)
在这里插入图片描述

1.1.2 HRT 与 PIT区别

PIT Periodical Interrupt Timer

①周期固定
②一个 tick 增加一个counter
③分辨率越高中断的频率就越高

High Resolution Timer (HRT)

①非周期ticks
②根据上一次的持续时间增加ticks
③可以在下一个周期重新定义持续时间
④可以用更低的中断频率实现更高的精度

在这里插入图片描述

PITHRT
IRQperiodicalOn demand
Precision(Alarms, schedule tables)Multiples of OsSecondsPerTickAny time the timer hardware can provide
Interrupt LoadConstant equally distributedConstant equally distributed

1.1.3 HRT 和 PIT的选用

根据项目需求、定周期和非定期任务选用。
在这里插入图片描述

1.1.4 HRT 和 PIT 对cpuload 的影响

HRT对资源的消耗大约为PIT的一倍以上。
在这里插入图片描述

二、CS interface server runnable mapping

2.1CS 端口使用

在这里插入图片描述

通常用于两个component之间的调用,三种使用方法:
①连线后只在config中task mapping client 端runnabl,不mapping server端runnable。(核内)
②连线后只config中task mapping client 端runnabl 且 mapping server端runnable。(核内)
②连线后在config中task mapping client 端runnabl 且 mapping server端runnable。(跨核)

2.2三种方式代码区别

2.2.1 核内不mapping

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.2 核内mapping

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.3 跨核mapping

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 不同方式对cpuload 的影响

2.3.1 核内不mapping

因为没经过RTE层,直接调用的,消耗较少CPUload
在这里插入图片描述

2.3.2 核内mapping

因经过了RTE,消耗较多cpuload
在这里插入图片描述

2.3.3 跨核mapping

因为在不同核,要考虑x- signal,spinlock等,消耗大量cpuload
在这里插入图片描述

2.4 小结

从上可以看出不mapping消耗cpuload最小,同核mapping消耗为前者一百倍,跨核mapping消耗为同核mapping的四倍。

>>>>>回到总目录<<<<<<

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值