S3C2440移植uboot过程全解移植记录解读
Uboot移植前的准备1、修改makefile、配置文件在配置文件之前,需要修改makeflie相关内容:修改如下:(1)修改编译器,这里我们的makefile已经设置为arm-linux-无需再修改,如下所示:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-linux-Endif(2)添加fl2440的配置项,如下所示:fl2440_config:unconfig@$(MKCONFIG)?$(@:_config=)?arm?arm920t??fl2440?step?s3c24x0注意:在添加的fl2440_config的第二行,必须以Table开头,不能有任何多余的符号,否则极易导致编译错误。Uboot支持多种处理器和平台,在编译uboot之前需要对其进行配置,使其支持我们自己的开发平台。在执行编译make之前,需要进行配置即make fl2440_config。通过查看顶层目录的makeflie文件,通过以下语句:MKCONFIG:= $(SRCTREE)/mkconfig得出实际执行的命令为:./mkconfig fl2440 arm arm920t fl2440 step s3c24x0执行完这句后,产生如下结果:(1)开发板名称为fl2440;(2)将include中的头文件连接到同平台相关的头文件中,这里的连接为:asm-asm-armarch-arch-s3c24x0proc-proc-armv(3)创建顶层Makefile包含的文件inclued/config.mk,该文件内容如下ARCH = armCPU = arm920tBOARD = fl2440VENDOR = stepSOC = s3c24x0(4)创建开发板相关头文件include/config.h,该文件中包含了对开发板的相关配置,如下所示:#include configs/fl2440.h从上面可以知道,在将uboot配置为适合自己的平台的时候,需要在路径/include/configs下添加配置头文件fl2440.h。这里我们修改/include/configs/sbc2410x.h的文件名为fl2440.h,并在头文件中加入以下内容:#define CONFIG_FL2440 1/* on a FL2440 Board */#define CONFIG_S3C2440 1/* specifically a SAMSUNG S3C2440 SoC*/打开fl2440.h,里面有两类宏,一类前缀应该是CONFIG_,这类宏用于选择CPU、SOC、系统时钟、选择设备驱动等;另一类前缀是CFG_,这类宏用于设置参数,例如malloc大小等。2、创建board级文件在Board目录中添加step目录,注意此step目录要和Makefile的fl2440_config下的step名字保持一致。在step中建立fl2440目录,并将Board目录中的sbc2410x目录中的所有文件复制到fl2440目录中。修改fl2440目录中sbc2410x.c为fl2440.c.修改fl2440目录下的Makefile文件,将COBJS:=?sbc2410x.o?flash.o修改为:COBJS:=?fl2440.o?flash.o至此,配置过程完成。配置的目的是通过设置相关参数、链接相关头文件,使得uboot适合我们的开发平台。3、uboot编译、链接过程Uboot的编译最终生成的u-boot.bin二进制文件,生成u-boot.bin的依赖关系由makefile指定,通过分析makefile可以得到两点:(1)u-boot第一个执行的文件是start.s;(2)如何链接各个文件生成的.o文件,由/board/step/fls2240中的U-boot.lds和config.mk决定。U-Boot的编译流程为:首先编译cpu/$(CPU)/start.S,对于不同的CPU,还可能编译cpu/$(CPU)下的其他文件。然后,对于平台/开发板相关的每个目录、每个通用目录都使用它们各自的Makefile生成相应的库。将前面两步生成的.o、.a 文件按照board/$(BOARDDIR)/config.mk文件中指定的代码段起始地址、board/$(BOARDDIR)/U-Boot.lds连接脚本进行连接得到ELF格式的U-Boot,后面Makefile还会将它转换为二进制格式、S-Record格式。这部分具体可以参考《嵌入式linux应用开发完全手册》第十五章内容15.2.3。到此修改构成一个段落,此处的修改只是构建了fl2440开发板的框架,其核心的东西还是sbc2410x的,下文会进行深层
您可能关注的文档
- Revit小教程解读.doc
- 施工自检表格讲述.doc
- RFQ和客户分析解读.ppt
- RFID标签在企业资产管理中的应用讨论解读.pptx
- 施工组织设计(高平)讲述.docx
- 旅游deal底层品类定义讲述.docx
- RFQ分享会解读.pptx
- rmf第三章门电路3.4-3.4.4解读.ppt
- 旁路原理与方法第一.二章讲述.docx
- RFPA3D-工程建模说明书解读.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)