|
閹垛偓閺堫垱鏋冩惔鎾活浕妞わ拷
|
缂傛牜鈻�
|
IC
|
閺呮湹缍嬬粻锟�
|
缁崘袙
|
娑擃參顣�
|
閸忚泛鐣�
|
閻㈠灚绨�
|
閸╄櫣顢�
|
閻絻鍓�
|
閺冪姷鍤�
|
濞戝弶娅�
|
瀵邦喗灏�
|
缁岄缚鐨�
|
閹靛婧€
|
|
閻戭厽鎸夐崳锟�
|
閻㈤潧濮╂潪锟�
|
LED鐏烇拷
|
閻掑﹥婧€
|
您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

Blob在S3C2440A上的移植

1引言Bootloader是在操作系统运行之前执行的一段程序。通过这段小程序,初始化硬件设备,建立内存空间的映射表,设置适当的系统软硬件环境,为最终调用操作系统内核做准备。目前流行的可以引导加载Linux的Bootloader包括:支持x86体系结构的LILO,GRUB,ROLO,Loadlin,Etherboot,LinuxBIOS;支持ARM体系结构的Compaq的bootldr,Blob,U-Boot,vivi,RedBoot;支持MIPS体系结构的PMON和支持m68K体系结构的sir-boot。相对于上述Boot

1引言

Bootloader是在操作系统运行之前执行的一段程序。通过这段小程序,初始化硬件设备,建立内存空间的映射表,设置适当的系统软硬件环境,为最终调用操作系统内核做准备。目前流行的可以引导加载Linux的Bootloader包括:支持x86体系结构的LILO,GRUB,ROLO,Loadlin,Etherboot,LinuxBIOS;支持ARM体系结构的Compaq的bootldr,Blob,U-Boot,vivi,RedBoot;支持MIPS体系结构的PMON和支持m68K体系结构的sir-boot。相对于上述Bootloader,Blob具有代码量小,文件结构清楚等优势,更易于在具有ARM核的器件上移植。

2 Blob简介

Blob是Boot Loader Object的缩写,是一款功能强大的Bootloader。它遵循GPL,源代码完全开放,既可用来进行简单调试,也可启动Linux Kernel。最初的Blob是Jan-DerkBakker和Erik Mouw为一块名为LART(Linux Advanced Radio Terminal)的板子写的,该板使用的处理器是StrongARMSA-1100。Blob的主要特征是引导嵌入式Linux功能即把Kernel、根文件系统等从Flash中调入SDRAM执行;存储操作功能。即支持内存查看、修改、比较;设备驱动功能。即支持串口,Flash、外部SDRAM等驱动;命令交互功能。可在命令行下在线更新Blob,Kemel和ramdisk。

3 Blob的运行过程分析

图1给出Blob的启动示意图。定义Blob编译后的最大代码为64 KB,并且这64 KB分为两个阶段来执行。第一阶段的代码在start.s中定义,大小为1 KB,包括从系统上电后在0x00000000地址开始执行的部分。这部分代码包括对S3C2440A的一些寄存器的初始化和将Blob第二阶段代码从Flash拷贝到SDRAM中。除去第一阶段的1 KB代码,剩下的部分都是第二阶段的代码。第二阶段的起始文件为trampoline.s,被复制到SDRAM后,就从第一阶段跳到这个文件开始执行剩余部分代码。第二阶段的代码最大为63 KB,trampoline词义为"蹦床",所以在该程序中进行一些BSS段设置和堆栈的初始化等工作后,最后跳转到main.c进入C函数。


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj