LPC2000系列ARM硬件结构解析: VIC中断控制器与MAM存储加速模块
需积分: 1 91 浏览量
更新于2024-07-13
收藏 1.46MB PPT 举报
"VIC相关启动代码分析 - LPC2000系列ARM硬件结构(5~9)"
在LPC2000系列的ARM处理器中,向量中断控制器(VIC)是处理中断的关键组件,用于管理和调度来自不同外设的中断请求。在启动代码中对VIC进行初始化是必要的,以确保系统的稳定运行。下面我们将详细讨论VIC初始化过程以及LPC2000系列的一些关键硬件特性。
首先,VIC初始化涉及到以下几个步骤:
1. 清除中断使能寄存器`VICIntEnClr = 0xffffffff;`,这会禁止所有中断,确保在系统运行初期不会无预期地响应中断请求。
2. 设置 VIC 中断向量地址`VICVectAddr = 0;`,通常设置为0,表示中断处理程序的默认地址或者中断服务例程的入口。
3. 设置 VIC 中断选择寄存器`VICIntSelect = 0;`,用于配置中断源的优先级和中断类型。
接下来,我们关注处理器的模式和中断状态。在LPC2100和LPC2200系列中,启动代码默认会关闭IRQ和FIQ中断,这是通过设置CPSR(Current Program Status Register)寄存器实现的。`MSR CPSR_c,#0xdf`这条指令将CPSR的I位和F位清零,分别对应禁止IRQ和FIQ中断。如果用户需要启用这些中断,必须在特权模式下手动设置CPSR的相应位。
LPC2000系列硬件结构包括多个关键模块:
- 存储器寻址:该系列微控制器提供了灵活的内存映射,支持不同类型的存储器如Flash、SRAM等。
- 系统控制模块:包含电源管理、复位和时钟控制等功能。
- 存储器加速模块(MAM):针对Flash存储器进行优化,通过128位总线提升指令执行速度,避免CPU因等待Flash读取而停滞。
- MAM内部包含两个Flash存储器组,一个预取指缓冲区,一个分支跟踪缓冲区和一个数据缓冲区,用于减少访问延迟。
- 关闭MAM时,CPU可能需要等待Flash完成读取,造成执行效率下降。
- 开启MAM则可以连续提供指令,提高处理器的吞吐量,减少了等待周期。
除此之外,LPC2000系列还包含了丰富的外设接口:
- 外部中断输入:用于接收外部设备的中断请求。
- 定时器0和定时器1:提供定时和计数功能。
- SPI接口:串行外围接口,用于与各种外设通信。
- I2C接口:用于低速设备间的通信。
- UART(0、1):通用异步收发传输器,用于串行通信。
- A/D转换器:将模拟信号转换为数字信号。
- 看门狗:确保系统在异常情况下能够自动复位。
- 脉宽调制器(PWM):用于生成可调频率和占空比的信号。
- 实时时钟:提供精确的时间基准。
这些特性使得LPC2000系列微控制器广泛应用于各种嵌入式系统设计中,如工业控制、消费电子和通信设备等。理解和配置好VIC以及相关硬件模块,对于开发高效、可靠的嵌入式系统至关重要。
2013-07-01 上传
2010-10-01 上传
2010-05-28 上传
2023-05-31 上传
2024-06-12 上传
2024-10-27 上传
2023-08-10 上传
2023-05-27 上传
2023-12-30 上传
琳琅破碎
- 粉丝: 19
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