3137|3

554

帖子

1236

TA的资源

纯净的硅(中级)

楼主
 

初窥 HERCULES 之 VIM模块的 学习 [复制链接]

HERCULES  的VIM 模块 对大家来说 应该是个比较新鲜的玩意
  下面大家就一起来了解一下 这个模块  使大家从概念上掌握它


VIM (vectored interrupt manager)模块中文名 叫做 矢量中断管理模块
它的 大概框图 如下

矢量中断模块(VIM) 被用于将外设中断连接至Cortex-R4F CPU
VIM 提供可编程中断优先级、屏蔽、和睡眠模式唤醒功能。VIM
包括一个本地SRAM,此SRAM 被用于保持每个通道的中断句柄的地址
VIM SRAM 包括一个奇偶诊断,此诊断能够检测内存中的单一位错误。
当检测到一个奇偶错误时,ESM 被
告知此错误。这一特性在复位后
被禁用。软件必须配置和启用这个特性。
模块连接 框图 如下



VIM主要特点
VIM 硬件
CPU之间有专门的矢量中断接口
IRQ 矢量地址硬件重映射
硬件辅助以优化和管理中断源
VIM功能
96个中断请求源
通过编程 可将中断请求映射到不同的中断通道
通过中断请求的映射可以得到不同的中断优先级
CPU的中断通道排序
CPU提供中断服务程序地址
VIM模式
传统的ARM7模式(FIQ或者IRQ
矢量中断(FIQ或者IRQ
硬件矢量中断(FIQ或者IRQ

最新回复

那就和51单片机的中断优先级 查询顺序一样呗,默认的是VIM CHANNEL0  >  CHANNEL1  > CHANNEL2  >。。。。CHANNEL95,如果设置某个VIM channel enable了,那么它的优先级就升高了  详情 回复 发表于 2013-1-10 15:35
 
点赞 关注

回复
举报

554

帖子

1236

TA的资源

纯净的硅(中级)

沙发
 
继续 此模块 学习
VIM 通道映射的默认状态
  NMI 不可屏蔽中断: Channel 0 Channel 1 是不可屏蔽中断的
  中断请求可以通过CHANMAPX 寄存器映射到所需要的中断
  看示例图 就很清楚


VIM 通道映射 编程之后 如下
  中断请求2可以同时映射到VIM通道2 4
  如果关闭通道 2 那么中断优先级的次序变成:
  REQ0-REQ1-REQ3-REQ2
  可以看到 中断的优先级次序已经改变了。

VIM 进行一次中断 需要进行 如下配置
  外设中断通道使能
  外设模块中断使能
清除相对应的中断屏蔽位
建立VIM RAM
中断通道进行相对的映射
使能中断(在CPSR寄存器中实现)

注意  如果使用到矢量内存(VECTOR RAM),记得使用前要将之初始化。
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
这个只有中断允许,没有发现有中断优先级的判断
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

4
 
那就和51单片机的中断优先级 查询顺序一样呗,默认的是VIM CHANNEL0  >  CHANNEL1  > CHANNEL2  >。。。。CHANNEL95,如果设置某个VIM channel enable了,那么它的优先级就升高了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表