S3C44B0X 中Blob 源代码的设计与移植.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S3C44B0X 中Blob 源代码的设计与移植 徐杰,罗桂娥,丁守磊 ( 中南大学信息科学与工程学院 长沙 410083) 摘 要:在嵌入式系统开发中,系统启动源代码的开发是一个技术难点。本文详细叙述基于 在ARM7TDMI-S3C44B0X 开发平台的blob (Boot Loader Object )的原理、设计方法及移植。 关键词:blob s3c44b0 嵌入式系统 1 Blob 的概述 嵌入式Linux 系统通常由三部份组成:Bootloader(引导加载程序) 、Kernel 和File System 。 bootloader 是嵌入式系统内核启动前运行的一段源代码,用来完成操作系统启动和系统软件 加载工作的程序,它是底层硬件和上层应用软件之间的一个软件,完成对CPU 和外围硬件 的初始化,可以屏蔽底层硬件的差异,使得上层应用软件的编写和移植更加方便。Blob 是 是一款功能强大的bootloader 。Blob 的主要任务是:引导和初始化;加载uClinux Kernel ; 设置内核启动参数;调用uClinux Kernel 及其它辅助功能。本文主要介绍如何设计适合自己 硬件平台的blob 。 2 Blob 分析与设计 2.1 硬件平台简介[1] blob 随硬件平台不同而又所不同,所以在设计blob 时,必须对硬件平台有所了解。在 本文中所用开发平台的配置如下: 三星ARM7 处理器S3C44B0,ARM7TDMI,工作在60MH; 2MB 的Nor Flash,地址范围为0x0000 0000-0x0020 0000; 8MB 的SDRAM,地址范围为 0x0c00 0000-0x0c80 0000; 2 个串口,最高波特率115200KB; 网络接口,10M 以太网,RTL8019; CAN 接口,125KB 、250KB 、500KB 、1MB; 8 个LED 灯,共阴极; JTAG 接口,14 针、20 针; A/D ,8 路10 位,满量程为2.5V, 已用前4 路; D/A ,10 位,满量程4.096V; 晶振为6MH,系统工作在60MHZ 。 2.2 blob 运行过程分析 Blob 编译后的代码定义最大为64KB,这段代码又可以分为两个阶段,第一阶段主要是 和硬件相关的部分,主要是用汇编语言编写;与硬件无关的,比较容易移植的放在第二阶段, 主要是用C 语言编写。这样可以提高程序的重用性和可移植性。 程序代码通过JTAG 口烧写到目标板的2MB 的flash 上,blob 中对各个映像文件的位置 -1- 安排如下: 表1 映像文件存储区块分布表 区块名称 FLASH SDRAM 大小 Blob 0-60KB 0x0c100000 60KB 参数 60-64KB 0x0c110000 4KB 内核 64-768KB 0x0c300000 704KB 根文件系统 768-2048KB 0x0c400000 1280KB(1MB) Blob 中有三个主要的文件:start.s, trampoline.s, main.c 。这三个文件将所有相关的功能文 件都联系了起来[2] 。 对./src/blob/Makefile.am 文件的分析中,可以清楚地发现Blob 代码分为两个阶段。 blob: blob-start blob-rest rm -f $@ dd if=blob-start

文档评论(0)

锦绣中华 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档