预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第1章嵌入式系统导论1.嵌入式系统的概念:是以现代计算机技术为基础,以应用为中心,可以根据系统或用户需求(功能、可靠性、成本、体积、功耗、环境等),灵活裁剪软硬件模块的专用计算机系统。2.嵌入式系统的分类及分类依据:嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。硬件:嵌入式微处理器、外围电路、外围硬件设备。软件:BootLoader、嵌入式操作系统、用户的应用程序等。3.几种典型嵌入式操作系统:(1)uC/OSII(2)uCLinux(3)WindowsCE(4)嵌入式Linux等4.任务调度:任务的调度有三种方式:可抢占式、不可抢占式和时间片轮转。【不可抢占式调度是指一个任务一旦获得CPU就独占其运行,除非由于某种原因使它决定放弃CPU的使用权;可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其他任务;当两个或两个以上任务有同样的优先级时,不同任务轮转使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。】目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的可抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。5.针对有内存管理单元(MMU,MemoryManagement)的处理器而设计的Unit一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。6.计算机的发展:冯诺依曼架构:将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。哈佛结构(冯诺依曼架构的扩展):主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。CortexM37.Cortex系列按嵌入式系统的典型应用分类:①Cortex-A:高性能(HighPerformance),【针对日益增长的运行Linux、WinCE、Symbian等操作系统在内的消费者娱乐和无线产品设计与实现。】②Cortex-M:微控制器类(Microcontroller),【针对应用系统对功耗、成本敏感,同时对微处理器性能要求较高的工业领域(汽车、家电、医疗器械等)。】③Cortex-R:【实时类(Real)Time,针对实时性要求较高的领域,可以运行RTOS。】④Cortex-W:【Wireless】Cortex指令完全采用Thumb-2体系架构。第2章Cortex-M3内核原理1.Cortex-M3是ARM公司推出的新一代32位低成本、高性能通用微控制器内核。2.Cortex-M3体系结构:Cortex-M3处理器主要由两大部分组成:①Cortex-M3内核:中央处理器核心(Cortex-M3Core嵌套向量中断控制器(NVIC)系统时钟(SYSTICK)存储器保护单元(MPU)总线②调试系统3.AMBA总线:(l)AHB:AdvancedHighPerformance,用于高性能系Bus统模块的连接,支持突发模式数据传输和事务(ACID:原子性、一致性、隔离性和持久性)分割;(2)ASB:AdvancedSystem,也用于高性能系统模块的Bus连接,支持突发模式数据传输,这是较老的系统总线格式,后来由AHB总线替代;(3)APB:AdvancedPeriPheral,用于较低性能外设的简单连接,一般是接Bus在AHB或ASB系统总线上的第二级总线。(4)4.Cortex-M3内核是典型的32位处理器内核:①内部数据路径宽度为32位,②寄存器宽度为32位,③存储器接口宽度也是32位,•Cortex-M3内核拥有独立的指令总线和数据总线,其寻址能力均为4G,且共享同一个存储器空间,取指与数据访问可同时进行。5.Cortex-M3寄存器:(1).低组寄存器(R0~R7)【所有指令均能访问,字长为32位,复位后的初始值是随机的。绝大多数16位Thumb指令只能访问R0~R7。】(2).高组寄存器(R8~R12)【只有很少的16位Thumb指令能访问,32位指令则不受限制,复位后的初始值是随机的。】(3).堆栈寄存器(R13)又称“堆栈指针SP”【Cortex-M3处理器内核有两个堆栈,但这两个寄存器不会同时生效,根据系统运行状态进行堆栈切换,以保证程序运行的快速性、安全性等要求。】①主堆栈指针(MSP),或写作SP_main。【缺省堆栈指针,它由OS内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。】②进程堆栈指针(PSP),或写作SP_process。【用于常规的应用程序代码(不处于异常服务例程中时)。】6.在系统连接结构中,通常借助AHB-APB桥实现