- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
u-boot启动代码startS_boardc详解
u-boot启动代码start.S board.c详解/u1/59572/showart_1012137.html
一、U-BOOT的目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。?第二类目录是一些通用的函数或者驱动程序;?第三类目录是u-boot的应用程序、工具或者文档。Board:和一些已有开发板相关的文件,比如Makefile和u-boot.lds等都和具体开发板的硬件和地址分配有关。Common:与体系结构无关的文件,实现各种命令的C文件。CPU:CPU相关文件,其中的子目录都是以u-boot所支持的CPU为名,比如有子目录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的flash、串口和USB总线等。Dtt:数字温度测量器或者传感器的驱动Examples:一些独立运行的应用程序的例子。Fs:支持文件系统的文件,u-boot现在支持cramfs、fat、fdos、jffs2、yaffs和registerfs。Include:头文件,还有对各种硬件平台支持的会变文件,系统的配置文件和对文件系统支持的文件。Net:与网络有关的代码,BOOTP协议、TFTP协议RARP协议和NFS文件系统的实现。Lib_ppc:存放对PowerPC体系结构通用的文件,主要用于实现PowerPC平台通用的函数,与PowerPC体系结构相关的代码。Lib_i386:存放对X86体系结构通用的文件,主要用于实现X86平台通用的函数,与PowerPc体系结构相关的代码。Lib_arm:存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,与ARM体系结构相关的代码。Lib_generic:通用的多功能函数实现。Post:上电自检。Rtc: 实时时钟驱动。Tools:创建S-Record格式文件和U-BOOT images的工具。二、u-boot的编译u-boot的源码是通过GCC和Makefile组织编译的,顶层目录下的Makefile首先可以设置板子的定义,然后递归地调用各级目录下的Makefile,最后把编译过的程序链接成u-boot的映像。顶层目录下的Makefile,它是负责U-Boot整体配置编译。每一种开发板在Makefile都需要有板子配置的定义,如smdk2442定义如下:smdk2442_config:?unconfig?@./mkconfig $(@:_config=) arm arm920t smdk2442执行配置U-Boot的命令make smdk2442_config,通过./mkconfig脚本生成include/config.mk的配置文件。文件内容是根据Makefile对板子的配置生成的。配置环境和编译过程如下所述,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$ cp cross-2.95.3.tar.bz2 /home/amoi/working 和chenpx@chenpx:/mnt/hgfs/share$ cp s3c-u-boot-1.1.6.tar.bz2 /home/amoi/working),?然后对对文件进行解压(chenpx@chenpx:/home/chenpx/working$ tar jxvf cross-2.95.3.tar.bz2和chenpx@chenpx:/home/chenpx/working$ tar jxvf s3c24x0_uboot_rel_0_0_1_061002.tar.bz2),在/usr/local/目录下建立一个arm文件夹(mkdir –p /usr/local/arm (-p? 是需要时创建上层目录,如目录早已存在则不当作错误))将cross-2.95.3.tar.bz2解压出来的移动到/usr/local/arm/下(mv
您可能关注的文档
- strucad软件培训教材-4.doc
- Structshibernatespring简介.doc
- struts2 ibatis sprinng 开发环境.docx
- Struts20学习教程.doc
- Struts2整合ExtJS.docx
- STR分型技术原理.ppt
- st娱乐入门考试.doc
- Struts2全面介绍.doc
- Sun Mx000系列服务器XSCF升级方法.doc
- supesite完美实现调用资讯显示缩略图.doc
- 2024年后半学期学习计划(15篇).pdf
- 2023年部编版七年级语文(下册期中)复习题及答案.pdf
- 2024社区后备干部考试应知应会题库及答案.pdf
- 2022~2023燃气职业技能鉴定考试题库及答案第454期.pdf
- 2022年-2023年上海市叉车司机N1模拟考试题试卷(含答案).pdf
- 2022~2023内科护理(中级)考试题库及答案第789期.pdf
- 2024年广东省深圳市龙岗实验中学中考联考英语试卷含答案.pdf
- 2024年全员安全生产“大学习、 大培训、 大考试”考前练习题及答案.pdf
- 2023年国家公务员考试公共基础知识法律知识题库及答案(共150题).pdf
- 11 区域发展-2023年高考地理二模试题分项汇编(广东专用).pdf
文档评论(0)