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

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

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

u-boot.srec:Motorola S-Record格式的可执行文件

对于S3C2410的开发板,执行“make smdk2410_config”、“make all”后生成的u-boot.bin可以烧入NOR Flash中运行。启动后可以看到串口输出一些信息后进入控制界面,等待用户的输入。

对于S3C2440的开发板,烧入上面生成的u-boot.bin,串口无输出,需要修改代码。

在修改代码之前,先看看上面两个命令“make smdk2410_config”、“make all”做了什么事情,以了解程序的流程,知道要修改哪些文件。

另外,编译U-Boot成功后,还会在它的tools子目录下生成一些工具,比如mkimage等。将它们复制到/usr/local/bin目录下,以后就可以直接使用它们了,比如编译内核时,会使用mkimage来生成U-Boot格式的内核映像文件uImage。

2. U-Boot的配置过程

在顶层Makefile中可以看到如下代码:

SRCTREE:= $(CURDIR)

……

MKCONFIG:= $(SRCTREE)/mkconfig

……

smdk2410_config:unconfig

@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

假定我们在u-boot-1.1.6的根目录下编译,则其中的MKCONFIG就是根目录下的mkconfig文件。$(@:_config=)的结果就是将“smdk2410_config”中的“_config”去掉,结果为

“smdk2410”。所以“make smdk2410_config”实际上就是执行如下命令:./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0

再来看看mkconfig的作用,在mkconfig文件开头第6行给出了它的用法:

06 # Parameters: Target Architecture CPU Board [VENDOR] [SOC]

这里解释一下概念,对于S3C2410、S3C2440,它们被称为SoC(Systemon Chip),上面除CPU外,还集成了包括UART、USB控制器、NANDFlash控制器等等设备(称为片内外设)。S3C2410/S3C2440中的CPU为arm920t。

以下,分步骤分析mkconfig的作用:

(1)确定开发板名称BOARD_NAME。

对于“./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0”命令,其中没有“--”、“-a”、“-n”等符号,所以第14~22行没做任何事情。第11、12行两个变量仍维持原来的值。

执行完第23行后,BOARD_NAME的值等于第1个参数,即“smdk2410”。

(2)创建到平台/开发板相关的头文件的链接。

略过mkconfig文件中的一些没有起作用的行:

第33行判断源代码目录和目标文件目录是否一样,可以选择在其他目录下编译U-Boot,这可以令源代码目录保持干净,可以同时使用不同的配置进行编译。不过本书直接在源代码目录下编译的,第33行的条件不满足,将执行else分支的代码。

第46~48行进入include目录,删除asm文件(这是上一次配置时建立的链接文件),然后再次建立asm文件,并令它链接向asm-$2目录,即asm-arm。

继续往下看代码:

第51行删除asm-$2/arch目录,即asm-arm/arch。


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

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

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