历史上的今天
返回首页

历史上的今天

今天是:2025年01月19日(星期日)

正在发生

2021年01月19日 | 快速学Arm(21)--中断向量VIC控制器VIC[3]

2021-01-19 来源:eefocus

说是快速学习,其实也不快,学这东西想快起来看了不太容易.

有很多中中断源都有可能产生中断,对于2400大概有下面的中断源

   中断源                       VIC通道号

   WDT                           0

   --保留给软件中断              1

    ARM Core                     2

    ARM Core                     3

   TIMER0                       4

   TIMER1                       5

    UART0                        6

   UART1                        7

   PWM0,PWM1                    8

    I2C0                         9

    SPI,SSP0                     10

    SSP1                         11

    PLL                           12

    RTC                          13

    系统控制(外部中断)           14,15,16,17

   ADC0                         18

   I2C1                         19

   BOD                          20

   Ethernet                      21

   USB                          22

   CAN                          23

   SD/MMC                       24

    GP DMA                       25

    Timer 2                      26

    Timer 3                      27

    UART 2                       28

    UART 3                       29

   I2C2                         30

   I2S                          31

    快速学Arm(21)--中断向量VIC控制器VIC[3]
我们先不来接触那些真正的接口,因为接触到真正接口的时候,如果没有这些概念,可能会很难理解.先这样浏览一下相关的知识,然后一点点的往更细致去研究,可能对理解问题更有好处.


<>中,对VIC使用有这样的一些事项:


如果在片内RAM当中运行代码并且引用程序需要调用中断,那么必须将中断向量重新映射到Flash地址0x0.这样做是因为所有的异常向量都位于地址0x0及以上.通过将寄存器MEMMAP(位于系统控制模块中)配置为RAM模式来实现这样一点.


虽然可以选择多个中断源来产生FIQ请求,但是只有一个专门的中断服务程序来服务响应所有的FIQ请求.因此,如果分配为FIQ的中断多于一个,FIQ中断服务程序就必须读取VICFIQStatus的内容来决定如何处理中断请求.不过还是建议只讲一个中断分配为FIQ,多个FIQ中断源会增加中断延迟.


在中断服务程序执行完后,对外设中断标志的清零会对VIC寄存器(VICRawIntr,VICFIQStatus,VICIRQStatus)当中的对应位产生影响.另外为了能够服务下次中断,必须在中断返回之前对VICVectAddr寄存器执行写操作.该写操作将清零内部中断优先级硬件当中对应的中断标志.


通常情况下要禁止VIC中断,必须清零VICIntEnClr寄存器中的对应位,该操作时VICIntEnable寄存器对应位清零.这同样应用于VICSoftInt,VICSoftIntClear.VICSoftIntClear将会是VICSoftInt中对应位清零.例如:VICSoftInt=0x0000 0005并且必须将bit0清零,则使用VICSoftIntClear=0x0000 0001即可实现操作.在执行VICSoftIntClear=0x0000 0001之前,要先执行VICSoftIntClear=0x0000 0000.记住.

 

VICIntSelect寄存器按照上面图的顺序来选择哪一个是IRQ,哪个是FIQ,但对应的位为1时此中断为FIQ,否则则是IRQ,VICIntEnable也是按照这个顺序来决定哪个中断可以使能.


在21xx系列中有向量控制寄存器VICVectCntl0~VICVectCntl15分别代表16个优先级,即VICVectCntl0代码slot0优先级(最高优先级),VICVectCntl1代表slot1优先级.在VICVectCntl寄存器中,低五位代表的是哪一个中断,例如,如果VICVectCntl0=0x0F,则从上面图中的顺序知道,ENT1即外部中断1的优先级为最高.VICVectCntl中的第6位代表IRQ是否使能,1代表使能.而在2400系列中,使用VICVectPriority0~VICVectPriority31来装载上图中对于优先级.例如如果VICVectPriority31装载的数字为0x12,即十进制的18,按上图的顺序,则AD0的优先级为31,即最低优先级.VICVectAddr0~VICVectAddr15(在2400系列中是31),每个寄存器是与VICVectCntl(VICVectPriority)向对应的.如果没有设置这组寄存器,则在210x系列中使用VICDevVectAddr寄存器,在2400中暂时没找到对应的寄存器,不过没关系,我们后面研究得时候也许会涉及到,到时候再说.


推荐阅读

史海拾趣

思博科技(Cybermax)公司的发展小趣事

为了确保产品质量和客户满意度,思博科技高度重视质量管理体系建设。公司引进了先进的质量管理理念和工具,建立了完善的质量管理体系。同时,公司还通过了ISO9001质量管理体系认证和多项行业认证。这些认证不仅证明了公司在质量管理方面的实力,还为客户提供了可靠的质量保证。

Corporation Soneet公司的发展小趣事

在市场推广的过程中,Soneet注重品牌形象的建立。公司积极参加各类行业展会和技术交流会议,展示其最新技术和产品。同时,Soneet还通过媒体宣传、社交媒体营销等方式,提高品牌知名度和美誉度。这些努力使得Soneet在消费者心中树立了良好的品牌形象。

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

