Zynq中断与AMP~双核串口环回之PS与PL通信
实现思路:
额外配置:通过PL配置计数器,向CPU0和CPU1发送硬中断。
1.串口中断CPU0,在中断中设置接收设置好字长的数据,如果这些数据的数值符合约定的命令,则关闭硬中断,并将这部分数据存入AxiLite配置的ram中,完成以后发送软中断中断CPU1。
2.CPU1收到软中断后,读取指定的ram数值,校验以后将其写入ram2中,如果这里不做换回可以写入其他的。写完以后发送中断给CPU0。
3.CPU0接收到中断,读取ram2的数据,并且完成发送。

部分代码:
其中读写Bram的代码可参考:
Axi_Lite接口的IP核与地址与缓冲与AxiGP0-CSDN博客
CPU0中配置的Uart中断回调函数
设置的是超时中断触发,set阈值那个不太好用。
void Uart0_IntrHandler(void *CallBackRef, u32 Event, unsigned int EventData)
{if (Event == XUARTPS_EVENT_RECV_TOUT) {TotalReceivedCount = EventData;if (TotalReceivedCount == 8 && RecvBuffer[0] == 0x55 && RecvBuffer[1] == 0x55&& RecvBuffer[2] == 0x00 && RecvBuffer[3] == 0x01){XScuGic_Disable(&GIC_SGI_instance_point, Interrupt_ID_Hardware_1);XScuGic_Disable(&GIC_SGI_instance_point, Interrupt_ID_Hardware_0);Axi_WriteRamA(RecvBuffer,TotalReceivedCount);printf("Close SPI\n\r");XScuGic_SoftwareIntr(&GIC_SGI_instance_point,Interrupt_ID_SGI_15,XSCUGIC_SPI_CPU1_MASK);}else if(TotalReceivedCount == 8 && RecvBuffer[0] == 0x66){XScuGic_Enable(&GIC_SGI_instance_point, Interrupt_ID_Hardware_0);printf("Open SPI\n\r");}}XUartPs_Recv(&Uart_Instance_point, RecvBuffer, TEST_BUFFER_SIZE);
}
CPU1的软中断回调函数
void SGI_IntrHandler(void *CallBackRef){u32 origin_command;print("SG1!\n\r");Axi_ReadRamA(COMMAND_BUFFER,8);if(COMMAND_BUFFER[4]==0x04 && COMMAND_BUFFER[5] == 0x05 && COMMAND_BUFFER[6]==0x06 && COMMAND_BUFFER[7] == 0x07){Axi_WriteRamB(COMMAND_BUFFER,8);XScuGic_SoftwareIntr(&GIC_SGI_instance_point, Interrupt_ID_SGI_14, CPU_id_0);}
}
CPU0的软中断回调函数
void SGI_IntrHandler(void *CallBackRef){Axi_ReadRamB(SendBuffer,8);XUartPs_Send(&Uart_Instance_point, SendBuffer, 8);print("SG0!\n\r");
}
相关文章:
Zynq中断与AMP~双核串口环回之PS与PL通信
实现思路: 额外配置:通过PL配置计数器,向CPU0和CPU1发送硬中断。 1.串口中断CPU0,在中断中设置接收设置好字长的数据,如果这些数据的数值符合约定的命令,则关闭硬中断,并将这部分数据存入AxiLi…...
【一:实战开发testng的介绍】
目录 1、主要内容1.1、为啥要做接口测试1.2、接口自动化测试落地过程1.3、接口测试范围1.4、手工接口常用的工具1.5、自动化框架的设计 2、testng自动化测试框架基本测试1、基本注解2、忽略测试3、依赖测试4、超时测试5、异常测试6、通过xml文件参数测试7、通过data实现数据驱动…...
C现代方法(第9章)笔记——函数
文章目录 第9章 函数9.1 函数的定义和调用9.1.1 函数定义9.1.2 函数调用 9.2 函数声明9.3 实际参数9.3.1 实际参数的转换9.3.2 数组型实际参数9.3.3 变长数组形式参数(C99)9.3.4 在数组参数声明中使用static(C99)9.3.5 复合字面量 9.4 return语句9.5 程序终止9.5.1 exit函数 9.…...
【算法练习Day23】 复原 IP 地址子集子集 II
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 复原 IP 地址子集子集 II总…...
fastadmin框架token验证
在FastAdmin框架中,Token验证是一种常见的身份验证方法,用于确保用户请求的安全性和合法性。本文将介绍如何在FastAdmin框架中实现Token验证。 什么是Token验证? Token验证是一种基于令牌(Token)的身份验证方式。在这种方式下,用…...
了解 AI :了解 AI 方面的一些术语 (中英文对照)
本心、输入输出、结果 文章目录 了解 AI :了解 AI 方面的一些术语 (中英文对照)前言AI 方面的一些术语 (中英文对照)AI 方面的一些术语 (中英文对照) - 文字版弘扬爱国精神 了解 AI :…...
【Python学习笔记】对象、方法
1. 对象方法定义 对象通常都拥有属于自己的 方法(英文叫 method )。 对象的方法其实可以看成是对象所拥有的函数。也就是说 这个方法,是属于这个对象的函数。 调用对象的方法,和调用函数差不多,只要在前面加上 所属…...
企业IT资产设备折旧残值如何计算
环境: 企业/公司 IT资产 问题描述: 企业IT设备折旧残值如何计算? 解决方案: 1.按三年折旧 净值原值-月折旧额折旧月份 , 月折旧额原值(1-3%)/36 折旧月份ROUND(E2*(1-3%)/36,2) 2.净值E2-F2*G2...
Linux性能优化--性能工具:下一步是什么
13.0 概述 本章是对一些事情的思索,包括:Linux性能工具的当前状态,哪些仍需要改进以及为什么Linux是当前一个相当不错的进行性能调查的平台。 阅读本章后,你将能够: 了解Linux性能工具箱的漏洞,以及一些理…...
网工内推 | IT主管、高级网工,上市公司,必须持有HCIE认证
01 深圳市飞荣达科技股份有限公司 招聘岗位:高级网络工程师 职责描述: 1. 参与、负责集团公司IT基础技术架构的规划设计、实施及维护、性能优化,包括数据中心机房、网络架构、虚拟化平台、信息安全设备及灾备系统等; 2. 负责集团…...
bulldog 靶机
bulldog 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 正在开发的如果你正在读这篇文章,你很可能是Bulldog Industries的承包商。恭喜你!我是你们的新老板,组长艾伦布鲁克。CEO解雇了整个开发团队和员工。因此,我们需要迅速招到一…...
如何借助边缘智能网关打造智慧城市便民驿站
智慧城市驿站是一类提供多样化便利服务的新型智能公共设施,通过融合物联网技术、边缘智能技术、新能源技术等,为城市居民整合提供休闲、购物、卫生、广告、安全等公共服务,进一步提升日常生活体验。本篇就为大家介绍如何基于边缘智能网关&…...
谈谈电商App的压测
背景 最近恰逢双十一,大大小小的电商app在双十一之前都会做一次压测,曾经在小公司工作的时候很想知道大公司是如何压测的,有什么高深的压测工具没,本文就来揭露一下 压测真相 在确认使用什么压测工具进行压测之前,我…...
VsCode修改侧边栏字体大小——用缩放的方法
缩放界面字体百分比(包括编辑器界面) 如果只修改文本编辑区的字体大小,可以在File -> Preferences -> Settings 中修改font的大小。但是侧边栏的字体不会改变,所以可以使用缩放的方法先修改整个界面的字体大小,…...
基于Java的农资采购销售管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...
【AIGC核心技术剖析】扩大富有表现力的人体姿势和形状估计SMPLer-X模型
富有表现力的人体姿势和形状估计 (EHPS) 将身体、手和面部运动捕捉与众多应用结合起来。尽管取得了令人鼓舞的进展,但当前最先进的方法仍然在很大程度上依赖于有限的训练数据集。在这项工作中,我们研究了将 EHPS 扩展到第一个通用基础模型(称为 SMPLer-X),以 ViT-Huge 作为…...
【C++面向对象】1. 类、对象
文章目录 【 1. 类 & 对象的定义 】1.1 类的定义1.2 对象的定义 【 2. 类的成员 】2.1 数据成员2.2 成员函数类的内部定义成员函数类的外部定义成员函数成员函数的访问实例 【 3. 类的访问修饰符 】3.1 public 公有成员3.2 private 私有成员3.3 protected 保护成员3.4 继承…...
PAM从入门到精通(十三)
接前一篇文章:PAM从入门到精通(十二) 本文参考: 《The Linux-PAM Application Developers Guide》 先再来重温一下PAM系统架构: 更加形象的形式: 五、主要函数详解 11. pam_open_session 概述&…...
Stable Diffusion WebUI几种解决手崩溃的方法
1. 添加与手相关负面提示词 如何提价提示词呢? 首先有一个embeddings模型文件bad-hands-5,我们可以去各个大模型网站去搜,我是在C站上面下载的。 附上C站地址:https://civitai.com/ 下载好之后,你需要将文件放入stable-diffusion-webui\embeddings目录中。位置如下所示…...
kr 第三阶段(一)16 位汇编
为什么要学习 16 位汇编? 16 位汇编包含了大部分 32 位汇编的知识点。有助于在学习内核的两种模式。 实模式:访问真实的物理内存保护模式:访问虚拟内存 有助于提升调试能力,调试命令与 OllyDbg 和 WinDebug 通用。可以学习实现反…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
