u-boot启动代码start.S详解

u-boot启动代码start.S详解

ID:37897734

大小:24.24 KB

页数:10页

时间:2019-06-02

u-boot启动代码start.S详解_第1页
u-boot启动代码start.S详解_第2页
u-boot启动代码start.S详解_第3页
u-boot启动代码start.S详解_第4页
u-boot启动代码start.S详解_第5页
资源描述:

《u-boot启动代码start.S详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、U-BOOT一、U-BOOT的目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。■第一类目录与处理器体系结构或者开发板硬件直接相关;■第二类目录是一些通用的函数或者驱动程序;■第三类目录是u-boot的应用程序、工具或者文档。Board:和一些已有开发板相关的文件,比如Makefile和u-boot.lds等都和具体开发板的硬件和地址分配有关。Common:与体系结构无关的文件,实现各种命令的C文件。CPU:CPU相关文件,其中的子目录都是以u-boot所支持的CPU为名,

2、比如有子目录arm926ejs、mips、mpc8260和nios等,每个特定的子目录中都包括cpu.c和interrupt.c和start.S。其中cpu.c初始化cpu、设置指令cache和数据cache等;interrupt.c设置系统的各种终端和异常,比如快速中断,开关中断、时钟中断、软件中断、预取中止和未定义指令等;start.S是u-boot启动时执行的第一个文件,他主要是设置系统堆栈和工作发式,为进入C程序奠定基础。Disk:disk驱动的分区处理代码、Doc:文档。Drivers:通用设备驱动程序,比如各种网卡、支持CFI

3、的flash、串口和USB总线等。Dtt:数字温度测量器或者传感器的驱动Examples:一些独立运行的应用程序的例子。Fs:支持文件系统的文件,u-boot现在支持cramfs、fat、fdos、jffs2、yaffs和registerfs。Include:头文件,还有对各种硬件平台支持的会变文件,系统的配置文件和对文件系统支持的文件。Net:与网络有关的代码,BOOTP协议、TFTP协议RARP协议和NFS文件系统的实现。Lib_ppc:存放对PowerPC体系结构通用的文件,主要用于实现PowerPC平台通用的函数,与PowerPC

4、体系结构相关的代码。Lib_i386:存放对X86体系结构通用的文件,主要用于实现X86平台通用的函数,与PowerPc体系结构相关的代码。Lib_arm:存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,与ARM体系结构相关的代码。Lib_generic:通用的多功能函数实现。Post:上电自检。Rtc:实时时钟驱动。Tools:创建S-Record格式文件和U-BOOTimages的工具。二、u-boot的编译u-boot的源码是通过GCC和Makefile组织编译的,顶层目录下的Makefile首先可以设置板子的定义

5、,然后递归地调用各级目录下的Makefile,最后把编译过的程序链接成u-boot的映像。顶层目录下的Makefile,它是负责U-Boot整体配置编译。每一种开发板在Makefile都需要有板子配置的定义,如smdk2442定义如下:smdk2442_config: unconfig @./mkconfig$(@:_config=)armarm920tsmdk2442执行配置U-Boot的命令makesmdk2442_config,通过./mkconfig脚本生成include/config.mk的配置文件。文件内容是根据Makefil

6、e对板子的配置生成的。配置环境和编译过程如下所述,U-boot的编译环境配置需要:cross-2.95.3.tar.bz2和s3c24x0_uboot_rel_0_0_1_061002.tar.bz2,将文件拷贝到/home/amoi/working/下,(chenpx@chenpx:/mnt/hgfs/share$cpcross-2.95.3.tar.bz2/home/amoi/working和chenpx@chenpx:/mnt/hgfs/share$cps3c-u-boot-1.1.6.tar.bz2/home/amoi/worki

7、ng), 然后对对文件进行解压(chenpx@chenpx:/home/chenpx/working$tarjxvfcross-2.95.3.tar.bz2和chenpx@chenpx:/home/chenpx/working$tarjxvfs3c24x0_uboot_rel_0_0_1_061002.tar.bz2),在/usr/local/目录下建立一个arm文件夹(mkdir–p/usr/local/arm(-p 是需要时创建上层目录,如目录早已存在则不当作错误))将cross-2.95.3.tar.bz2解压出来的移动到/usr/

8、local/arm/下(mv2.95.3/usr/local/arm/)移动后添加环境变量exportPATH=$PATH:/usr/local/2.95.3/bin/修改s3c24x0_ub

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。