欢迎来到天天文库
浏览记录
ID:48056598
大小:858.50 KB
页数:90页
时间:2020-01-13
《5-ARM-linux内核.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统开发原理与实践陈文智等编著清华大学出版社重点大学计算机专业系列教材ARM-Linux内核1.ARM系统结构简介2.ARM-Linux内存管理3.ARM-Linux的中断响应和处理4.ARM-Linux系统调用5.系统的启动和初始化6.ARM-Linux进程管理和调度7.Linux的模块机制ARM的四层含义1、ARM是一种RISCMPU/MCU的体系结构,如同x86架构是一种CISC体系结构一样。另外,还有MIPS架构、PowerPC架构等等。2、ARM是AdvancedRISCMachineLim
2、ited公司的简称。3、ARM是AdvancedRISCMachineLimited公司的产品,该产品以IPCore(IntellectualPropertyCore,知识产权核)的形式提供的。4、ARM还用以泛指许多半导体厂商买了这种设计后生产出来的“ARM处理器”系列的芯片及其衍生产品。ARM、XScale、PXA255关系ARM是一个体系XSCALE是这个体系中间的一个系列PXA255是这个体系中间的一个产品LinuxARM-linux内核D:sourcecodelinux_Board_DVKar
3、charmmach-pxageneric-pxa.c,irq-pxa.c,leds-xsbase270.c,xsbase270.cD:sourcecodelinux_Board_DVKincludeasm-armarch-pxaARM架构的特点RISC型处理器结构变形的哈佛结构:内存和指令在逻辑上独立提供Thumb指令集Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度,而芯片面积只增加6%。可以使程序存储器更加小。多处理器状态模式7种运行状态嵌入式在线仿真调试嵌入了
4、在线仿真逻辑,便于通过了JTAG来仿真调试可以省去昂贵的在线仿真器灵活和方便的接口具有协处理器接口低电压低功耗的设计1.ARM系统结构简介ARM有7种运行状态:用户状态(User)中断状态(IRQ,ImterruptRequest)快中断状态(FIQ,FastImterruptRequest)监管状态(Supervisor)终止状态(Abort)无定义状态(Undefined)系统状态(System)ARM系统结构中各个寄存器的使用方式寄存器使用方式程序计数器pc(r15)由所有运行状态共用通用寄存器r0-r
5、7由所有运行状态共用通用寄存器r8-r12除快中断以外所有其他运行状态共用(快中断状态有自己专用的r8-r12)当前程序状态寄存器CPSR由所有运行状态共用保存程序状态寄存器SPSR除用户状态以外的6种运行状态,各有自己的保存程序状态寄存器SPSR堆栈指针sp(r13)和链接寄存器lr(r14)7种运行状态各有自己的sp和lr2ARM-Linux内存管理代码D:sourcecodelinux_Board_DVKmm存储管理是一个很大的范畴存储管理机制的实现和具体的CPU以及MMU的结构关系非常紧密操作系
6、统内核的复杂性相当程度上来自内存管理,对整个系统的结构有着根本性的深远影响2.1内存管理和MMUMMU,也就是“内存管理单元”,其主要作用是两个方面:地址映射对地址访问的保护和限制MMU可以做在芯片中,也可以作为协处理器2.2冯·诺依曼结构和哈佛结构冯·诺依曼结构:程序只是一种数据,对程序也可以像对数据一样加以处理,并且可以和数据存储在同一个存储器中嵌入式系统中往往采用程序和数据两个存储器、两条总线的系统结构,称为“哈佛结构”2.3ARM存储管理机制ARM系统结构中,地址映射可以是单层的按“段(section
7、)”映射,也可以是二层的页面映射段:1M大页面:64KB;小页面:4KB采用单层的段映射的时候,内存中有个“段映射表”,当CPU访问内存的时候:其32位虚地址的高12位用作访问段映射表的下标,从表中找到相应的表项每个表项提供一个12位的物理段地址,以及对这个段的访问许可标志,将这12位物理段地址和虚拟地址中的低20位拼接在一起,就得到了32位的物理地址如果采用页面映射,“段映射表”就成了“首层页面映射表”,映射的过程如下:以32位虚地址的高12位(bit20-bit31)作为访问首层映射表的下标,从表中找到相
8、应的表项,每个表项指向一个二层映射表。以虚拟地址中的次8位(bit12-bit19)作为访问所得二层映射表的下标,进一步从相应表项中取得20位的物理页面地址。最后,将20位的物理页面地址和虚拟地址中的最低12位拼接在一起,就得到了32位的物理地址。凡是支持虚存的CPU必须为有关的映射表提供高速缓存,使地址映射的过程在不访问内存的前提下完成,用于这个目的高速缓存称为TLB高速缓存ARM系统结构中配备了
此文档下载收益归作者所有