您现在的位置:首页 > 基础知识基础知识

BLOB启动流程与Bootloader程序可移植性研究

发布时间:2017-09-14 07:27:52  来源:大电流电感厂家   查看:

在嵌入式系统应用中,通过引导程序(Bootloader)可以初始化硬件设备、建立内存空间的映射图、加载内核,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境[1]。Bootloader依赖于实际的硬件和应用环境,对于不同的硬件贴片电感架构以及相同架构的不同电路板,都需要不同的Bootloader。由于单独开发Bootloader的工作量较大,因此开发人员一般针对固定体系构架开发一种可移植性的Bootloader,使之能够在少量修改后应用于同一体系构架的其他电路板。BLOB就是一种针对ARM体系定制的可移植性良好的嵌入式Linux引导程序。BLOB支持多种CPU,包括SA1100、SA1110、PXA255、PXA270等,用户可以根据目标板的特性进行定制。它能实现以下功能:
  (1)引导嵌入式Linux,它可以把Linux、Kernel等从Flash加载到RAM中执行;

  (2)命令行下在线更新BLOB、Kernel和ramdisk;

  (3)命令行下可以直接对物理寻址空间进行查看和修改。

  可见BLOB除了引导系统这个基本功能外,还具备板级支持包(BSP)开发的功能。

  1 启动流程分析

  系统的启动通常有两种方式,一种是可以直接Flash 启动,另一种是可以将压缩的内存映像文件从Flash中复制、解压到RAM,再从RAM启动。系统上电时,BLOB采用后者,启动过程分两个阶段进行,其中第一阶段在Flash中运行,第二阶段在RAM中运行。图1为BLOB启动流程图。

  

BLOB启动流程图

环形电感

  1.1 第一阶段

  第一阶段为从系统上电后在0x00000000 地址开始执行的部分。这部分代码运行在Flash中,其目的是为第二阶段(stage 2)的执行以及随后的Kernel的执行准备好基本的塑封电感硬件环境[2]。

  (1)屏蔽所有的中断

  为中断提供服务通常是OS设备驱动程序的责任,因此在Bootloader的执行全过程中不必响应任何中断。中断屏蔽可以通过写CPU的中断屏蔽寄存器或状态寄存器(如ARM的CPSR寄存器)来完成。

  (2)设置CPU的速度和时钟频率

  (3)RAM初始化

  包括正确地设置系统内存控制器的功能寄存器以及各内存库控制寄存器等。

  (4)LED初始化

  通过GPIO来驱动LED,其目的是表明系统的状态是否正常。如果板子上没有LED,则可以通过初始化UART向串口打印 Bootloader的Logo字符信息来完成。贴片电感

  1.2 第二阶段

  第二阶段是C语言执行代码,具体说明如下。

  (1)UART设置及初始化

  至少初始化一个串口,以便与终端用户进行 I/O 输出信息,初始插件电感器化计时器等。设备初始化完成后,可以输出一些打印信息、程序名字字符串、版本号等。

  (2)设置系统的内存映射

  内存映射是指在整个物理地址空间中有哪些地址被分配用来寻址系统的RAM单元。具体的嵌入式系统往往只把CPU预留的全部RAM地址空间中的一部分映射到RAM单元上,而让剩下的部分预留RAM地址空间处于未使用状态。因此Bootloader的 stage 2必须在使用它之前检测整个系统的内存映射情况。在用上述算法检测完系统的内存映射情况后,BLOB将内存映射的详细信息打印到串口。

  (3)加载内核映像和根文件系统映像

  在规划内存占用的布局时,应包括两个方面:内核映像所占用的内存范围;根文件系统所占用的内存范围。在规划内存占用布局时,主要考虑基地址和映像的大小两个方面。

  对于内核映像,一般将其拷贝到从(MEM_START+0x8000)这个基地址开始的大约1MB大小的内存范围内(嵌入式Linux的内核一般都不超过1MB)。

  而对于根文件系统映像,则一般将其拷贝到 MEM_START+0x0010,0000开始的地方。如果用Ramdisk作为根文件系统映像,则其解压后的大小一般是1MB。

  (4)设置Linux内核的启动参数。

  (5)可以选择直接调用内核或者进入下载模式。

  在下载模式下,BLOB将通过串口从主机(Host)下载文件,例如下载内核映像和根文件系统映像等。2 Bootloader的可移植性研究

  大部分Bootloader的总体结构与BLOB类似,一般分为两个阶段运行。其中第一阶段与CPU架构相关,不同架构CPU往往要求不同的Bootloader与之对应[3],只有少数Bootloader能够适用于多种架构的CPU,如表1。平面变压器厂家 | 平面电感厂家

急求TI德州仪器type-c加PD方案大家好,因客户指定用TI德州的方案做一款60W的私模type-c加PD方案,本人也没接触过这一块,那位大神做过这个方案请多多指点下,谢谢,客户要求5v/9v/12v/20v  3A,客户指定芯片型号如

据说双管正激比单反激好?可靠多。。。!总觉得反激的开关电源故障多。 好比初级MOSFET击穿等。 以前彩电的电源几乎全部都是 反激开关电源,模拟电视机都是150W左右的27寸等CRT彩电。 发觉 其实模拟电视机对电源的要求也是比较高的。 反激电源也如此使用。 这不是证明这150~200W的电源中,反激应该是性价比最高的。 否则 CRT电视机不用采用这个方案。 就是性价比高

半导体技术的进步缔造更智能、更纤薄的电源随着个人计算机(PC)及电视机采用更纤薄优雅的外形因数,电源必须降低厚度,超便携计算机用的适配器也必须变成紧凑轻巧的旅行伴侣。为了帮助符合此类目标,准方波谐振(QR)电源提供高开关能效,还帮助降低电磁

CopyRight2014
大电流电感 | 大功率电感 | 扁平线圈电感 注塑加工厂