3398|1

2781

帖子

419

TA的资源

五彩晶圆(中级)

楼主
 

【朱兆祺带你学嵌入式】第二章第一节 U-Boot-2013.04分析与移植之BootLoader概述 [复制链接]

朱兆祺从本节开始,就带领大家进入U-Boot-2013.04的移植,这是2013年4月份发布的U-Boot源码,是U-Boot版本中的重要分水岭。从本节开始,如果大家要跟随我的步伐,那就得准备好一块OK6410开发板,因为我讲解嵌入式Linux的学习是以OK6410为载体进行的。
    从最终用户的角度看,BootLoader(即启动代码)是处理器复位后进入操作系统之前执行的一段代码,用以完成由硬件启动到操作系统启动的过渡,为操作系统的运行提供基本的环境,如关闭看门狗、初始化时钟和配置存储器等。启动代码的最终目的是引导操作系统的启动,但从开发人员的角度看,为了开发和调试的方便,还会增加串口控制、以太网络等功能。
    嵌入式系统与应用密切结合,它具有很强的专用性。实际系统的需求往往千差万别,BootLoader代码与CPU的类型、应用系统的配置及使用的操作系统等因素密切相关,这就注定了不可能有完全通用的BootLoader,实际运用时必须根据具体情况对启动代码进行移植。
表2. 1开发板配置
类别
型号
规格
CPU
S3C6410
-
NAND Flash
K9GAG08U0D
2G
DRAM
K4X1G163PC
128M*2
Ethernet
DM9000A
-
LCD
WXCAT43
4.3寸

    本文所写的内容都是基于表2. 1所示配置的单板(board):NAND芯片K9GAG08U0D共4096块,每块的包含128页,每页由4096字节的数据区和218字节的空闲区组成。两片64 M×16 bit的Mobile DDR芯片K4X1G163PC,组合构成共256 MB的内存。尽管每个人持有的单板配置各异,但分析、移植的原理相通。
    U-Boot,全称为Universal Boot Loader(通用bootloader),是遵循GPL条款的开放源码项目。由德国DENX小组开发和维护的,其高超的技术使得U-Boot能够非常容易地被移植到多种嵌入式CPU中,支持多种嵌入式操作系统内核的引导。不少U-Boot源码就是linux内核源码的简化,特别是一些设备的驱动程序,使得它在引导Linux Kernel方面尤为出色。本文选用当前最新版本的U-Boot,结合S3C6410处理器自身的特点,分析和探讨它的移植要点。笔者认为移植工作必须在充分理解源码的组织方式、处理器特点、单板外围器件原理等基础上进行。充分利用源码已经实现的功能,最小限度地破坏源码的结构。
此帖出自ARM技术论坛

最新回复

uboot应该只有引导代码是汇编写的, 后续的代码都是用c  详情 回复 发表于 2013-11-27 20:44

点评

uboot应该只有引导代码是汇编写的, 后续的代码都是用c  详情 回复 发表于 2013-11-27 20:44

赞赏

1

查看全部赞赏

点赞 关注
个人签名
 

回复
举报

447

帖子

30

TA的资源

五彩晶圆(初级)

沙发
 

回复 楼主qinkaiabc 的帖子

uboot应该只有引导代码是汇编写的, 后续的代码都是用c
此帖出自ARM技术论坛
 
个人签名www.ctdisk.com/u/1283024
个人书库,持续更新中。
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表