【DaVinci Developer学习笔记】3-ExclusiveArea

目录

3.1  前言

3.2  ExclusiveArea介绍

3.2.1  Runs In

3.2.2  Can Enter

3.1  前言

        由于在网络上关于DaVinci Developer的文章内容实在很少,官方文档又生涩难懂,故而在此分享本人在日常学习Developer操作过程中的理解与总结,内容参考了AUTOSAR官方文档、Vector操作文档以及CSDN上已有的大佬的博客,望与诸君共同学习、共同交流、共同进步。

        如有疑误,望诸君多多海涵,在评论区下留言共同讨论!

       第3章内容主要介绍以Application Software Component为例的RunnableEntity中的专属区域ExclusiveArea,内容丰富全是干货,希望对大家有所帮助。

3.2  ExclusiveArea介绍

       点击“New”定义专属区域,其作用是:在该专属区域内的代码段执行不会被中断,常用于保护多个RunnableEntity间的共享资源。ExclusiveArea仅对RTE的调度策略和配置进行约束:

       如果两个或多个RunnableEntitys指向同一个ExclusiveArea,那么只有其中一个RunnableEntity被允许在该ExclusiveArea内执行

       换句话说:这些RunnableEntitys在ExlcusiveArea内执行时不能并发运行(相互抢占)。其配置界面如下图所示:

ExclusiveArea配置界面

3.2.1  Runs In

       若某RunnableEntity处于该访问模式下,则其总是在该ExclusiveArea中运行。可能会导致OS停摆的时间过长,由RTE帮忙完成ExlcusiveArea的进入和离开。

       如果存在两个RunnableEntity:‘r1’和‘r2’都运行在ExclusiveArea ‘s1’中,RTE应确保‘r1’和‘r2’永远不会并发运行;调度器不应该抢占‘r1’来运行‘r2’。

3.2.2  Can Enter

       Can Enter访问模式更为灵活,用户需要根据上下文的需求选择什么时候进入和离开Exclusive Area,RunnableEntity将显式地(Explicit,可理解为在代码段中能被用户看到)对其实现中的RTE进行API调用,这样OS停摆时间较短。

返回总目录

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值