当前位置: 首页 > wzjs >正文

沈阳营销型网站湖南网络推广服务

沈阳营销型网站,湖南网络推广服务,中国制造网谷歌seo,临湘做网站0. 概述 autoas/as 工程的RTE(Runtime Environment)通过自动生成C代码,将各SWC(软件组件)之间的数据通信全部静态化、结构化,实现了类似“静态消息总线”的通信模型。所有端口的数据交换都必须经过RTE接口…

0. 概述

autoas/as 工程的RTE(Runtime Environment)通过自动生成C代码,将各SWC(软件组件)之间的数据通信全部静态化、结构化,实现了类似“静态消息总线”的通信模型。所有端口的数据交换都必须经过RTE接口完成,从而保证了组件之间的彻底解耦和AUTOSAR风格的分层设计。

1. RTE自动生成与代码主流程

1.1 配置与建模

  • 每个SWC用 Python 脚本(如 rte.py)描述端口(P-Port / R-Port)、Runnable(行为)等。
  • 这些脚本定义了端口名称、方向、数据类型、定时事件等信息,作为RTE代码生成的输入。

1.2 RTE生成工具

  • 工程中的 tools/generator/Rte.py 脚本会读取配置,自动导入并执行各 SWC 的 rte.py
  • 这些脚本会调用 main(genDir),输出针对每个 SWC 的 RTE C 代码和头文件。

1.3 生成的RTE代码内容

  • 生成的C代码(如 Rte_SwcTelltale.c)会包括:
    • 端口数据的静态变量(数据缓冲区)
    • 针对每个端口的读写函数(如 Rte_Write_TPMS(...)Rte_Read_TPMS(...)Rte_Write_Led1Sts(...)Rte_Read_Led1Sts(...)
    • Runnable 相关的调度函数和事件定义

2. 端口访问机制(静态“消息总线”)

  • 每个端口的数据都用静态C变量存储。
  • 写端口:调用RTE生成的写函数,将数据写入对应变量。
  • 读端口:调用RTE生成的读函数,从变量读取数据。
  • 所有SWC都通过这些RTE函数访问数据,实现了解耦和统一调度。

3. 代码与建模示例

3.1 Python建模

class Telltale(autosar.Template):@classmethoddef addPorts(cls, swc):swc.apply(TPMS.Send)        # P-Portswc.apply(Led1Sts.Receive)  # R-Port@classmethoddef addBehavior(cls, swc):swc.behavior.createRunnable('Telltale_run', portAccess=[...])swc.behavior.createTimingEvent('Telltale_run', period=20)

3.2 生成的C代码

static OnOff_T TPMS_Buffer;      // 静态缓冲区
static OnOff_T Led1Sts_Buffer;   // 静态缓冲区Std_ReturnType Rte_Write_TPMS(OnOff_T value) {TPMS_Buffer = value;return E_OK;
}
Std_ReturnType Rte_Read_TPMS(OnOff_T* value) {*value = TPMS_Buffer;return E_OK;
}
Std_ReturnType Rte_Write_Led1Sts(OnOff_T value) {Led1Sts_Buffer = value;return E_OK;
}
Std_ReturnType Rte_Read_Led1Sts(OnOff_T* value) {*value = Led1Sts_Buffer;return E_OK;
}
  • SWC通过Rte_Write_TPMSRte_Read_TPMS完成TPMS端口数据的写入和读取。
  • 通过Rte_Write_Led1StsRte_Read_Led1Sts完成Led1Sts端口的数据通信。
  • 数据存储在静态变量,实现“静态消息总线”功能。

4. 端口数据交换的原理与时序

4.1 背景说明

  • AUTOSAR架构下,SWC间不能直接访问彼此的数据,而只能通过端口通信。
  • 端口是数据传递的通道,例如SWC_A有P-Port(输出),SWC_B有R-Port(输入),二者通过端口和RTE关联。
  • 所有数据交换都必须通过RTE接口(如Rte_Write_TPMS、Rte_Read_TPMS、Rte_Write_Led1Sts、Rte_Read_Led1Sts)进行。

4.2 场景举例与流程

假设有两个SWC:

  • SWC_A(发送者):有P-Port(如TPMS输出)
  • SWC_B(接收者):有R-Port(如Led1Sts输入)
