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

相关文章

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

webapp地址

F:\LSP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro