u-boot-2014.10移植(1)

发布者:Harmonious222最新更新时间:2023-06-09 来源: elecfans关键字:u-boo  移植 手机看文章 扫描二维码
随时随地手机看文章

 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


即可编译


关键字:u-boo  移植 引用地址:u-boot-2014.10移植(1)

上一篇:u-boot-2014.10移植(2)设置时钟/SDRAM
下一篇:u-boot-2014.10移植(6)添加mtdparts命令和分区

推荐阅读最新更新时间:2024-11-11 11:02

[nrf51][nrf52] 移植RTX或者FreeRTOS需要注意的问题
一、 使用MDK中的cmsis_os接口,需要查看以下代码是否被启用 /* Setup SVC to reset value. */ __STATIC_INLINE void SVC_Setup(void) { #if (__ARM_ARCH_7A__ == 0U) /* Service Call interrupt might be configured before kernel start */ /* and when its priority is lower or equal to BASEPRI, svc intruction */ /* causes a Hard Fault.
[单片机]
[nrf51][nrf52] <font color='red'>移植</font>RTX或者FreeRTOS需要注意的问题
OpenWrt移植到龙芯 龙芯智能路由在路上
  龙芯俱乐部与OpenWrt中文网OpenWrt-DreamBox开发中心合作,成功将OpenWrt移植到逸珑8089龙芯2F笔记本电脑上。据介绍:Loongson2F可以运行OpenWrt,既可以在x86电脑上编译在龙芯本上运行的OpenWrt,也可以在MIPS的龙芯本龙芯电脑上编译,可以做龙芯智能路由器,智能家居之类的应用。龙芯俱乐部将在下半年的“龙芯开源技术应用竞赛”中推广基于OpenWrt系统的龙芯智能路由器应用于智能家居。    据了解,OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。同时,它还提供
[网络通信]
OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)
Linux系统:Ubuntu9.10 交叉编译器:arm-linux-gcc-4.3.2(已安装) OpenCV:OpenCV-2.0.0.tar.bz2(OpenCV for Linux/Mac) CMake:cmake-2.8.12-Linux-i386.tar.gz 1、OpenCV解压 将OpenCV-2.0.0.tar.bz2放到/work/systems/下。 解压命令: tar -jxvf OpenCV-2.0.0.tar.bz2 2、CMake解压: 将cmake-2.8.12-Linux-i386.tar.gz放到/work/tools/目录下 解压命令 :tar -zxv
[单片机]
OpenCV2.0.0<font color='red'>移植</font>到ARM9(一)(JZ2440----S3c2440)
U-Boot移植(12)u-boot的重要细节
主要过程:查看环境参数stdin,stdout,stderr中对标准IO的指定的设备名称,再按照环境指定的名称搜索devlist,将搜到的设备指针赋给标准IO数组stdio_devices 。置gd- flag标志 GD_F*G_DEVINIT。这个标志影响putc,getc函数的实现,未定义此标志时直接由串口serial_getc和serial_putc实现,定义以后通过标准设备数组stdio_devices 中的putc和getc来实现IO。 下面是相关代码: void putc (const char c) { #ifdef CONFIG_SILENT_CONSOLE if (gd- fla
[单片机]
stm32f105vc移植FreeRTOS小型操作系统
一、建立必要的stm32开发工程 1、FreeRTOS文件夹下存放的是整个FreeRTOS系统的 source文件夹。 FreeRTOS已经存放在云盘了。也可以通过官网下载。 二、添加相应的文件 1、list.c queue.c task.c位于source根目录下; 2、Port.c和portmacro.c是硬件接口层,位于FreeRTOS\Source\portable\RVDS\ARM_CM3文件夹下; 3、heap4.c为内存管理文件,位于FreeRTOS/Source/portable/MemMang下; 三、添加头文件路径 1、...\FreeRTOS\Source\portable\RVDS\
[单片机]
stm32f105vc<font color='red'>移植</font>FreeRTOS小型操作系统
3.移植uboot-使板卡支持nor、nand
在上一章,我们添加了nor,nand启动后,uboot启动出如下图所示: 上面的Flash: *** failed *** 是属于uboot第二阶段函数board_init_r()里的代码, 代码如下所示(位于arch/arm/lib/board.c): /*第二阶段*/ void board_init_r(gd_t *id, ulong dest_addr) //gd uboot重定位地址 { ... ...   puts( Flash: );            //打印flash:   flash_size = flash_init(); //初始化nor_flash  
[单片机]
3.<font color='red'>移植</font>uboot-使板卡支持nor、nand
移植u-boot1.1.6到mini2440文档
u-boot移植: 移植是一个复杂的过程,其中的东西太多,最初应该以掌握思路、方法为主,能够编译通过,实现简单功能,在实践中慢慢积累经验,熟悉过程。 在PC上编译好U-Boot,生成Bin文件,将开发板与PC通过串口和USB口相连,把生成的Bin文件通过USB口下载到开发板上RAM里,从RAM里直接运行,查看串口是否按要求输出信息。熟悉u-boot移植的流程和基本设置,对于设计flash,网卡,usb等的移植在后面结合内核移植深入研究 移植内容:LED,串口,时钟以及基本硬件初始化等内容 移植过程: 一.建立交叉编译环境 拷贝并解压arm-linux-gcc-3.4.1.tgz, #tar xvzf arm-linux
[单片机]
GD32代码移植STM32(一)
GAIWEI例子:GD32F103移植STM32F103 使用相同FLASH和管脚数量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。虽然两个款芯片的寄存器地址以及架构基本相同。但是需要注意的是GD32F10x主频是108兆,但是STM32F10x主频是72兆。所以需要针对以RCC时钟进行修改。 1.先将芯片的选项进行修改:查找对应芯片。 2.将STM32的启动文件替换成GD的启动文件。 3.修改时钟相关配置。 打开stm32f10x.h文件,#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*! Time out for HSE start up
[单片机]
GD32代码<font color='red'>移植</font>STM32(一)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved