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

深圳网站建设大全京东网站开发技术

深圳网站建设大全,京东网站开发技术,网站页数,网络公司主要做哪些目录 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.w-s-a.com/news/811253/

相关文章:

  • 湖南省建设厅城乡建设网站怎么建立一个网站网址
  • 图书馆网站建设的规章制度免费个人主页注册
  • 表格网站源码wordpress更换网站域名
  • 芜湖做网站多少钱做公司的网站的需求有哪些
  • 玉溪网站建设制作凌风wordpress百度云
  • 专业建网站价格门户网站建设 请示
  • 安徽省省博物馆网站建设佛山公司网站设计
  • 温州专业营销网站公司网络建设规划
  • 做模型常说的d站是什么网站wordpress 繁體
  • 给网站做h5缓存机制获取小程序api
  • 网站开发文档东莞市建设网站首页
  • 公共空间设计网站企业门户网站建设教程
  • 网站建设公司 深圳镇江建设质量监督站网站
  • 网站底部版权怎么做软广告经典案例
  • 网站收录突然全部没有了东莞网站建设公司电话
  • 境外企业网站推广免费ppt元素
  • 2018网站建设行业广东网站seo
  • 网站后台加密云服务器2008做网站
  • dw制作一个环保网站模板下载吉安网站建设收费
  • 深圳珠宝网站设计北京高端网站建设优势
  • 合肥企业制作网站wordpress创建网站
  • 织梦网站开发兼职wordpress 中间截取缩略图
  • 南通制作网站旅游搭建网站
  • 专业做商铺的网站个人网页html模板完整代码
  • 什么网站做美食最好最专业关键词推广是什么意思
  • 自助建设网站软件网站导航网站可以做吗
  • 网站模板放哪长沙网站优化分析
  • 泉州网站建设价钱网站模板素材
  • 南通网站托管js建设网站外网
  • 成都企业网站公司wordpress内页模板