您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术嵌入式系统引导技术研究 正文
嵌入式系统引导技术研究

嵌入式系统引导技术研究

点击数:7992 次   录入时间:03-04 11:50:32   整理:http://www.55dianzi.com   嵌入式系统-技术

  2.3 引导 代码的构成和运行

  系统启动所涉及的代码由寄存器初始化汇编文件start.s、一个Load程序 以及 操作系统 与应用程序的Image三部分构成,引导代码则只包含start.s和Load程序。Load程序的作用是将操作系统与应用程序的构成的Image从Flash拷贝到SDRAM中,并跳转到Image的首条指令。

  调试完成后的Image有两种运行模式:

  Flash-resident image:Load程序仅仅 把Image中的数据段(data+bss)复制到RAM中,代码段(text)在Flash中直接运行。

  Flash-based image:Load程序把Image完全搬到RAM中执行,包括image中的代码段(text)和数据段(data+bss)。

  图2和图3分别描述了两种Image的存贮映象,以及从Flash到SDRAM的装载过程。

Flash-resident image 内存映像

Flash-based Image 内存映像

  2.4 时间效率和空间效率上的折衷

  在 嵌入式 系统的应用过程中,针对不同的应用环境,对时间效率和空间效率有不同的要求,基于MPC860的启动代码对此有比较充分的解决方案。

  2.4.1 时间限制

  时间限制主要包括两种情况:系统要求快速启动和系统启动后要求程序高速执行。

  对于要求快速启动的系统,应该使在Flash中执行的初始化程序尽量简短,诸如循环语句之类的语法应该尽量减少,尽快将程序装载到RAM中执行,这样做的原因在于Flash的访存时间与RAM的访存时间存在数量级上的差距。但是必须根据代码量以及存储器的特片进行权衡。因为,虽然RAM中捃速度快,但是将Flash中的代码复制到RAM中的操作会带来一定的开销。由于可见,启动时间由Flash中引导代码的运行时间、代码从Flash拷贝到RAM的时间以及RAM中后续启动代码的运行时间三部分组成。启动时间的最小值是这三者和的最小值。

  对于启动后要求程序高速执行的系统,主要受处理器、存储器特性以及I/O速度等的影响。在软件方面,应该采用了上述Flash-based image方式,使得代码段在RAM中运行,提高运行速度。

  2.4.2 空间限制

  空间限制主要包括两种情况:Flash等非易失性存储空间有限和RAM等易失性空间有限两种系统。

  对于采用高性能非易失性存储器的系统,出于成本因素,Flash等存储设备不能太大,然而它又是系统存放启动代码和操作系统Image的地方。在存放Image时,可以先使用gzip等压缩工具进行压缩,在将Image加载到RAM时采用逆向的解压缩算法解压。同时,出于实时性考虑,压缩算法不能过于复杂,否则压缩解压过程消耗大量时间将与启动时间限制发生严重冲突。采用压缩策略并不一定会增加系统启动时间,因为压缩解压过程虽然消息了一定的时间,但是由于Image体积减小,由Flash复制到RAM中的时间相应减少,有可能反而减少了时间消耗。

  对于采用高性能RAM的系统,同样出于成本因素,RAM空间有一定限制,此时一般采用前文描述的Flashresident image方式:Load程序把Image中的数据段复制到RAM中,代码段在Flash中运行。折衷同样存在,因为code段在低速的Flash中运行,在节省空间的同时,却牺牲了时间。

  本文介绍了基于嵌入式处理器的操作系统引导方法,重点研究嵌入式系统的引导模式以及不同类别的引导方法。以在MPC860C处理器上引导CRTOSII操作系统为例,阐述了调试模式和固化模式下引导代码的构成、作用以及执行方式,并对不同引导模式下的时空效率的折衷进行了分析。最终,借助BDI2000仿真器对编写的引导代码进行调试,成功实现了调试模式和固化模式下操作系统的引导。后续工作包括:继续研究在不同硬件平台上的操作系统引导方法,例如最流行的ARM、X86系列;在同一平台上,可以研究不同操作系统的启动方法,例如嵌入式Linux、Vxworks、WinCE等。同时,可以引入数字模型对时间、空间性能进行量化分析,以便在不同环境下采取比较合适的引导方案。

上一页  [1] [2] 


本文关键字:技术  嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术