电子技术论坛

?找回密码
?亚博网上开户

QQ登录

只需一步,快速开始

搜索
查看: 4668|回复: 0
打印 上一主题 下一主题

嵌入式Linux-JZ2440-U-Boot学习简介

[复制链接]

624

主题

627

帖子

416

积分

专栏作家

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
416
跳转到指定楼层
1#
发表于 2015-6-5 11:54:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
U-Boot,通用Bootloader,是遵循GPL条款的开放源代码项目,其前身是德国DENX软件工程中心的WolfgangDenk基于8xxROM的源码创建的PPCBOOT工程,后来整理代码结构使得非常容易增加其它类型的开发板、其他架构的CPU,增加更多的功能,比如起动Linux、下载S-Record格式的文件、通过网络启动、通过PCMCIA/CompactFLash/ATAdik/SCSI等方式起动。增加ARM架构CPU及其他更多CPU的支持后,改名为U-Boot。
它的名字“通用”有两层含义:可以引导多种操作系统、支持多种架构的CPU。它支持如下操作系统:Linux、NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS等,支持如下架构的CPU:PowerPC、MIPS、x86、ARM、NIOS、XScale等。
以U-Boot-1.1.6为例,它的根目录下面有26个子目录,可以分为4类:
(1)平台相关的或者开发板相关的。
(2)通用的函数。
(3)通用的设备驱动程序。
(4)U-Boot工具、示例程序、文档。
这26个子目录的功能和作用:
board:开发板相关的,对应不同配置的电路板(即使CPU相同),比如smdk2410,sbc2410x
CPU:平台相关的,对应不同的CPU,比如arm920t、arm925t、i386等;在它们的子目录下仍可以进一步细分,比如arm920t下就有at91rm9200、s3c24x0
lib_xxx:平台相关,某一架构通用的文件
include:通用的函数,头文件和开发板配置文件,开发板的配置文件都放在include/configs目录下,U-Boot没有makemenuconfig类似的菜单来进行可视化配置,需要手动地修改配置文件中的宏定义
lib_generic:通用的函数库,比如printf等
common:通用的函数,多是对下一层驱动程序的进一步封装。
disk:硬盘接口程序
drivers:各类具体设备的驱动程序,基本上都可以通用,他们是通过宏从外面引入平台/开发板相关的函数
dtt:数字温度测量器或者传感器的驱动
fs:文件系统
nand_spl:U-Boot一般从ROM、NORFlash等设备启动,现在开始支持从NANDFlash启动,但是支持的CPU种类还不多
net:各种网络协议
post:上电自检程序
rtc:实时时钟的驱动
doc:开发、使用文档
examples:示例程序,一些测试程序,可以使用U-Boot下载后运行。
tools:工具,制作S-Record、U-Boot格式映像的工具,比如mkimage

目前U-Boot-1.1.6支持10种架构,根目录下有10个类似lib_i386的目录;31个型号的CPU,cpu目录下有31个子目录;214中开发板,board目录下有214个子目录,很容易从中找到与自己的板子相似的配置,在上面稍作修改即可使用。
您需要登录后才可以回帖 登录 | 亚博网上开户

本版积分规则

手机版|电子技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2019-9-5 19:24 , Processed in 0.040334 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

? 2001-2018 Comsenz Inc.

快速回复 返回顶部 返回列表