b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

文件系统转换 Bootloader之uBoot简介(转)(6)

电脑杂谈  发布时间:2018-02-07 22:32:44  来源:网络整理

通用的函数

头文件和开发板配置文件,开发板的配置文件都放在include/configs目录下,U-Boot没有make menuconfig类似的莱单来进行可视化配置,需要手动地修改配置文件中的宏定义

lib_generic

通用的库函数,比如printf等

common

通用的函数,多是对下一层驱动程序的进一步封装

disk

通用的设备驱动程序

硬盘接口程序

drivers

各类具体设备的驱动程序,基本上可以通用,它们通过宏从外面引入平台/开发板相关的函数

dtt

数字温度测量器或者传感器的驱动

fs

文件系统

nand_spl

U-Boot一般从ROM、NOR Flash等设备启动,现在开始支持从NAND Flash启动,但是支持的CPU种类还不多

net

各种网络协议

post

上电自检程序

rtc

实时时钟的驱动

doc

文档

开发、使用文档

examples

示例程序

一些测试程序,可以使用U-Boot下载后运行

tools

工具

制作S-Record、U-Boot格式映像的工具,比如mkimage

U-Boot中各目录间也是有层次结构的,虽然这种分法不是绝对的,但是在移植过程中可以提供一些指导意义,如图2所示。

2 U-Boot顶层目录的层次结构

比如common/cmd_nand.c文件提供了操作NAND

Flash的各种命令,这些命令通过调用drivers/nand/nand_base.c中的擦除、读写函数来实现。这些函数针对NAND

Flash的共性作了一些封装,将平台/开发板相关的代码用宏或外部函数来代替。而这些宏与外部函数,如果与平台相关,就要在下一层次的cpu

/xxx(xxx表示某型号的CPU)中实现;如果与开发板相关,就要在下一层次的board/xxx目录(xxx表示某款开发板)中实现。本书移植的

U-Boot,就是在cpu/arm920t/s3c24x0目录下增加了一个nand_flash.c文件来实现这些函数。

以增加烧写yaffs文件系统映像的功能为例——就是在common目录下的

cmd_nand.c中增加命令,比如nand

write.yaffs:这个命令要调用drivers/nand/nand_util.c中的相应函数,针对yaffs文件系统的特点依次调用擦除、烧

写函数。而这些函数依赖于drivers/nand/nand_base.c、cpu/arm920t/s3c24x0/nand_flash.c文件中

的相关函数。

目前u-boot-1.1.6支持10种架构——根目录下有10个类似lib_i386的目

录、31个型号(类型)的CPU——cpu目录下有31个子目录,214种开发板——board目录下有214个子目录,很容易从中找到与自己的板子相似

的配置,在上面稍作修改即可使用。

2.3 U-Boot的配置、编译、连接过程

1. U-Boot初体验

u-boot-1.1.6中有几千个文件,要想了解对于某款开发板,使用哪些文件、哪个文件首先执行、可执行文件占用内存的情况,最好的方法就是阅读它的Makefile。

根据顶层Readme文件的说明,可以知道如果要使用开发板board/<board_name>,就先执行“make <board_name>_config”命令进行配置,然后执行“make all”,就可以生成如下3个文件:

u-boot.bin:二进制可执行文件,它就是可以直接烧入ROM、NOR Flash的文件。

u-boot:ELF格式的可执行文件


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66092-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...