欢迎来到天天文库
浏览记录
ID:37897372
大小:65.50 KB
页数:17页
时间:2019-06-02
《uboot源代码分析及移植》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本科生课程设计题目:uboot源代码分析及移植摘要以研究ARMLINUX嵌入式系统的基本操作方法,操作环境为目的,分析了引导程序Uboot的目录结构及移植过程中需主要修改文件,结合自己的开发环境湘西给出了Uboot1.1.4在YLP2410开发板上具体的移植方法和步骤,包括环境的搭建,代码的添加位置,遇到的常见错误,且给出的一些具体的配置文件,最后将U-boot.bin文件下载到平台,运行稳定,通过测试。关键词:嵌入式系统移植交叉编译BootloaderU-bootAbstractInordertores
2、earchthebasalmethodandoperationenvironmentofarnrlinuxembededsystem.thecatalogandmainfilestobemodifideinexplantingcourseofu-bootwereanalysed,thengivesthematerialmethodandproucessofexplantofexplantofUboot-1.1.4inYLP2410developingplantformwasgiven.Whichinclu
3、destheenvironmentestablished,theplaceofcodesaccession,thefamiliarfaultsandsomematerialconfiguraionfiles.finallydownloadingU-boot.bintotheplatform,runsteadily,passthetesting.Keywords:Embededsystem,porting,crossingcompile,Bootloader,U-boot目录一、u-boot工程的总体结构5
4、1、源代码组织52.u-boot的通用目录是怎么做到与平台无关的73.smkd2410其余重要的文件:8二、u-boot的流程、主要的数据结构、内存分配81.u-boot的启动流程:82、u-boot主要的数据结构113、u-boot重定位后的内存分布:13三、u-boot的重要细节131.命令相关的函数和定义132.在u-boot中,如何添加一个命令:15致谢17一、u-boot工程的总体结构1、源代码组织 对于ARM而言,主要的目录如下:board 平台依赖 存放电路板相关的目录文件,每一套板子对应一
5、个目录。如smdk2410(arm920t) cpu 平台依赖存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、xscale、i386等目录lib_arm平台依赖 存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,如软件浮点。common 通用 通用的多功能函数实现,如环境,命令,控制台相关的函数实现。Include通用 头文件和开发板配置文件,所有开发板的配置文件都在configs里 lib_gener
6、ic通用 通用库函数的实现net 通用 存放网络协议的程序drivers 通用 通用的设备驱动程序,主要有以太网接口的驱动,nand驱动。所有这些目录的编译连接都是由顶层目录的makefile来确定的。在执行make之前,先要执行make$(board)_config对工程进行配置,以确定特定于目标板的各个子目录和头文件。$(board)_config:是makefile中的一个伪目标,它传入指定的CPU,ARCH,BOARD,SOC参数去执行mkconfig脚本。这个脚本的主要功能在于连接目标板平台相关
7、的头文件夹,生成config.h文件包含板子的配置头文件。使得makefile能根据目标板的这些参数去编译正确的平台相关的子目录。以smdk2410板为例,执行 makesmdk2410_config,主要完成三个功能:1.在include文件夹下建立相应的文件(夹)软连接,#如果是ARM体系将执行以下操作:#ln-s asm-arm asm #ln-s arch-s3c24x0 asm-arm/arch#ln-s proc-armv asm-arm/proc2.生成M
8、akefile包含文件include/config.mk,内容很简单,定义了四个变量:ARCH =armCPU =arm920tBOARD =smdk2410SOC =s3c24x03.生成include/config.h头文件,只有一行:/*Automaticallygenerated-donotedit*/#include"config/smdk2410.h"顶层makefile先调用各子目录的makefile,
此文档下载收益归作者所有