- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统思考题
嵌入式系统思考题第二章:1.微机原理中,外设与微处理器之间数据传递的实现方式?2.在此方面,微机原理与嵌入式系统的区别体现在哪里?目的?3.位带操作与互斥、可重入函数、事务等概念的特性对比,以及它们之间的联系与具体应用范围。可举例说明。NVIC的功能配置与中断建立过程(主要寄存器介绍)NVIC的功能配置?目的:对中断进行有效管理;?通过NVIC寄存器对NVIC功能进行配置;?功能配置是静态的,功能的实现和中断管理是动态的;NVIC寄存器?NVIC 的寄存器以存储器映射的方式来访问。?除了包含控制寄存器和中断处理的控制逻辑之外,NVIC 还包含了MPU的控制寄存器、SysTick定时器以及调试控制。NVIC寄存器?每个外部中断都在NVIC 的下列寄存器中“挂号”:①使能与除能寄存器(32Bit*7+16Bit*1):?SETENA0-7/CLRENA 0-7 Registers ?SETENAs: xE000_E100 –0xE000_E11C ; ?CLRENAs:0xE000E180 -0xE000_E19C②悬起与“解悬”寄存器(32Bit*7+16Bit*1):?SETPEND0-7/CLRPEND0-7 Registers ?SETPENDs:0xE000_E200 –0xE000_E21C ; ?CLRPENDs:0xE000E280 -0xE000_E29C③优先级寄存器(8bit):?PRI_0-PRI_239;?0xE000_E400 –0xE000_E4EF④活动状态寄存器ACTIVE Registers(32Bit*7+16Bit*1):NVIC寄存器?另外,下列寄存器也对中断处理有重大影响⑤中断控制器类型寄存器ICTR 0xE000_E004:??????????用以判断正在使用的芯片使用了多少位来表达优先级?粒度为32的整数倍0x0表示32,0x1表示64,以此类推。⑥异常掩蔽寄存器(PRIMASK, FAULTMASK 以及BASEPRI)⑦应用程序中断及复位控制寄存器(AIRCR) 0xE000_ED0C:Bit[10:8]为优先级分组位段PRIGROUP⑧向量表偏移量寄存器VTOR:0xE000_ED08????????????????区?Bit[29]=1:RAM 区⑨软件触发中断寄存器STIR(8Bit);0xE000_EF00;写入8,则悬起IRQ #8。⑩中断控制及状态寄存器ICSR 0xE000_ED04?系统控制寄存器0xE000_ED10:涉及电源管理?配置与控制寄存器0xE000_ED14?中断优先级寄存器阵列0xE000_E400 –0xE000_E4EF:用于外设中断NVIC寄存器?系统异常优先级寄存器0xE000_ED18 -0xE000_ED23?系统Handler控制及状态寄存器SHCSR 0xE000_ED24?存储器管理fault 状态寄存器(MFSR) 0xE000_ED28?总线fault 状态寄存器(BFSR) 0xE000_ED29?用法fault 状态寄存器(UFSR),地址:0xE000_ED2A?硬fault 状态寄存器0xE000_ED2C?调试fault 状态寄存器(DFSR) 0xE000_ED30等中断建立全过程①当系统启动后,先设置优先级组寄存器。默认情况下使用组0(7位抢占优先级,1位亚优先级)。②如果需要重定位向量表,先把硬fault和NMI服务例程的入口地址写到新表项所在的地址中。③配置向量表偏移量寄存器VTOR ,使之指向新的向量表(如果有重定位的话)④为该中断建立中断向量。?因为向量表可能已经重定位了,保险起见需要先读取向量表偏移量寄存器的值?再根据该中断在表中的位置,计算出服务例程入口地址应写入的表项,再填写之?如果一直使用ROM中的向量表,则无需此步骤。⑤为该中断设置优先级。⑥使能该中断。中断建立全过程?如果应用程序储存在Flash/ROM中,并且不需要改变异常服务程序,则我们可以把整个向量表编码到Flash/ROM的起始区域(从0地址开始的那段)。在这种情况下,上例可以大大简化,只需3步:①建立优先级组②为该中断指定优先级③使能该中断?如果在I/O密集型系统中,软件需要控制大量的硬件设备,则可能必须要考虑如下因素:?该芯片支持的中断数?该芯片中表达优先级的位数如何了解微处理器中断优先级支持情况??在CORTEX-M3的NVIC中,有一个名为“中断控制器类型寄存器ICTR ”,它提供了该芯片中支持的中断数目,粒度是32的整数倍。?通过对每个SETENA位进行先写后读的测试,来获取支持的中断的精确数目(往各SETENA中写1,不支持的中断将永远读回0,求出第1个0的位置即可),亦可使用SETPEND等其它位来做此测试。?读应用程序
您可能关注的文档
最近下载
- 小升初数学期末测试卷a4版.docx
- 高中生物学二轮总复习精品课件 专题三 细胞的生命历程 专题三 细胞的生命历程.ppt VIP
- 2025年新疆机场集团有限责任公司人员招聘笔试备考试题及答案解析.docx
- 碳排放监测员(高级)技能鉴定考试题及答案.doc VIP
- 乒乓球编排软件.pdf
- 2023-2024学年上海新六年级英语教材同步 重点语法知识梳理一:情态动词、连词及专练100题含详解.docx VIP
- 阿尔茨海默病老年痴呆症专题世界阿尔茨海默病日PPT.pptx VIP
- 标准图集 - 农ZTJ0804-上海市农村村民住房推荐图集04.pdf
- 中国通讯电缆行业市场前景预测及投资战略研究报告.docx
- 新人教版英语上八年级册 Unit1-Unit10 全册作业设计.docx
文档评论(0)