cortex m3权威指南设计

cortex m3权威指南设计

ID:35139941

大小:609.78 KB

页数:11页

时间:2019-03-20

cortex m3权威指南设计_第1页
cortex m3权威指南设计_第2页
cortex m3权威指南设计_第3页
cortex m3权威指南设计_第4页
cortex m3权威指南设计_第5页
资源描述:

《cortex m3权威指南设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用标准文案第零章绪论阅读可以是一见主动的事,阅读越主动,效果越好。作为Cortex系列的处女作,为了让32位处理器坐庄单片机市场,CM3轰轰烈烈的诞生了!由于采用了最新的设计技术,它的门数更低,性能却更强。许多曾经只能求助于高级32位处理器或DSP的软件设计,都能在CM3跑得很快。嵌入式处理器市场正在32位化,相信用不了多久,CM3就一定会在这美丽新世界中脱颖而出,比当年8051推动整个业界还有过之而无不及,再次放飞工程师的梦想,让深埋于心多年的夙愿迎来dreamscometrue的激动!完整的基于CM3内核的MCU还需要很多其它组件。芯片制造商得到CM3内核的使用授权后,就可以把CM

2、3内核用在自己的硅片设计中,添加存储器、外设、I/0以及其它功能块。不同厂家设计出的单片机会有不同的配置,包括存储器容量、类型、外设等都各具特色。Thumb-2真不愧是一个突破性的指令集。它强大、易用、轻佻、高效。Thumb-2是16位Thumb指令集的一个超集,在Thumb-2中,16位指令首次与32位指令并存,结果在Thumb状态下可以做的事情一下子丰富了许多,同样工作需要的指令周期数也明显下降。Cortex-M3处理器的舞台●低成本单片机●汽车电子●数据通信●工业控制●消费类产品文档实用标准文案第一章Cortex-M3概览最淡的墨水也胜于最强的记忆1.1CM3是一个32位处理器内核

3、,内部数据路径是32位,寄存器是32位,存储器接口也是32位。CM3采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来,数据访问不再占用指令总线,从而提升了性能。为了实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且可以并行工作。但是,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。也就是说,不是因为有两条总线,可寻址空间就变成了8G。比较复杂的应用可能需要更多的存储系统功能,为此CM3提供了一个可选的MPU(存储器保护单元),而且在需要的情况下也可以使用外部的cache。另外在CM3中,小端模式和大端模式都是支

4、持的。1.2寄存器组●R0-R12:通用寄存器绝大多数16位Thumb指令只能访问R0-R7,而32位Thumb-2指令可以访问所有寄存器。●BankedR13:两个堆栈指针CM3拥有两个堆栈指针,然而是banked(应该是堆积、组合的意思),因此任意时刻只能使用其中的一个。①主堆栈指针(MSP):复位后默认使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程)。②进程堆栈指针(PSP):由用户的应用程序代码使用。堆栈指针的最低两位永远是0,这意味着堆栈总是4字节对齐的。在ARM编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception),如外部中断、或者当有

5、指令执行了“非法操作”、或者访问被禁的内存空间,因各种错误产生的fault、或者不可屏蔽的中断。在不严格的上下文中,异常与中断也可以混用。另外,程序代码也可以主动请求进入异常状态(常用于系统调用)。●R14:连接寄存器(LR)●R15:程序计数器(PC)●特殊功能寄存器CM3在内核水平上搭载了若干特殊功能寄存器,包括:①程序状态字寄存器组(PSR)②中断屏蔽寄存器组(PRIMASK,FAULTMASK,BASEPRI)③控制寄存器(CONTROL)1.3操作模式和特权级别Cortex-M3处理器支持两种处理器的操作模式,还支持两级特权操作。两种操作模式分别为处理者模式(handlermo

6、de)和线程模式(threadmode)。文档实用标准文案引入两种模式的本意,是用于区别普通应用程序的代码和异常服务例程的代码-包括中断服务例程的代码。两级特权操作分别为特权级和用户级。这可以提供存储器访问的保护机制,使得普通用户的程序代码不能意外地,甚至是恶意地执行涉及要害的操作。处理器支持两种特权级,这也是一个基本的安全模型。特权级用户级Handler模式错误的用法线程模式线程模式异常handler的代码主应用程序的代码Cortex-M3下的操作模式和特权级别在CM3运行主应用程序时(线程模式),既可以使用特权级,也可以使用用户级;但是异常服务例程必须在特权级下执行。复位后,处理器默

7、认进入线程模式,特权级访问。在特权级下,程序可以访问所有范围的存储器(如果有MPU,还要在MPU规定的禁地之外),并且可以执行所有指令。在特权级下的程序可以为所欲为,但也可能把子集给玩进去——切换到用户级。一旦进入用户级,再想回来就得走“法律程序”了——用户级的程序不能简单地试图改写CONTROL寄存器就回到特权级,而必须先“申诉”:执行一条系统调用指令(SVC),这回触发SVC异常,然后由异常服务例程(通常是操作系统的一部分)接管

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。