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

网站怎么做直播功能.net做的学校网站

网站怎么做直播功能,.net做的学校网站,网站标签的作用,自学开发一个游戏app目录 1. 简介 2. 工程与代码解析 2.1 Vivado 工程 2.2 Vitis 裸机代码 2.3 关键代码解析 3. 总结 1. 简介 Zynq 中的中断可以分为以下几种类型#xff1a; 软件中断#xff08;Software Generated Interrupt, SGI#xff09;#xff1a;由软件触发#xff0c;通常…目录 1. 简介 2. 工程与代码解析 2.1 Vivado 工程 2.2 Vitis 裸机代码 2.3 关键代码解析 3. 总结 1. 简介 Zynq 中的中断可以分为以下几种类型 软件中断Software Generated Interrupt, SGI由软件触发通常用于CPU之间的通信。私有外设中断Private Peripheral Interrupt, PPI与每个CPU相关的中断如定时器和看门狗。共享外设中断Shared Peripheral Interrupt, SPI由多个设备共享可以被路由到任何一个CPU。 中断控制器GIC是Zynq中管理中断的核心组件负责中断的使能、屏蔽、优先级设置以及将中断信号发送到CPU1。 本文展示是一个中断处理示例记录如何在PS处理系统和PL可编程逻辑之间使用GPIO通用输入输出和中断。 2. 工程与代码解析 2.1 Vivado 工程 系统中断由多个系统元素生成并通过GIC代理GICPx_IRQ 寄存器广播到GICs、PMU以及PL中的输出信号。 我们重点关注PL中的输出信号 UG1085: System Interrupts Datasheet 中的描述的两组中断寄存器对于到 Zynq 配置页面示意图如下 如果查看 xparameters.h 文件可以看到 IRQ 对应的中断号 //AXI GPIO 中断号 121 #define AXI_GPIO_INTERRUPT_ID  XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR 2.2 Vitis 裸机代码 代码的主要功能包括 初始化配置PS端和PL端的GPIO设备包括设置方向和输出使能。中断系统设置初始化GIC通用中断控制器注册中断处理函数并设置中断优先级和触发类型。中断处理定义了一个中断处理函数IntrHandler当检测到AXI GPIO中断时会打印一条消息。 #include stdio.h #include xparameters.h #include xgpiops.h #include xgpio.h #include sleep.h #include xil_exception.h #include xscugic.h#define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID #define INTC_DEVICE_ID XPAR_SCUGIC_SINGLE_DEVICE_ID #define AXI_GPIO_DEVICE_ID XPAR_GPIO_0_DEVICE_ID//AXI GPIO 中断号 121 #define AXI_GPIO_INTERRUPT_ID XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR //AXI GPIO 通道 #define GPIO_CHANNEL1 1#define MIO7_LED 7 #define MIO36_KEY 36static void SetupInterruptSystem(XScuGic *GicInstancePtr, XGpio *AXI_Gpio,u16 AXI_GpioIntrId); static void IntrHandler();XGpioPs Gpio; /* The driver instance for GPIO Device. */ XScuGic Intc; /* The Instance of the Interrupt Controller Driver */ XGpio AXI_Gpio; /* The Instance of the GPIO Driver */static XGpioPs_Config *ConfigPtr; static XScuGic_Config *IntcConfig; /* Instance of the interrupt controller */int main() {u32 keyval;printf(AXI GPIO INTERRUPT TEST!\n\r);//由 ID 查找 PS 端器件并初始化ConfigPtr XGpioPs_LookupConfig(GPIO_DEVICE_ID);XGpioPs_CfgInitialize(Gpio, ConfigPtr, ConfigPtr-BaseAddr);//PS 端 GPIO 方向设置, 0 - Input, 1 - OutputXGpioPs_SetDirectionPin(Gpio, MIO7_LED, 1);XGpioPs_SetDirectionPin(Gpio, MIO36_KEY, 0);//PS 端设置输出使能0 - Disable, 1 - EnableXGpioPs_SetOutputEnablePin(Gpio, MIO7_LED, 1);//由 ID 查找 PL 端器件并初始化XGpio_Initialize(AXI_Gpio, AXI_GPIO_DEVICE_ID);//PL 端 GPIO 方向设置, 0 - Output, 1 - InputXGpio_SetDataDirection(AXI_Gpio, GPIO_CHANNEL1, 0x00000001);//设置中断系统SetupInterruptSystem(Intc, AXI_Gpio, AXI_GPIO_INTERRUPT_ID);while(1){keyval XGpioPs_ReadPin(Gpio, MIO36_KEY);XGpioPs_WritePin(Gpio, MIO7_LED, ~keyval);}return 0; }static void SetupInterruptSystem(XScuGic *GicInstancePtr, XGpio *AXI_Gpio,u16 AXI_GpioIntrId) {//根据GIC器件ID查找器件的配置信息并初始化IntcConfig XScuGic_LookupConfig(INTC_DEVICE_ID);XScuGic_CfgInitialize(GicInstancePtr, IntcConfig, IntcConfig-CpuBaseAddress);//初始化ARM处理器异常句柄Xil_ExceptionInit();//注册IRQ异常处理程序Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT,(Xil_ExceptionHandler)XScuGic_InterruptHandler,GicInstancePtr);//使能处理器中断Xil_ExceptionEnableMask(XIL_EXCEPTION_IRQ);//关联中断处理函数XScuGic_Connect(GicInstancePtr, AXI_GpioIntrId,(Xil_ExceptionHandler)IntrHandler,(void *)AXI_Gpio);//使能GIC器件中断XScuGic_Enable(GicInstancePtr, AXI_GpioIntrId);//0xA0:中断源的优先级, 0x01中断类型为高电平有效电平敏感类型XScuGic_SetPriorityTriggerType(GicInstancePtr, AXI_GpioIntrId, 0xA0, 0x01);//全局中断使能XGpio_InterruptGlobalEnable(AXI_Gpio);//通道中的信号对应的中断使能XGpio_InterruptEnable(AXI_Gpio, 0x00000001); }void IntrHandler() {if (XGpio_DiscreteRead(AXI_Gpio, GPIO_CHANNEL1) 0x00000000){printf(AXI interrupt detected!\n\r);}XGpio_InterruptClear(AXI_Gpio, 0x00000001); }2.3 关键代码解析 为了直观地理解代码的结构和功能参照图片进行理解 步骤划分和流程图图片将代码分为几个关键步骤并以流程图形式展示每个步骤的调用顺序和逻辑关系帮助读者更好地理解代码的整体流程和各个部分之间的关系。关键代码高亮图片中标注了关键代码行例如初始化、GPIO方向设置和中断处理帮助读者快速定位和理解代码中的重要部分。代码与注释结合图片将代码与相应的注释结合展示详细解释了每一行代码的作用和意义帮助读者更深入地理解代码的实现细节。 3. 总结 在本文中我们探讨了Zynq平台上中断的概念和分类包括软件中断、私有外设中断和共享外设中断。我们还介绍了中断控制器GIC的作用它是中断管理的核心。通过一个实际的示例我们展示了如何在处理系统PS和可编程逻辑PL之间使用通用输入输出GPIO来处理中断。示例代码包括初始化GPIO设备、设置中断系统和定义中断处理函数。
http://www.dnsts.com.cn/news/209374.html

