xilinx Mailbox 中的ipi message地址计算方式

2024-04-25 00:12

本文主要是介绍xilinx Mailbox 中的ipi message地址计算方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

适用于openAmp mailbox ipi id对应的ipi message地址计算方式

官方openamp硬件配置解析 OpenAMP Base Hardware Configurations - Xilinx Wiki - Confluence

openamp官方设备树 meta-openamp/meta-xilinx-tools/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi at rel-v2022.1 · Xilinx/meta-openamp · GitHub

一 推导versal ipi地址换算方式

versal系列文档 AMD Technical Information Portal

可以从上面得知,ipi1基地址是0xff3f0600 并通过这个地址划分了512字节大小。从上面知道每一个通道会划分每一个32字节给其他通道通信,并依顺序排序为psm,pmc,IPi0, ipi1, .....

因此在ipi1要跟ipi3交互的地址为: 0xff3f0600+140, 0xff3f0600+160, 得到上述ipimessage地址 0xff3f0740,0xff3f0760

以此类推,ipi3 基地址是0xff3f0a00, 其跟ipi1通信的地址为 0xff3f0a00+0c0, 0xff3f0a00+0e0,

得到上述设备树中的0xff3f0ac0,0xff3f0ae0

二 推导zynqmp ipi地址换算方式

 ug1085最新文档 AMD Technical Information Portal

根据上述versal文档和zynqmp文档(上述图片知道)ipi meassge地址划分:实际上从上述图片看,ch7地址为0xff990600,指向的ch1:0xff990640,0xff990660,

ch1地址为0xff990000 , 指向的ch7:0xff9900c0 ,0xff9900e0

但是从官方以下图片设备树看,ch7→ch1通信地址为0xff990600 0xff990620 因此判断ch1应该是每一组通道排在第一组的,类似versal中的psm,而非ch0为第一组。其他地址划分以此类推

但是上述明显写着ch0 为 Si agent number = 1。因此个人觉得是下面设备树ch7→ch1地址写的有问题

三 openAmp 搭建双核异构通信参考链接:linux 2021版本

非petallinux操作的xilinx zynqmp openamp核间通信框架搭建核测试(APU :linux2021 + rpu1(裸机))-CSDN博客

这篇关于xilinx Mailbox 中的ipi message地址计算方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933228

相关文章

虚拟机与物理机的文件共享方式

《虚拟机与物理机的文件共享方式》文章介绍了如何在KaliLinux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供... 目录虚拟机与物理机的文件共享1 虚拟机设置2 验证Kali下分享文件夹功能是否启用3 创建挂载目录4

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

MYSQL行列转置方式

《MYSQL行列转置方式》本文介绍了如何使用MySQL和Navicat进行列转行操作,首先,创建了一个名为`grade`的表,并插入多条数据,然后,通过修改查询SQL语句,使用`CASE`和`IF`函... 目录mysql行列转置开始列转行之前的准备下面开始步入正题总结MYSQL行列转置环境准备:mysq

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red