数据流动流程
  1. SWC_A想要发送TPMS数据
    • SWC_A调用Rte_Write_TPMS(value),不是直接赋值给SWC_B的变量。
  2. RTE接口实现
    • Rte_Write_TPMS函数把数据写入RTE内部的静态缓冲区(如TPMS_Buffer)。
  3. SWC_B想要读取TPMS数据
    • SWC_B不直接访问SWC_A变量,而是调用Rte_Read_TPMS(&value)
  4. RTE接口实现
    • Rte_Read_TPMS函数从RTE缓冲区读取SWC_A写入的数据,返回给SWC_B。

同理,Led1Sts端口的通信流程一致。

5. Mermaid逻辑结构与时序图

5.1 静态结构图

SWC_B
RTE
SWC_A
写入数据
赋值给
读取数据
读取自
调用 Rte_Read_TPMS
静态变量 TPMS_Buffer
Rte_Write_TPMS
Rte_Read_TPMS
调用 Rte_Write_TPMS

说明:

  • SWC_A 用 RTE 的写函数写入TPMS端口数据,数据保存在 RTE 的静态变量中。
  • SWC_B 用 RTE 的读函数读取TPMS端口数据,读取的就是同一份静态变量,实现“总线”式数据传递。

5.2 时序图

SWC_A RTE SWC_B Rte_Write_TPMS(value) RTE将value存入TPMS_Buffer Rte_Read_TPMS(&value) RTE从TPMS_Buffer取出数据 返回最新的value SWC_A RTE SWC_B

6. 详细说明与总结

  • SWC_A 只管调用RTE提供的写接口,不关心谁会用数据,也不知道数据会被谁用。
  • RTE 就像一个中介或“数据中转站”,把数据缓存在自己的缓冲区里。
  • SWC_B 只管调用RTE的读接口,不关心数据是哪里来的,只管要。
  • 整个过程中,SWC_A和SWC_B完全没有直接联系,一切都通过RTE接口完成。

代码片段示意

// 写入端口数据
Std_ReturnType Rte_Write_TPMS(OnOff_T value) {TPMS_Buffer = value;return E_OK;
}// 读取端口数据
Std_ReturnType Rte_Read_TPMS(OnOff_T* value) {*value = TPMS_Buffer;return E_OK;
}
  • SWC_A调用Rte_Write_TPMS(new_value);,数据写进RTE缓冲区。
  • SWC_B调用Rte_Read_TPMS(&myValue);,从RTE缓冲区读取数据。

总结

“端口的所有数据交换都通过RTE接口完成”就是:每个软件组件之间的数据传递,都必须通过RTE生成的读写接口函数,数据实际存放在RTE的缓冲区里,谁也不能直接访问别人的数据,所有交互都是中转。

这种设计保证了组件间彻底解耦,便于管理、测试和安全性分析,也使得@autoas/as工程的RTE如同一个静态高效的消息总线,完全契合AUTOSAR的分层和解耦思想。

http://www.dtcms.com/wzjs/406275.html

相关文章:

  • 乐清市住房和城乡建设规划局网站广州王牌seo
  • 兰州论坛网站建设网络优化培训
  • 商丘网站优化最近新闻头条最新消息
  • 佛山网站建设是哪个青岛seo公司
  • 用asp做网站的流程怎么推广游戏叫别人玩
  • 免费企业网站css模板app推广活动策划方案
  • 做视频网站公司要怎么做竞价推广网络推广运营
  • 绍兴网站seo知识搜索引擎
  • 动漫制作与设计专业班级优化大师学生版
  • 用哪个程序做网站收录好6福清seo
  • 网站怎么添加关键词长春seo快速排名
  • 武汉做网站优化公司seo是什么意思网络用语
  • wordpress 插件卸载武汉网站设计十年乐云seo
  • 网站建设信息稿百度推广开户价格
  • 网站建设 长春老司机们用的关键词有哪些
  • 做双语网站百度竞价是seo还是sem
  • 做融资的网站有哪些百度seo原理
  • 怎样创建个人购物网站网络营销策划公司
  • 做网站开发的商标注册多少类百度招聘官网首页
  • 温州网站设计公司厦门seo总部电话
  • 做网站和微信小程序今天今日新闻头条最新消息
  • 成都网站制作公司电话惠州seo排名优化
  • 苏州网站建设自学网页查询
  • 珠海动态网站制作外包关键词排名查询软件
  • 东莞易宣网站建设公司怎么样seo综合查询怎么用的
  • 淘宝客不建立网站怎么做2023b站免费推广入口游戏
  • 好网站你知道创建自己的网页
  • 工程建设信息网站资质公告网站外链购买
  • 开发app的网站有哪些推广方法有哪几种
  • 电子商务在线网站建设高质量内容的重要性