相关文章:

  • 网站开发专业就业指导企业管理系统登录
  • 海南建设交易中心网站python做简单的网站
  • 网站诊断内容怎么给自己公司做网站
  • 网站公司打电话来说做网站白云区网站建设公司
  • 镇江网站排名公司wordpress 获取父页面
  • 多语言网站开发公司什么叫展示型网站
  • 上海网站jianshe沈阳便宜做网站的
  • 三鼎网络网站建设原创网站模版
  • 民宿网站建设 世家sae网站备案
  • 网站的转化率济南网站建设富库网络
  • 计算机网站建设维护的基本知识麦考林网上购物商城
  • 贵阳市建设局信息管理网站凡科企业邮箱登录入口
  • wordpress什么样老网站怎么优化
  • 网站建设中 html免费企业培训内容有哪些
  • 编程免费网站企业邮箱申请
  • 一家公司做两个网站吗智慧团建怎么登录不了
  • 简单网站建设运营云阳如何做网站
  • 做网站体会心得wordpress方向
  • 资兴市网站建设哪个好铜陵58同城做网站
  • wordpress 网站提速wordpress 调用关键词
  • 销型网站建设必须的步骤包括青岛媒体网地址
  • 做网站的电脑自带软件是什么网站备案 核验单
  • 西安网站seo服务甘肃网站设计公司
  • 建设手表网站的目的网络交易平台
  • 自己做的视频网站如何赚钱中国平湖首页规划建设局网站
  • 重庆商会网站建设丹东市供求信息网免费发布
  • 帝国cms个人网站模板榆林国贸网站建设
  • 商城的网站建设公司网站封面怎么做
  • 婚恋网站如何做推广xampp 查看wordpress模板
  • 学做PPT报告的网站广州做网站找哪家好