0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AMD Xilinx AXI Interrupt Controller中断优先级

jf_pJlTbmA9 来源:博客园 作者:博客园 2023-07-11 17:03 次阅读

中断优先级
AXI Interrupt Controller支持中断优先级。 在Vivado Block Design中, bit-0连接的中断优先级最高, 越靠近bit-0的中断优先级最高。

100571169-303556-01.png

AXI Interrupt Controller的手册pg099中的描述如下:

Priority between interrupt requests is determined by vector position. The least significant bit (LSB, in this case bit 0) has the highest priority.

Intr(0) is always the highest priority interrupt and each successive bit to the left has a corresponding lower interrupt priority.

中断嵌套
要使用中断优先级,通常也要使能中断嵌套(Nested Interrupts)。在Vivado Block Design中, 配置AXI Interrupt Controller时,在“advanced”选项中,要选择“Interrupt Level Register” 。

100571169-303557-02.png

AXI Interrupt Controller的手册pg099中的描述如下:

Nested Interrupts
The core provides support for nested interrupts, by implementing an Interrupt Level
Register. This can be used by software to prevent lower priority interrupts from occurring
when handling an interrupt, thus allowing interrupts to be enabled during interrupt
handling to immediately take a higher priority interrupt. Software must save and restore
the Interrupt Level Register and return address.
Because the processor jumps directly to the unique Interrupt vector address to service a
particular interrupt when using fast interrupt mode, the user interrupt service routine code itself must save and restore the Interrupt Level Register and Return Address in this case. In
normal interrupt mode, this is handled by the software driver.

选择“Interrupt Level Register” 后,中断处理代码会保存和恢复r14,并且在进入设备的ISR之前会使能中断。 具体代码请查看XIntc_DeviceInterruptHandler( )。

Xintc.h中的说明如下:

For nested interrupts, XIntc_DeviceInterruptHandler saves
microblaze r14 register on entry and restores on exit. This is
required since compiler does not support nesting. It enables
Microblaze interrupts after blocking further interrupts from
the current interrupt number and interrupts below current
interrupt priority by writing to Interrupt Level Register of
INTC on entry. On exit, it disables microblaze interrupts and
restores ILR register default value(0xFFFFFFFF)back. It is
recommended to increase STACK_SIZE in linker script for nested
interrupts.

本文转载自:博客园

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • amd
    amd
    +关注

    关注

    25

    文章

    5202

    浏览量

    132638
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119388
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41030
  • AXI
    AXI
    +关注

    关注

    1

    文章

    126

    浏览量

    16292
收藏 人收藏

    评论

    相关推荐

    [转] STN32抢占优先级与副优先级中断优先级NVIC理解

    首先来说说两个概念,1、NVIC的优先级概念 抢占式优先级 (pre-emption priority): 高占先式优先级中断事件会打断当前的主程序/
    发表于 04-15 14:14

    中断优先级】STM32中断优先级没用,请问是怎么回事???

    (NVIC_PriorityGroup_1);//设置优先级分组形式1,即抢占占一位,优先级占3位 /* Enable the USART1 Interrupt
    发表于 01-04 11:29

    请问滴答计时器系统中断优先级和普通中断优先级有什么不同?

    原子的列程上貌似木有设置滴答的中断优先级,想问问系统中断优先级 和 普通中断(比如 定时器0中断
    发表于 05-28 04:37

    关于中断优先级和线程优先级的疑问如何解答

    ),configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY取值范围是0-15还是1-15,或者是其他?因为根据下面中断屏蔽描述,貌似中断优先级为0的永
    发表于 06-18 22:41

    中断优先级高才能构成中断

    == PWR_STOPEntry_WFI){ /* Request Wait For Interrupt *///中断说明得比现在的中断优先级高才能构成
    发表于 08-05 07:33

    stm32的中断优先级基本原理介绍

    stm32的中断具有不同的优先级,可以使用NVIC(嵌套向量中断控制器,Nested Vectored Interrupt Controller
    发表于 08-13 08:46

    浅析stm32的中断嵌套优先级

    stm32的中断嵌套优先级stm32NVIC优先级分组中断优先级配置寄存器NVIC_IPRx描述抢占优先
    发表于 08-13 09:45

    NVIC中断优先级管理与中断优先级分组

    NVIC中断优先级管理中断优先级分组:STM32F407系列把中断分为5个组:(0~4)对0-4每个中断
    发表于 08-16 08:06

    中断优先级的基本规则

    单片机芯 片: STC12C5A60S2 晶振是11.0592MHZ中断优先级的基本规则1.低优先级中断可被高优先级
    发表于 11-25 06:32

    如何正确设置中断优先级

    configMAX_SYSCALL_INTERRUPT_PRIORITY 中断优先级设置问题从CortexM角度Cortex-M构架自身最多允许256可编程
    发表于 12-16 07:08

    NVIC中断优先级分组

    一、NVIC 中断优先级分组1、中断管理方法:对stm32分为四组,0~4组,同时每个中断设置一个抢占优先级和一个响应
    发表于 01-11 06:48

    STM32中断使用NVIC中断优先级管理

    一、STM32中断使用NVIC 中断优先级管理Nested Vectored Interrupt Controller,嵌套向量
    发表于 01-14 09:01

    2.FreeRTOS中断优先级和任务优先级

    FreeRTOS中断优先级和任务优先级架构:Cortex-M3版本:FreeRTOS V9.0.0前言:最开始,我并没有搞清楚什么是中断优先级
    发表于 12-04 20:21 8次下载
    2.FreeRTOS<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>和任务<b class='flag-5'>优先级</b>

    STM32笔记之中断优先级和开关总中断

    STM32中断优先级和开关总中断一,中断优先级:STM32(Cortex-M3)中的优先级概念S
    发表于 01-14 15:24 12次下载
    STM32笔记之<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>和开关总<b class='flag-5'>中断</b>

    如何使用 AXI Interrupt Controller完成含超16次中断的布线

    本文主要讲解在 PL 中从 IP 核到 PS 之间需要完成含超 16 次中断的布线的情况下,该如何使用 AXI Interrupt Controller (INTC)。其中使用的
    的头像 发表于 08-24 09:21 2086次阅读