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

AutoSar AP CM中的序列化总结

一、序列化的概念

Serialization(见 [11])是将特定数据结构转换为标准化格式以便在发送方和接收方之间进行交换的过程。在网络通信中,当数据在网络节点间传输时,必须遵循商定好的规则才能在接收方正确解释数据。这是因为进行通信的模块可能基于不同字节序和数据字大小的微控制器,具有不同的对齐方式。

二、AUTOSAR CP 中的序列化

在 AUTOSAR CP 中,Serialization 在节点内部通信中不起作用,内部内存数据可直接从发送方复制到接收方,这基于三个假设:

  1. 所有本地软件组件(SWC)的字节序相同。通常 “内部” 通信在单核或多核微控制器及多处理器系统中字节序相同,只有在不同微控制器系列的 CPU 组成的系统中此假设可能无效。
  2. 所有本地 SWC 中某些数据结构的对齐方式一致。在 CP 中,整个单地址空间系统的静态映像由源文件或目标文件构建,要求映像不同部分的编译器设置保持一致。
  3. 交换的数据结构在内存中是连续的。在 CP 中不允许软件组件间通信使用非连续数据类型建模。

三、AUTOSAR AP 中的序列化

在 AUTOSAR AP 中情况不同。运行时加载可执行文件是受支持的用例,不同的 ara::com 应用程序编译器设置在对齐决策方面可能不同,所以 AP 产品的 IPC 绑定实现必须支持交换数据的序列化,其序列化方式由 AP 供应商决定。AP 对数据类型限制较少,例如支持交换 std::map 等非连续数据类型,传输时需进行深拷贝。产品供应商可采用优化策略消除通信路径中的序列化和反序列化阶段,如允许系统集成商配置对齐兼容性、通过交换检查模式验证对齐设置、提供关心连续性的向量实现避免深拷贝问题。

四、零拷贝影响

在 IPC / 中间件实现中,避免数据发送方和接收方之间不必要的复制是性能优化的首要任务之一,“零拷贝” 被广泛用于描述这种模式。在 AP 中,对单独进程中运行的应用程序提供内存保护,典型通信方法需至少一次数据复制,高度优化的 IPC / 中间件实现可通过设置共享内存区域消除单一复制步骤,但如果产品供应商不解决序列化问题,就无法从共享内存方法中受益,无法实现 “零拷贝”。


http://www.mrgr.cn/news/68829.html

相关文章:

  • 虚幻引擎 CEO 谈元宇宙:发展、策略与布局
  • 【C++】——继承
  • 实现 Nuxt3 预览PDF文件
  • VMware Workstation安装Centos系统
  • C++中sizeof运算符的案例分析
  • C语言心型代码解析
  • C++builder中的人工智能(10)神经网络中的Sigmoid函数
  • 苍穹外卖day09超出配送范围前端不提示问题
  • 367.有效地完全平方数
  • HCIP MPLS基础
  • 【JavaScript】网络请求之Promise fetch Axios及异步处理
  • YOLO11 旋转目标检测 | 数据标注 | 自定义数据集 | 模型训练 | 模型推理
  • 新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
  • C++代码优化(二): 区分接口继承和实现继承
  • 小白docker入门简介
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷
  • AI 大模型重塑软件开发:从代码自动生成到智能测试
  • 深度学习:bert模型
  • C#-里氏替换原则
  • 2.Python解释器
  • 抗辐照CANFD芯片工艺解析:如何保障芯片的可靠性
  • Python操作Excel
  • 1.python介绍、安装
  • _处理匿名命名空间里的变量时进入硬件中断错误
  • Scaffold-ETH 2:颠覆传统开发的区块链神器,快速构建你的去中心化应用!
  • 基于毫米波雷达和TinyML的车内检测、定位与分类