u-boot-2014.10移植(1)

发布时间:2023-06-09  

 1 /***************************************************

 2 

 3 *u-boot版本 :u-boot-2014.10

 4 

 5 *gcc版本    :/home/flinn/tools/4.4.3/bin/arm-none-linux-gnueabi-

 6 

 7 *

 8 

 9 *服务器     :ubuntu14.05

10 

11 *

12 

13 *编译命令   :make smdk2440_config;make

14 

15 *Note(s)    : 不要使用gcc-4.3.2(坑)

16 

17 ***************************************************/


建立单板


 tar xvf u-boot-2014.10.tar.bz2

    cd u-boot-2014.10/

   

    cp -r board/samsung/smdk2410/ board/samsung/smdk2440/

    mv board/samsung/smdk2440/smdk2410.c board/samsung/smdk2440/smdk2440.c

    vim board/samsung/smdk2440/Makefile


1 obj-y   := smdk2440.o

cp include/configs/smdk2410.h include/configs/smdk2440.h

    

vim board/samsung/smdk2440/MAINTAINERS


 1 SMDK2440 BOARD

 2 

 3             M:      David Müller

 4 

 5             S:      Maintained

 6 

 7             F:      board/samsung/smdk2440/

 8 

 9             F:      include/configs/smdk2440.h

10 

11             F:      configs/smdk2440_defconfig


vim board/samsung/smdk2440/Kconfig


 1  if TARGET_SMDK2440

 2 

 3             config SYS_CPU

 4 

 5                     default "arm920t"            

 6 

 7             config SYS_BOARD

 8 

 9                     default "smdk2440"            

10 

11             config SYS_VENDOR

12 

13                     default "samsung"            

14 

15             config SYS_SOC

16 

17                     default "s3c24x0"            

18 

19             config SYS_CONFIG_NAME

20 

21                     default "smdk2440"            

22 

23             endif


vim arch/arm/Kconfig


1 config TARGET_SMDK2440

2          bool "Support smdk2440"

4  

6          source "board/samsung/smdk2440/Kconfig"

cp configs/smdk2410_defconfig configs/smdk2440_defconfig

            CONFIG_ARM=y

            CONFIG_TARGET_SMDK2440=y

    


    修改顶层Makefile


CROSS_COMPILE ?= /home/flinn/tools/4.4.3/bin/arm-none-linux-gnueabi-


修改配置文件include/configs/smdk2440.h



   -#define CONFIG_S3C2410                /* specifically a SAMSUNG S3C2410 SoC */

   -#define CONFIG_SMDK2410               /* on a SAMSUNG SMDK2410 Board */

   +#define CONFIG_S3C2440

   +#define CONFIG_SMDK2440

 

编译

        make smdk2440_defconfig

        make (如果要看到详细信息, 比如链接地址,-pie等, 执行make V=1)

   

    如果修改smdk2440.h后编译报错 u-boot.lds:1: ignoring invalid character `#' in expression

        vim arch/arm/cpu/u-boot.lds

-#include

以上单板建立完成, 初次编译会报错NAND和YAFFS相关的, 在smdk2440.h里面去掉相关宏

    编译出来的u-boot.bin 约370K,前面的分区256K显然不够, 先作裁剪

    去掉:

        USB相关的


 //#define CONFIG_USB_OHCI


 //#define CONFIG_USB_OHCI_S3C24XX


 //#define CONFIG_USB_KEYBOARD


 //#define CONFIG_USB_STORAGE


 //#define CONFIG_DOS_PARTITION


 //#define CONFIG_CMD_USB


解压格式


//#define CONFIG_BZIP2


//#define CONFIG_LZO


//#define CONFIG_LZMA

文件系统相关的


//#define CONFIG_CMD_FAT


//#define CONFIG_CMD_EXT2


//#define CONFIG_CMD_UBI


//#define CONFIG_CMD_UBIFS


//#define CONFIG_CMD_MTDPARTS


//#define CONFIG_MTD_DEVICE


//#define CONFIG_MTD_PARTITIONS


//#define CONFIG_YAFFS2


//#define CONFIG_RBTREE


再次编译后u-boot.bin文件才160K左右,满足我们的需求


执行:


make smdk2440_defconfig


make


即可编译


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>