嵌入式与手机体系结构.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式与手机体系结构

嵌入式与手机体系结构 PC机启动全过程 嵌入式介绍 手机介绍 手机恢复与仿真器 计算机的分类----体系结构分类 计算机体系结构(Computer Architecture)是程序员所看到的计算机的属性,即概念性结构与功能特性 传统计算机采用冯·诺依曼(Von Neumann)结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器并在一起的存储器结构。 哈佛(Harvard)结构是一种将程序指令存储和数据存储分开的存储器结构。 二种结构计算机的类型 哈佛结构的CPU 通常具有较高的执行效率。目前使用哈佛结构的 CPU 和微处理器有很多,除了所有的DSP 处理器,还有摩托罗拉公司的MC68系列、Zilog 公司的Z8系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11等。 冯·诺依曼结构的 CPU 和微控制器有很多。其中包括英特尔公司的8086及其他CPU ,ARM公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺依曼结构。 ARM7与PC机的硬件是类似的 下面让我们熟悉一下PC机的开机过程(漫长) 概念: CPU、MEM、南桥、北桥、BIOS、CMOS…… 从BIOS开始的启动 引导(BOOT级) 下面“言归正摇” 启动代码是嵌人式系统加电后令首先运行的一段程序。其主要任务是初始化目标程序映像(image)从ROM或Flash中拷贝RAM,然后跳转到主程序人口点运行 手机与ARM7 手机系统启动两个阶段 硬件阶段:一旦复位线有效(装电池或按“电源”键),处理器就进入到硬件复位阶段。此阶段的主要职责是给CPU上电,使CPU开始启动程序或运行一些要把CPU控制权转交给程序的代码。 软件阶段:此阶段的主要职责是初始化核心元件和内存的关键结构(用来建立完整的运行环境),加载执行已写入到ROM中的应用代码。 Bootloader程序建立中断表 手机所用ARM7处理器在加电或复位时,一般是从0地址处开始执行程序指令,而中断向量表通常也要求位于0地址处,且每个中断只占用一个字的存储空间。为了满足上述要求,Bootloader程序需要在0地址处建立中断向量表,并通过放置一条跳转指令来转到定义的中断处理指令处执行。 ARM处理器(V4架构以后的版本)共有7种执行模式 User:用户模式 FIQ:快速中断响应模式 IRQ:一般中断响应模式 Supervisor:超级模式 Abort:出错处理模式 Undef:未定义模式 System:系统模式 除用户模式以外,其他6种模式都是特权模式 启动过程分析和实现 1 复位中断向,设置: 在ARM体系中,从地址0x0到0x1c的32字节是异常中断向量表,分别是复位、未定义指令错误、软件中断、预取指令错误、FIQ。在分配给每个异常中断的4字节空间数据存取错误、保留的中断向童、IRQ和内放人跳转指令,使程序跳转到相应的中断处理程序处执行。当多个中断发生时,处理器根据中断优先级逐个处理。对于启动过程,加电时触发的是位于0x0地址的复位Reset异常中断。bResetHandler语句可使CPU转向引导程序。 启动过程分析和实现 2 硬件初始化和堆栈设置 引导程序首先通过配置特殊控制器完成硬件初始化,包括关闭看门狗时钟、屏蔽所有中断,保证系统启动过程不受任何异常中断的影响。初始化PLL完成CPU工作频率的设置,通过设置BWSCON等控制寄存器完成系统外接SDRAM的初始化,包括外部数据总线宽度、访问周期、定时的控制信号等参数。 启动过程分析和实现 3 IRQ中断向量表的初始化 IRQ中断源,利用ICPR(中断示寄存器)、ICMR(中断屏蔽寄存器)、ICLR(中断级别设置寄存器)、ICIP(IRQ级别的中断源寄存器)等中断控制寄存器识别各个中断。在这些中断发生时,都会触发IRQ中断,这样在IRQ中断服务程序中,需判别各中断,并跳到相应的中断服务程序。启动阶段,在SDRAM高端地址内预留32X4字节的IRQ中断向量表,根据INTOFFSET值,获得各个IRQ中断源在向量表内的偏移地址,跳转执行中断服务程序。 启动过程分析和实现 4 主程序的拷贝 系统硬件正常工作后,则要将主程序的代码拷贝至SDRAM。在这一过程中,需注意: (1)SDRAM的起始地址; (2)清空并保证SDRAM内准备放主程序映像文件的存储空间可访问; (3)Flash内主程序的映像文件在Flash中的起始和结束地址。 启动过程分析和实现 5 跳入主程序入口处执行 如果主程序拷贝是在C环境下完成,且从0始执行,则#defineRAM_Addr0 void(*Run)(void)=(void(*)(vo

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档