欢迎来到天天文库
浏览记录
ID:27875525
大小:64.00 KB
页数:11页
时间:2018-12-06
《对lpc2000系列微控制器片内flash编程的方法.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、对lpc2000系列微控制器片内flash编程的方法对lpc2000系列微控制器片内flash编程的方法 本文主要是关于lpc2000的相关介绍,并着重对lpc2000的原理及其作用进行了详尽的阐述。 lpc2000 LPC2000系列的向量中断控制器(VIC)支持32个中断请求输入,也即是支持32个中断源,见表5.1。这32个中断按顺序称为VIC通道0,VIC通道1,…,VIC通道31。 每一个VIC通道都支持软件中断与硬件中断,即每个中断均可由软件或硬件中断产生,软件中断与对应通道上的硬件中断是逻辑“或”的关系。软件中断可通过置位VICSoftInt寄存器相应位来产生,也可通过置位
2、VICSoftIntClear寄存器相应位来清除。 LPC2000具有3类中断:FIQ、向量IRQ和非向量IRQ。LPC2000系列可通过对VICIntSelect和VICVectCntlx(x=0,1,…,15)这两类寄存器的设置,将以上的32个中断源设置为这三类中断的任何一种。其中, 快速中断请求FIQ具有最高优先级。建议只分配一个中断请求给FIQ以减少中塅处理程序的延迟。当然,VIC支持多个FIQ中断。 向量IRQ具有中等优先级。该级别最多可分配32个请求中的16个。32个请求中的任何一个都可以分配到16个向量IRQslot中的任意一个。其中,slot0具有最高优先级,而slot1
3、5则为最低优先级。 非向量IRQ具有最低优先级。 如何初始化某个中断源为三类中断中的一类 通过VICIntSelect中断选择寄存器将32个中断请求分配为FIQ或IRQ(包括向量IRQ与非向量IRQ);通过VICVectCntlx(x=0,1,…,15)来选择32个中断请求中的某个为向量IRQ并设定此中断请求为IRQslotx(x对应于VICVectCntlx中的x)。若某个中断源被设定为IRQ,但却未通过VICVectCntlx使能,则该中断源将被默认为非向量IRQ。 中断处理过程中断处理过程如下所示: 初始化:设置中断源为3种中断源之一,设置中断地址,使能中断,然后正常运行用户程
4、序; 当有IRQ中断产生时,VIC将会根据中断源设置VICVectAddr寄存器为相应中断服务程序的地址,切换处理器工作模式为IRQ模式,并跳转到IRQ中断入口0x00000018处; 异常中断向量表中0x00000018处使用“LDRPC,[PC,#-0xFF0]”,使得程序跳转到(0x00000018+8-0x00000FF0=0xFFFFF030)存储器处保存的地址。0xFFFFF030是VICVectAddr寄存器地址。也即是说:通过该指令,程序跳转到VICVectAddr寄存器所指向的中断服务程序的地址; 中断服务程序执行相应的中断处理,清除中断。建议用__irq关键字定义中断
5、服务程序; 中断服务完成后,即可返回原中断点。返回时要同时切换处理器工作模式。 注意:退出中断前,一定要对VICVectAddr寄存器写0,通知VIC中断结束;建议用__irq关键字定义中断服务程序,这样的话,该函数将自动切换处理器工作模式,但该函数不能返回参数或者数值。 IRQ中断 IRQ中断有向量IRQ和非向量IRQ中断两种类型,当IRQ中断产生时: 若是向量IRQ中断,由于之前VIC已经将最高优先级请求的IRQ服务程序地址VICVectAddrx(x=0,1,…,15)装入VICVectAddr,故程序跳入该中断服务程序继续执行。 若是非向量IRQ中断,VIC提供默认服务程序
6、地址VICDefVectAddr,IRQ中断入口程序可通过读取VIC的向量地址寄存器VICVectAddr来取得该地址,然后跳转到相应服务程序继续执行。该默认服务程序由所有非向量IRQ公用,默认服务程序可读取IRQ状态寄存器以确定哪个IRQ被激活。 lpc2000的工作原理 嵌入式处理器是嵌入式系统硬件最核心的部分,飞利浦推出十余款基于ARM7的高性能低功耗LPC2000系列微控制器,来满足不断增长的嵌入式市场需求。LPC2000系列微处理器工作频率为60MHz,采用基于ARMTDMI内核的32位RISC。LPC2000的外设接口非常丰富,包括UART、SPI、I2C、CAN、ADC、PW
7、M、RTC等。 这一系列微控制器LPC2114/2124/2119/2129/2194、LPC2210/2212/2214、LPC2290/2292/2294借助片上存储器加载模块实现了“零等待访问”高速闪存功能,提高了指令执行的效率。在高性能低功耗的基础上提供了增强的通信功能和片上代码保护机制。由于内置了宽范围的串行通信接口,它们也非常适用于通信网关、协议转换器、嵌入式软调制解调器等。6通道的
此文档下载收益归作者所有