第5章ARMLinux内核名师编辑PPT课件.ppt
《第5章ARMLinux内核名师编辑PPT课件.ppt》由会员分享,可在线阅读,更多相关《第5章ARMLinux内核名师编辑PPT课件.ppt(60页珍藏版)》请在优知文库上搜索。
1、1ARMLinux 内核 2提纲l1.ARM系统结构简介 l2.ARM-Linux内存管理 l3.ARM-Linux 的中断响应和处理 l4.ARM-Linux系统调用l5.系统的启动和初始化 l6.ARM-Linux进程管理和调度 l7.Linux的模块机制 31.ARM系统结构简介lARM有7种运行状态:l用户状态(User)l中断状态(IRQ,Imterrupt Request)l快中断状态(FIQ,Fast Imterrupt Request)l监管状态(Supervisor)l终止状态(Abort)l无定义状态(Undefined)l系统状态(System)4lARM系统结构中各个寄
2、存器的使用方式 寄存器使用方式程序计数器pc(r15)由所有运行状态共用通用寄存器r0-r7由所有运行状态共用通用寄存器r8-r12除快中断以外所有其他运行状态共用(快中断状态有自己专用的r8-r12)当前程序状态寄存 器CPSR由所有运行状态共用保存程序状态寄存器SPSR除用户状态以外的6种运行状态,各有自己的保存程序状态寄存器SPSR堆栈指针sp(r13)和链接寄存器lr(r14)7种运行状态各有自己的sp和lr52 ARM-Linux内存管理 l存储管理是一个很大的范畴 l存储管理机制的实现和具体的CPU以及MMU的结构关系非常紧密 l操作系统内核的复杂性相当程度上来自内存管理,对整个系
3、统的结构有着根本性的深远影响 62.1内存管理和内存管理和MMU lMMU,也就是“内存管理单元”,其主要作用是两个方面:l地址映射 l对地址访问的保护和限制 lMMU可以做在芯片中,也可以作为协处理器 72.2 冯冯诺依曼结构和哈佛结构诺依曼结构和哈佛结构 l冯诺依曼结构:程序只是一种数据,对程序也可以像对数据一样加以处理,并且可以和数据存储在同一个存储器中 l嵌入式系统中往往采用程序和数据两个存储器、两条总线的系统结构,称为“哈佛结构”82.3 ARM存储管理机制存储管理机制 lARM系统结构中,地址映射可以是单层的按“段(section)”映射,也可以是二层的页面映射 l采用单层的段映射
4、的时候,内存中有个“段映射表”,当CPU访问内存的时候:l其32位虚地址的高12位用作访问段映射表的下标,从表中找到相应的表项 l每个表项提供一个12位的物理段地址,以及对这个段的访问许可标志,将这12位物理段地址和虚拟地址中的低20位拼接在一起,就得到了32位的物理地址 9l如果采用页面映射,“段映射表”就成了“首层页面映射表”,映射的过程如下:l以32位虚地址的高12位(bit20-bit31)作为访问首层映射表的下标,从表中找到相应的表项,每个表项指向一个二层映射表。l以虚拟地址中的次8位(bit12-bit19)作为访问所得二层映射表的下标,进一步从相应表项中取得20位的物理页面地址。
5、l最后,将20位的物理页面地址和虚拟地址中的最低12位拼接在一起,就得到了32位的物理地址。10l凡是支持虚存的CPU必须为有关的映射表提供高速缓存,使地址映射的过程在不访问内存的前提下完成,用于这个目的高速缓存称为TLBl高速缓存 lARM系统结构中配备了两个地址映射TLB和两个高速缓存 11lARM处理器中,MMU是作为协处理器CP15的一部分实现的 lMMU相关的最主要的寄存器有三个:l控制寄存器,控制MMU的开关、高速缓存的开关、写缓冲区的开关等l地址转换表基地址寄存器 l域访问控制寄存器 12l控制寄存器中有S位(表示System)和R位(表示ROM),用于决定了CPU在当前运行状态
6、下对目标段或者页面的访问权限:SRCPU运行在特权状态CPU运行在用户状态00不能访问不能访问10只读不能访问01只读只读11不确定不确定132.4 ARM-Linux存储机制的建立存储机制的建立 lARM-Linux内核也将这4GB虚拟地址空间分为两个部分,系统空间和用户空间 lARM将I/O也放在内存地址空间中,所以系统空间的一部分虚拟地址不是映射到物理内存,而是映射到一些I/O设备的地址 14lARM处理器上的实现和x86的既相似又有很多不同:l在ARM处理器上,如果整个段(1MB,并且和1MB边界对齐)都有映射,就采用单层映射;而在x86上总是采用二层映射 lARM处理器上所谓的“段(
7、section)”是固定长度的,实质上就是超大型的页面;而x86上的“段(segment)”则是不定长的lLinux在启动初始化的时候依次调用:start_kernel()setup_arch()pageing_init()memtable_init()create_mapping()15lXsbase255开发系统存储管理的描述数据结构:static struct map_desc xsbase255_io_desc _initdata=/*virtual physical length domain r w c b*/0 xE8000000,0 x00000000,0 x02000000,
8、DOMAIN_IO,0,1,0,0,/片选0 CS0:Intel Strata Flash 32M 0 xF0000000,0 x04000000,0 x00100000,DOMAIN_IO,0,1,0,0,/片选1CS1:CS8900A 0 xf0110000,0 x08000000,0 x00010000,DOMAIN_IO,0,1,0,0,/片选2 CS2:Extend PORT0,扩充的GPIO 0 xf0120000,0 x08100000,0 x00010000,DOMAIN_IO,0,1,0,0,/CS2:Extend PORT1 0 xf1000000,0 x0C700000,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARMLinux 内核 名师 编辑 PPT 课件
