欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    ARM速成教材.docx

    • 资源ID:1677866       资源大小:37.26KB        全文页数:9页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ARM速成教材.docx

    实时操作系统(RToS) RTaS是一段嵌入在目标代码中的程序,系统更位后首先执行,相当于用户的主程序JH户的其它应用程序都建立在RToS之上。不仅如此,RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来.留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CpV时间. RTOS是针对不同处埋器优化设计的高效率实时多任务内核.RTOS可以面对几十个系列的嵌入式处理器MP1.MCU、DSP,SOC等提供类同的AP1.接口,这是RTOS法于设备独立的应用程序开发基础,优秀RTaS上跨处理器平台的程序移抗只需要修改14的内容. 在RTOS基础上可以阑写出各种使件驱动程序、专室库函数.行业库函数、产品库函数,和通用性的应用程序一起,可以作为产都销售,促进行业的知识产权交流,因此RTOS又是一个软件开发平台. RTaS的根本站构RToS呆关键的局部是实时多任务内核,它的根本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理'系统管理、消息管理、队列管理、旗谱管理等.这些管理功能是通过内核效劳函数形式交给用户周用的,也就是RTOS的AP1.ARM7启动顺序 ARN7启动过程 嵌入式系统资源有限,程序通常掷固化在KOM总运行. ROM中程序执行前,需要对系统硬件和软件运行环境进行初始化,这些工作是用汇编语言编写的启动程序完成。 启动程序是嵌入式程序的开头局部.应与陶用程序一起同化在RoM中,应苜先在系统上运行的后动程序应包含各模块中可能出现的所行段类,JF合理安排他们的次序.Bt1.oade设计Boot1.oader概念在嵌入式系统中,通常没有像PC机B1.oS那样的固件程序,因此整个系蛟的加我后动任务就完全由BOot1.Oader来完成。对于我们的实验开发板,由于f1.ash接的是微处理盘BankO的片选信号.映射的地址为0x00000000,而实验系统在上电或发位时从地址OXc100OOOoO处开始执行,所以在这个地址处安排系统的Boot1.oader程序由于Boot1.oader与硬件结合非常紧密,所以对于不同结构的CPU其Boot1.oader程序都是不同的.Boot1.Oader总体设计SIiIKeIs1.ac2根文件和映像文件关系如图BoOt1.oader的StageI完成以下功能:(D随件设备初始化"(2)设两堆栈.(3)为加载Bout1.oadei-的stage2准径RAM空间拷贝Boot1.oader的Stage2到RAM空间中.跳传到Stage2的C入口点. Boot1.oader的Stage2必须完成以下功能:(1)初始化本阶段要使用到的帔件设符。(2)招kerne1.映像和根文件系统映像从f1.ash上读到RAM空间中.(3)为内核设置启动参数.调用内核。 UC1.inUK根文件及系统映象文件对于UCIinUX根文件系统的制作则使用uC1.inux的dist包.在宿主机的1.inux环境下通过makeBenUCOnfig命令来完成对极文件系统的也捏,编洋,连接等一系列J1.作,生成所需要的极文件系统映象文件.注意:不同(TU,依赖FCPU体系结构的代码,设备初始化代码都放在SIageI中,并且都用汇编语言来实现,以到达短小精悍的目的。而SIage2,用C语言来实现,实现系统功能。BoOt1.oader实现Boot1.oaderStage1.功能 术语解择 映象文件(IMAGE):指一个可以执行的文件,E1.F格式. 段(section):描述映象文件的代码或数据块. RO:½Read-on1.y的简写形式.一般存放的代码. RW:是Read-WriIe的简写形式。一般是存放初始化的数据. ZI:是Zero-iniIia1.ized的简写形式,一般是存放零初始化数据, 帖入段(inputSeetion):它包含代码.初始化数据或描述了在应用程序运行之前必须要初始化为0的一段内存, 输出段(O1.HPU1.SeCIiOn):它包含一系列具有相I可RO,RW1ZI属性的输入段, 域(Refcions):在一个映象文件中,一个域包含了13个输出段。多个域组织在-起就构成了最终的映象文件1、硬件的初始化,日的:为Stage2的执行以及随后的kerne1.的执行准备好一些根本的现件环境 1).屏蔽所有的中断。为中断提供效劳是操作系统的设备咏动程序的贵仔,因此在Boot1.oader的执行全过程中不必响应任何中断.中断屏蔽可以通过写ARM的CPSR存放湍未完成PI. 2).设比CPtJ的速度和时钟频率得 3堆校初始化。设置堆栈指针是为执行C语言代码作准法,把SD的值设冏在RAM空间距最顶蜡1.5KB的地方(堆栈向上生长)。因为在不同的工作模式卜所访问的堆栈指针存放器(R13)不同,所以要初始化各种工作模式的堆栈. 4).IMM初始化,包括正确地设置系统内存控制器的功能存放器以及各内存阵控制存放器等共有13个需要初始设湿的存放涔.2、为S1.aKC2准符RAM空间 SSC1.tBOX开实5金板来说,在Bnnk6的片选信号上我们接了8m的SDRAM,而Bank6映射的起始地址为OXOC(XX)(X)O.进而KAH的空间范围为OXOCoooO(XHhCoC7fffff3、拷贝SIage2到RAM 设计了一个拷贝程序,负或将s1.ac2的代码救运到RAY中,让它在RAM中运行,以获得更快的速度。 在上述一切都就绪后.就可以跳转到BOOt1.Oader的Stage2去执行了.在ARM系统中,通过修改PC存放器为适宜的地址来实现.Boot1.oaderSIage2的功能stage2的代码用C语言实现,以便于实现更IX杂的功能和取得更好的代码可读性和可移抗性。当stage)的工作完成,为Stage2准备好运行环境后就可以跳转进main。的数j直接把main。函数的起始地址作为整个.Stage2执行映像的入口点是最直接的想法.但是这样做将无法处埋Inaino返回的情况。为解决这个问即,可以写一段RRM的汇铝程序,作为Inaino函数的外部包衣«】、硬件初始化1)初始化"0端口及两个电11,以便时终端用户输出I/O信息及与GPRS模块通信2)设定系统主频2、内核映象文件及根文件系统的下载将UC1.inux的内核及根文件系统的映象文件下载到开发板上缁要两个途径(1)利用网口,使用TFTP下教:(2)利用串口下做;(在PC上的串口工具都有发送文件的功能.传输内核和根文件系统映象文件的到SDRAM)3、加载内核映像和根文件系统映像对内存进行规划时包括两方面:(1)内核映像所占用的内存范围.基地址和映像的大小:(2)根文件系统所占用的内存范围,基地址和映像的大小.UCIinUX映软文件的执行方式:(1)一种方式是内核映象文件直接在F1.ASH中运行。(2)另一种方式是先招其解压到Si)RAM中.再在SDRAM中运行.对于内核映像,因为嵌入式1.inux的内核一般都不操过1MB.所以我们将其拷贝到SI)RM地址OXoC300000处。这样当开始启动UCIinUX时,压缩的UCIinUX内核将自动解压到OXOCoo8000处开始运行,当然也可以修改为其它的地址范树,但这样憾就需要对UainUX源代码包的、kefiIe文件进行相应的修改,操作起来非常麻烦.所以我们不对它进行改动.对根文件系统映像.我们构具拷贝到.XOCOOCoOO+0x00100000开始的地方.像ARN这样的嵌入式微处理器都是在统一的内存地址空间中寻址F1.ash等固态存储设备的,所以从F1.ash上读取数据与从RAM单元中读取数据的操作并没有什么不同.4、调用内核Boot1.oader调用1.inux内核的方法是直接跳转到内核的第一条指令处,对S3C44HOX来说也即直接跳转到OXOC300000地址处.当调转后uC1.inux就开始启动.我们的Boot1.oader使用mrun命令,设置启动参数,将内核映象从门ash拷贝到地址0x(k300000处,井开始运行,将控制权交给操作系统,进而启动操作系统.由于InrUn命令使用的函数调用及宏定义比较多,这里就不给出源代码了.完成了上述任务以后,BOOt1.oader设计完成ARM系统引导启动程序一般流程如下:<1)设置入门指针<2)设范中断向最ARN7要求中断向量必须设置从0地址开始,连续8*,1字节的空间,分别是复位、未定义指令楷谈、软件中断、读收指令中断、数据存取怫误、IRQ、FIQ和一个保存的中断向量(如果ROM位于0地址,向量表包含一系列指令跳转到中断效劳程序,否则向显必须被动态初始化.可以在扇动程序中添加一段代码,使其在运行时拘向此表拷贝到。地址开始的存储空间)对于各未用的中断,用一个只包含返回指令的哑函数,以防止错误引起系统的混乱。(3)初始化堆栈和存放取决于使用了哪些中断,一般系统湎要处理哪些错误类型.一般来说管理者堆栈必须设置.如果使用了IRQ中断,则IRQ堆栈必须设置,如果系统使用了DRAM或者其他的外设,则需要设置相关的存放器,以确定其刷新频率,数据总线宽度等信息(4)初始化存储零系统有些芯片可通过存放器编程初始化存储涔系统,而对于狂杂系统通常佻成了UM1.来管埋内存(5)如果有必要设变处理器模式、状态如果系统应用程序是运行在用户模式下,可在此处将系统改为用户模式并初始化用户的堆栈指针,(6)初始化C谱言所需要的存储器空间为正确运行应用程序,在初始化期间应将系统需要读写的数据和变盘从ROM拷贝到HAM里:一些要求快速响应的程序,如中断处理程序,也需要在RAM中运行:如果使用F1.ASH,时FA1.SH的燃除和写入也一定要在RA1里运行。ARM公司软件开发工具包中链接器提供了分布装我的功能,可实现这一目的。(7)呼叫C语*A1.W。两种指令集:16位的ThUmb指令集和32位的指令集.使用16位的存储器可以降低本钱,在这种情况下,ThUmb指令集的整体执行速度要比ARM32位指令集体,而且提高了代码密度,所以一般用IhUmb编译湍将C追古程序编年成16位代码.处理器在一开始总是处于ARM状态,可使用BX指令转换到Thumb状态呼唤C语言程序,要注意的是用C语言编写的战入式程序时,要防止使用不能被固化到ROM的库函数,技术难点分析MM1.的使用MM1.,是存储器管埋单元的缩写,是用来管理虚拟内存系统的器件.YM1.通常是Cp(J的一局部,本身有少信的存储空间存放从虚拟地址到物理胞址的匹配衣。此表称作T1.B(转换旁附缓冲区)。所有数据请求都送往理心由MMI:决定数据只在RAV中还是在大容价的存储器设备内。如果数据不在存储空间内,MMV将产生页面错误中断MM1.的两个主要功旎是:将虚拟地址转换为物理地址控制存谛器存取允许。划(J关抻时,虚地址宜接输出到物理地址总践。使用MMU解决了以下几个问电:a.使川DRAY作为大容量存储器时,如果DRAY行列是非平方的,会导致该DRAY的物理地址不连续,这将给程序的编写网试造成极大的不方便,而适当的配置可将其转换成虚拟惚址连续的空间b.ARM内核的中断向献去放在0他址,对于Rm1.在0地址的情况,无法调用中断效劳程序,所以在调试阶段有必要将可读写的存储器空间映射到0地址。c.系统的某些地址是不允许被访问的否则会产生不可鼓料的后果,为防止这类错i可以通过M虬匹配表的设置将这些地址设为用户不可以存取类型:<1.启动程序中生成的匹配去中包含地址映射,存储页面大小<1M,61K或者,IK)以及是否允许存取等信息,ARM系统初始化1>BoOt1.oader引导程序Boot1.oader是由汇编语言编写的芯片引导程序。它固化在目标扳的ROM中,用于启动存放在RAM中或者ROM中的嵌入式软件的程序.如果CPU支持,在boot1.oader开发过程中也可以将它放在RAM中运行。在嵌入式UC1.inUX的开发中,首先要根据硬件目标板的特性开发出boot1.oader程序,以完成下面的任务:1.i初始化处埋器使用boot1.oader初始化处理器中的一些配词存放器。比方:如果需要使用ARM720T处理器的MMU的话,就应当在b<x>1.IoadCr中使用控制命令翻开MM1.'.1. 2初始化必备的硬件使用bootIoader初始化和设置板上的必备硬件. 初始化内存、FIaShRoM和中断控制器等 从主机卜战系统映像到硬件板上的接口设符也是由它完成初始化的 有些坡件板使用以太网传输嵌入式系统映像文件,那么在boot1.oader中会使用以太网卡费动程序初始化硬件,骊后与客户烟的boot1.oader客户崩程序通讯,并完成下我工作.2、系统初始化(Boot1.oader)2、1初始化中断向量表 ARM要求中断向量表必须放置在从0地址开始.连续8x4字节的空间内(ARM720TfitARM9P10及以后曲ARV处理蕾也支持从CM;Fm)OOQ开始的岛推埴向家我.各个中断向1.t表中的位置分配如下列图所示: 中断向录去的程序实现通常如下所示: AREABoot1.oader,CODE,READON1.Y ENTRY BReset-Hand1.er;Reset-Hand1.erisa!ab1.e BUndef-Hand1.er BSWI-Hand1.er BPre.'bort-Hand1.er BDataAbort-Hand1.er B;forreservedinterrupt,stophere BIRQ-Hand1.er BFIQ-Hand1.er;其中,B为跳转指令,2、2初始化堆栈 因为ARM有?种执行状态,每一种状态的推栈指针存放涔(SP)都是独立的(SyStem和USer模式使用相同的SP存放器).因此,对程序中需要用到的每一种模式都要给SP存放器定义一个堆栈地址. 方法是改变状态存放器(TSR)内的状态位,使处理器切换到不同的状态,然后给SP赋伯。注Je不要切换到USer模式进行USer模式的堆栈设置,因为进入USer模式后就不能再操作CPSR回到别的模式了.一般堆栈的大小要根据需要而定,但是要尽可能给堆栈分配快速和诙速带宽的存储着.这对系统整体性能的提高是非常明显地. 堆栈初始化的代码实例,其中只定义了两种模式的SP指针: MRSRO,CPSR;CPSR=>RO BICRO.RO.#MoDEMASK;平安起见,屏蔽模式位以外的其他位 OKK«1,KO,RIRQ*)DE;把设置模式位设置成锵要的模式 MSRCPSR-cxsf,R1.;转到IRQ模式 1.DRSP.=UndcfStack;设置SP-irq, ORRR1.RO.SFRQMOW- MSRCPSR-cxsf,RI;转到FKQ模式 1.DRSP,=FIQStack 注一:上面用到的两个SP是不同的物理存放器:SP-irq,SP-fiq。2、3改变处理湍模式 ARM处理器-共有7种模式.除用户模式外,其他6种布於特权模式.因为在初始化过程中,许多操作格衙要在特权模式下才能进行(比方CPSR的修改),所以要特别注意不能过早的进入用户模式。般的,在初始化过程中会经历如下列图所示的模式变化: 在最后阶段才能把模式找换到最终应用程序运行所需的模式,般是用户模式. 内核级的中断使能(CPSR的I、F状态位)也可以考虑在这一步进行,如果系统中另外存在一个专门的中断控制器,这样做总是平安的,否则就需要考虑过早地翻开中断可能带来的问遨,比方在系统初始化完成之前就触发了有效中断,导致系统的死机。3、下我系蜕映像 系统映像是由boot1.oader从主机下救到目玩板的.通过bt1.oader提供的命令行或者交互She1.I界面可以指定内核映像和文件系统映像的下载位置.,也可以检杳目标板上内存地址中的内容,在目标相的boot1.oader程序中提供了接收映像的效劳堆程序,在主机端的程序提供了发送数据包动作(Ur以通过印口.也可以通过以太网卡等其他方式发送)发送系统映像结束之后,如果硬件允许,boot1.oader还可以提供命令将下就成功的映像写入到FmSh>.-TItboot1.oader都提供对FIaSh的驱动,支持擦写命令,为写入F1.aSh和检杳FIaSh带来了很大的便利。 通过指定具体的扇动地址Jout1.oader也可以启动已经下载好的系统,把程序流程转入主应用程序.最简单的一种情况是: IMPt)RTmain:getthe1.abe1.mainifaain)isdefinedinotherfi1.es Bmain:jumptomain04、存储叁管理4. 1存谛罂空间的划分 由于系统软件平台由以下同部组成:系统引导程序,嵌入式操作系统内核,文件系统 软件平台固化在F1.ash中,通常根据软件平台的内容对F1.ash的地址空间进行分区,一股分三个区:Boot1.oader.1.inux内核,文件系统。 系统引导程序(boot】。Hder),代码量虽少,但是作用非常大,相当于PC上的BIOS,负责符操作系统内核囿化到Hash中和系统初始化工作,然后将系统控制权交给操作系统. 嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和多任务的管理. 文件系统是嵌入式系统软件平台占用存储量及大的一局部,也是与用户开发最相关的一局部:它存储了系统配汽文件、系统程序、用户应用程序和必需的Si动程序。4. 2接口和时序的划分一个复杂的系统可能存在多种存储类型的接口,需要根据实际的系统设计对此加以正确配S1.对同一种存储器类型来说,也因为访问速度的差异.i要不同的时序配IS1.通常F1.ash和SRAM同M于静态存储器类里,可以共用同一个存储涔然口;而DRAM因为有动态刷新和地址设复用等特性,通常配有专用的存储涔掂口。存储零端I的接II时序是非常重要的.这会影响到整个系统的性能.因为一般系统运行的速度瓶颈都存在于存储器的访问,所以存储涔访问时序应尽可能地快:但同时又要考虑由此带来的稳定性问应.只行根据里次测试后才能确定最正确的时序也置,4. 3存佛器地址重映射(remap)当一个系统上电后,程序招自动从O地址开始执行,因此在系统的初始状态,必现保证在O地址处存在正确的代码,即要求O地址开始处的存愤器是非易性的ROM或FIaSh等.但是因为ImY或FmSh的访问速度相对较慢,好次中断发生后,都从读取IOI或F1.ash上面的中断向最去开始,影响了中断响应速度。因此,有的系统使提供一种灵活的地址重映时方法,可以把0地址取新指向到RAM中去.在这种地址映射的变化过程中要注意:程序的执行流程不能被这种变化所打断.ARM系统引导boot1.oader1、环境设置使件环境 ARZ为内核的处理器、存储器和必要的外部接11与设备. 内嵌ARM7TDYI的Samsung公司的S3C-1510处理器 存储器使用2MB的F1.ash和16MB的SDRA.M 外部接1.1.除了用于下载和通信的热,还配备了一个以太惮接口软件环境 系统引导程序、嵌入式操作系统内核、文件系统。 系统引导程序通常也称为bu。IIUader,代码地虽少,但是作用非常大,相当于PC上的BIOS,负上将操作系统内核固化到F1.ash中和系统初始化工作,然后将系统控制权交给操作系统. 嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和实任务的管理.AR.M7TWI1是一款没有MMU的处理器,因此果用UC1.inUX作为木系统的操作系统内核.uC1.inux是1.inux是一个分支,专为无MMU的处理器设计。 文件系统是嵌入式系统软件平台占用存储½最大的一局部,也是与用户开发蜃相关的一局部.它存谛r系统配置文件、系统程序、用户应用程序和必褥的驱动程序.软件分区 软件平台固化在FIaSh中。通常根据软件平台的内容时F1.ash的地址空间进行分区,一般分三个区,分别存放boot1.oader、C1.inux内核和文件系统“ 分区方式彳f两种: 一种是根据三个局部预定的存储空吊,允许boot1.oader、内核和文件系统拥有自己固定的分区和首地Ji1.:该方式,虽然可能会浪费一局部F1.ash空间,但是方便内核的加税和文件系统的桂我,同时也利于系统的词试和开发. 另一种就是按照这1局部的实际分配区间,一个局部紧跟省另-个局部后存储,没有固定的分区和首地址。可以充分利用F1.aSh的存储区间,节约本钱,2、系统配置系统同化 固化常见方法JTG:将内核和文件系统的映像文件烧写到指定的F1.aSh位置上以太网接口:将映像文件下我到F1.ash中申口:将映像文件烧写到门ash. 本系统采用来用串口烧写FIaSh这是因为一方向配置一个小口方便且原价,而JTAG烧写还要配置品货的JTAG仿真器和相关的驱动程序以及协议转换程序,同口下教还要有以太网支持;另一方面C1.inux默认通过申口打印其运行的信息,那么申口不但可以提供烧写F1.ash的功能,还可作为调试UC1.inUX内核的通道。 固化的信息内容:在本系统中,F1.ash在刚开始时,只存储了boot1.oader,存储C1.inux内核,文件系统系统初始化 在本系统中,F1.ash在刚开始时,只存储了buo1.1.oadcr,还没有存储UC1.inUX内核和文件系统,因此boot1.oader在系统加电完成初始化工作后,要初始化一条胜接主机和目标机的率1.1.通道,并提供串口下教功能. 因为系统刚加电时,操作系统的内核还没有被加我,系统的初始化工作由boot1.oader完成。它主要是将系统、初始化存储系统、配置ARM各种模式卜的数据校、使能屏常中断、根据需要切换处理器模式和状态。UC1.inux内核运行方式 两种运行方式; 内核加羲方式.一种方式是直接在FIaSh中运行HC1.inUK自带的引导程序:该方式是IxxH1.oader进行系统初始化工作后,跳到内核冏化在F1.ash中的首地址处,符控制权交给UC1.inUX,开始在F1.ash中逐句执行内核自带的引导程序,由该引导程序完成内核的加载工作. SDRAM加税方式,另一种方式是将固化在F1.ash中的内核先拷贝到SDRAM的某一段地址区间,再从该段地址区间的首地址运行UC1.inux内核.该方式是boot1.oader完成系统初始化工作后,把内核的映徽文件由FIaSh拷贝到SDRAM中,再从SDRAM中执行HC1.inUX内核的引导程序,加就HC1.inUX内核. 在本系统中,由于采用NOR型FIaSh存储bo。I1.Oade八内核和文件系统,所以可以£1接访问内核所在地址区间的忖地址,执行内核自己的引导程序,而F1.内核自带的引8程序功能强大,可以方便地实现内物的加载,向内核传递有关的蔑件参数.本系统采用第一种加就方式。地址映射表 地址映射表的配刊包括:设置F1.ash地址空间SDRAV地址空间外部"0地址能国和处理器存放器地址范围. ARM处理器加电后执行在地址QXO处的代码,因此在加电启动时,首先将存储了bootIader的F1.aSh地址空间设置为OXCI-OX200000,将SDRAM的地址空间设时为OX100C100(M)X2000000,当内核引导程序将内核拷贝到SDRAM后.可设置SDRAM的地址空间为OXOOX100oooo.而F1.ash的地址空间为Ox1800000-0x1.AOOOOO.这需要在内核引导程序中对F1.ash和SDRAM的地址空间进行重映射.3、系统引导BOOT1.OADER启动模式 两种启动模式:自举模式和内核启动模连自举模式也称为bootstrap模式,该模式的主要作用是目标机通过率口与主机速怙,可以接收主机发送过来的映像文件,例如内核、文件系统和应用程序,并将其固化在F1.ash中,也可以将F1.ash中的映像文件上传到主机。内核启动模式允许收入式系统加电启动后加载UC1.inUX内核,符系统交由UC1.inUX操作系统管理. 在本系统中,采用个开关实现两种模式的切换.在系统的F1.aSh中只有beet1.oader时,首先拘开关拔上去,提示系统进入自举模式.加电启动后,boot1.oader根据开关的状态.进入自举模式,接收主机发送过来的内核和文件系统的映像文件.接着将开关拔下来,提示系统进入内核后动模式,沔按链,boot1.oader根据此时的开关状态进入内核启动模式,加我内核和文件系统,由操作系统接管系统。4、UC1.inUX自带引导程芹加或内核UC1.inux自带的文件 代码在IinUXarcha1111no三mubootcompressed目录 Head.s的作用最关键,它完成了加我内核的大局部工作; Misc.c则提供加载内核所需要的子程序, 解压内核的子程序是Head,s调用的重要程序. 内核的加数还必须知道系统必要的硬件信息,该硬件信息在hardware.h中并被Head.S所引用.PC1.inux引导流程 当boot1.oader将控制权交给内核的引导程序时,第一个执行的程序就是Head.s. I1.ead.s被执行首先配置S3C4510的系统存放器:再初始化S3G15I0的R31、IMM以及总线等控制存放器,然K1.ash和SDRAM的地址范困分别设置为0x0-0x200000和0x1000000-0x2000000:接行将内核的映像文件从F1.ash拷贝到SDRA兄并将F1.ash和SDRAM的地址IX间分别重映时为0x1800000CIXIAoa)OO和0x00x1000000: 词用MiSC.c调用MiSc.(:中的解压内核函数”。81仙01皿外),对拷贝到SRRAM的内核映像文件进行解压缩;最后跳转到执行调用内核函数(ca1.1.kerne1.),将控制权交给解压后的HC1.inUX系统 执行CaI1.kerne1执行CaI1.kerne1.函数实际上是执行1.inux/init/aain.c中的start-kerne1.函数,中包括处理器结构的初始化、中断的初始化、进程相关的初始化以及内存初始化等流要工作,5、启动引导方案优点 实现了自举模式和内核启动模式以及两种模式的切换 本方案采用简易的小口通道作业主机与目标系统的通信柔道 针对ARM7TDMI的无MMI:特性,采用修改后的PC1.inux内核引导程序加栽操作系统和初始化操作系统环境,斛决内核加税的地址重映射问题和操作系统的内存管理何即无线通讯类型红外数据通讯IRDA 红外通讯协议将红外数据通讯所采用的光波波长的范困限定在850nm至9O0rm之内 更适合应用在短距离无线通讯的场合,进行点对点的直线数据传输 IKDA有着本钱低廉、连接方便、简的易用和结构紧凑的特点 IRDA标准包括三个根木的标准和协议: 物理层标准(PhySiCaI1.ayer1.inkSpecification) 连接建立协议(1.inkAccessProtoco1.:Ir1.P) 连接管理协议(1.inkManagementProtoco1.:Ir1.MI,IEEE802.11无线通讯标准IEEE802.11有三个标准: IEEE8O2.11 IEEK802.I1.a IEEE802.I1.b IEEE80211业务主要限于数据存取,传输速率最裔只能到达2Mbps IEEE802.1Ib标准:IEEE802JIb(Wi-Fi)使用开放的2.4GHZ宜接序.IEEE802.11b运作模式根本分为两种:点对点模式和粮本模式.点对点模式是指无线网卡和无线网卡之间的通信方式.根本模式是指无线网络规模扩充或无线和行线网络并存时的通信方式. IEEE8O2.11a标准:IEEE802.1IaT作在SGHZU-NI1.领带,物理层速率可达54MbPS,传输层可达25Mb.采用正交频分熨用(OH)M)的独特扩频技术.优于IEEE802.11b.家庭射频家庭时频HobcRF Ho1.neRF二无绳电话技术DECr无线局域网W1.AN 共享无线应用协议(SWAP:SharedUire1.essAccessProtoco1.) 适合话音和数据业务,并且特地为家庭小型网络诳行了优化减牙技术B1.uetooth 蓝牙技术是一种低功率短距黑的无线链接技术标准的代称,其实质是要建立通用的无线空中接口及其控制软件的公开标准,使通信和计算机进一步结合,使不同厂家生产的便携式设卷在没有电线或电缆相互连接的情况下,能在近巫离范围内具有互用、互操作的性能, 优点 适用设备多 工作版段全球通用 平安加密、抗干扰能力强 多谿多方向链接 通信距禹IOM 连接对象MAX7个无城通讯比较 IRDA技术适用于传输逑率高、使用次数少、移动范围小的设备,如打印机,扫描仪和数码相机等: IEEE802.11标准适用于传输即肉长、速度要求高的应用.它主要面向大规模工业和商业方面的应用; IIomeW-是专门为家庭用户设计的,它通过一台主机再移动数匏和沿音设备之间实现通讯; B1.uetooth技术面向的是小范用的移动设备,从技术本旗上来说,它是一种电观咎代技术,它适合在嵌入式的便携设法中使用。

    注意事项

    本文(ARM速成教材.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开