山西飞虹光电科技集团有限公司原以煤炭、洗煤和焦化等生产为主,但在响应山西省委、省政府转型跨越发展的号召下,公司于2010年向高科技产业基地转型。在临汾·甘亭新型工业园区投资16.5亿元建设了“山西陆合飞虹光电科技园”,专注于研发和生产化合物半导体外延片、芯片以及大功率半导体激光器等高科技产品。飞虹光电科技集团通过技术创新,在大功率激光外延片、芯片及LED红、蓝、紫光材料等方面填补了山西省的多项空白,并荣获多项国内外专利及科技奖项。

Deltrol Controls公司的发展小趣事

在电子设备的制造过程中,螺线管是不可或缺的元件之一。然而,传统的螺线管生产方式存在效率低下、质量不稳定等问题。Deltrol Controls通过引进先进的生产设备和技术,实现了螺线管的精细化生产。这一举措不仅提高了生产效率,而且保证了螺线管的质量稳定性。凭借这一优势,Deltrol Controls在电子行业中的竞争力得到了显著提升。

Furukawa Electric Co Ltd公司的发展小趣事

在电子行业中,每个客户的应用场景都各不相同,对产品的需求也千差万别。Deltrol Controls深知这一点,因此一直致力于提供专业化的定制组件服务。无论是电磁阀、软管组件还是其他产品,Deltrol Controls都能根据客户的需求进行定制化设计和生产。这种专业化的服务赢得了客户的信任和好评,也为Deltrol Controls在电子行业中树立了良好的口碑。

请注意,以上故事均为虚构,旨在展示Deltrol Controls在电子行业中的成长和进步。如有需要,建议查阅相关文献资料或公司官方网站以获取更准确的信息。

Base Two (2) Systems公司的发展小趣事

Base Two (2) Systems公司自创立之初,便以技术创新为核心竞争力。在创始团队的带领下,公司研发团队不断攻克技术难关,成功研发出一系列具有领先水平的电子产品。这些产品不仅性能卓越,而且具有广泛的应用前景,为公司在市场上赢得了良好的口碑。

问答坊 | AI 解惑

测试一下你的大脑

1.看出顺时针旋转的是感情很丰富,     2.看出逆时针旋转的是逻辑思维很强,     3.看出摇摆的说明这个人智商超高;     4.能够轻松改变顺逆时针表明左右脑切换思考很快。 一般男性先看到的是逆时针的多,女性先 ...…

查看全部问答>

07电子设计大赛论文

所有参赛论文。。值得参考。。。…

查看全部问答>

关于matrix键盘中#的问题

大家新年快乐! 我的平台是pxa270+wince5.0. 现在键盘驱动遇到了一点小问题,请大家帮帮忙。 通常键盘上,shift+3应该是显示#号,但是我目前要做的shift+3要显示欧元符号,#被移到其他按键上去了。 我修改了键盘的影射结构,将原来#的位置用欧 ...…

查看全部问答>

tl16c554

请问高手,两片tl16c554如何和DSP 连接呢?…

查看全部问答>

关于Vxworks的疑问

本人刚进公司,被分到做vxworks软件,原来没有接触过vxworks,所以也不是很了解,请各位帮忙讲解一下,主要是vxworks是做什么的,它的应用平台,当前形势,以及怎么去学,主要按那个方向去学习,如果将来想跳槽应该跳哪个方向的,谢谢哈^-^…

查看全部问答>

6通道与单通道球幕投影系统介绍与比较

6通道(即5+1)球幕投影系统主要是利用投影融合技术、曲面变形处理技术、多机同步技术,通过6台投影机精准定位投影实现的,属于投影类工程项目(以下简称6通道)。     单通道系列数字天象仪主要依靠投影机,球面镜头、计算机和国际规范 ...…

查看全部问答>

在CCS4下新建Piccolo TMS320F28027怎么始终有错误不能进入DEBUG下

用自带的例子是可以进入DEBUG,可是自己新建的就是有错误,请熟悉CCS4的进来讲讲那里设置要重点设置的?…

查看全部问答>

请教一个分频的问题

我的FPGA用的是40MHz的晶振,利用分频产生100Hz的方波信号,但是示波器输出波形高频成分相当的大!然后又用了FPGA自带的锁相环,但是情况还是那样!不知道这些高频毛刺为啥那么多啊?…

查看全部问答>

我的C2000 LaunchPad DIY计划

一、做个电子负载 板子早就打好了,这10块板一直在睡着,没有动 这次准备使用C2000 LaunchPad把它做起来。 二、做个数字电源 原来使用F28035做的BUCK部分,性能不错。这次使用F28027来做,只做BUCK型降压的电源。 PCB还没有做,或者使用试 ...…

查看全部问答>

智能引领未来

智能家居涉及到家居内部的安全问题,很多开发板虽然功能很强大,但在安全稳定性 方面还是有一定的缺陷,而瑞萨开发板多用于汽车内,其稳定性也比其他的好很多。 瑞萨RL78/G13的MCU运作 电流为70μA/MHz(以32MHz进行基本操作),一般作业的待机电流 ...…

查看全部问答>