新版的BSP引进的设备树的机制,在uboot中还添加了menuconfig的配置菜单。

参考官网的文档进行uboot移植,本文使用的cpu是imx6dl,uboot版本2015.04。

我要添加一个名称是mx6sabresd_sbc的板子,具体操作如下:

1.添加目录目录

cp board/freescale/mx6sabresd board/freescale/mx6sabresd_sbc -r

2.添加参数配置文件

cp include/configs/mx6sabresd.h include/configs/mx6sabresd_sbc.h

3.复制编译配置文件

创建新的文件configs/mx6dlsabresdandroid_sbc_defconfig

cp configs/mx6dlsabresdandroid_defconfig configs/mx6dlsabresdandroid_sbc_defconfig

更改内容如下

CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sabresd_sbc/mx6dlsabresd_sbc.cfg,MX6DL,SYS_USE_SPINOR,ANDROID_SUPPORT"
CONFIG_ARM=y
CONFIG_TARGET_MX6SABRESD_SBC=y
CONFIG_SYS_MALLOC_F=y
CONFIG_SYS_MALLOC_F_LEN=0x400
CONFIG_DM=y
CONFIG_DM_THERMAL=y

将mx6dlsabresd.cfg更改为mx6dlsabresd_sbc.cfg.

4.文件重命名

将对应的文件从命名

cp board/freescale/mx6sabresd_sbc/mx6sabresd.c board/freescale/mx6sabresd_sbc.c

cp board/freescale/mx6sabresd_sbc/mx6dlsabresd.cfg board/freescale/mx6dlsabresd_sbc.cfg

5.更改板子的Makefile

更改board/freescale/mx6sabresd_sbc/Makefile

obj-y  := mx6sabresd_sbc.o

extra-$(CONFIG_USE_PLUGIN) :=  plugin.bin
$(obj)/plugin.bin: $(obj)/plugin.o
$(OBJCOPY) -O binary --gap-fill 0xff $< $@

6.更改Kconfig

更改board/freescale/mx6sabresd_sbc/Kconfig

if TARGET_MX6SABRESD_SBC

config SYS_BOARD
default "mx6sabresd_sbc" config SYS_VENDOR
default "freescale" config SYS_SOC
default "mx6" config SYS_CONFIG_NAME
default "mx6sabresd_sbc" endif

更改arch/arm/Kconfig

添加下面的内容

config TARGET_MX6SABRESD_SBC
bool "Support mx6sabresd_sbc"
select CPU_V7 source "board/freescale/mx6sabresd_sbc/Kconfig"

7.重新编译uboot

export ARCH=arm

export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

make distclean

#For i.MX 6DualLite SABRE-SD:
make mx6dlsabresdandroid_sbc_config make

Tony Liu

2017-3-12, Shenzhen

imx6dl uboot 移植的更多相关文章

  1. u-boot移植 II

    下面是韦老师的uboot移植攻略: A. 开发板的相关拷贝与修改 1. 在board文件夹下面, 将原来的smdk2410复制为100ask24x0目录, 并将smdk2410.c改名为100ask2 ...

  2. 基于mini2440的uboot移植(一)

    一.移植环境 虚拟机:ubuntu12.04 uboot源码:u-boot-2008.10.tar.bz2 交叉编译:arm-linux-gcc-4.4.3 简单的记录下编译uboot的过程,要想具体 ...

  3. u-boot移植总结(四)u-boot-2010.09框架分析

    (一)本次移植是基于FL2440,板子的基本硬件: CPU 型号为S3C2440,基于ARM920T,指令集ARMV4,时钟主频400MHz SDRAM H57V2562GTR-75C 2片*32MB ...

  4. 【转】uboot移植(一)BootLoader基本概念

    原文网址:http://blog.chinaunix.net/uid-25445243-id-3869348.html 一.BootLoader简介1.1.嵌入式Linux软件结构与分布 在一般情况下 ...

  5. U-BOOT 移植到友善之臂mini2440

    U-BOOT 移植到友善之臂mini2440 开发环境:ubuntu 10.10 编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3 一. 在denx官网下载源码,我所用版 ...

  6. X-007 FriendlyARM tiny4412 u-boot移植之内存初始化

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  7. X-004 FriendlyARM tiny4412 uboot移植之点亮指路灯

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  8. X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件

    X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件 <<<<<<<<<<<<<< ...

  9. tiny4412 --Uboot移植(5) DDR3内存

    开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...

随机推荐

  1. Linux时间子系统(一) 基本概念

    本文使用Q & A的方式来和大家以前探讨一下时间的基本概念 一.什么是时间? 这个问题实在是太复杂了,我都不知道这是一个物理学.宇宙学.还是热力学异或是哲学问题,我只是想从几个侧面来了解一下时 ...

  2. 结构体位制 中存在 有符号 与 无符号 -- C

    #include <stdio.h> #include <stdlib.h> #include <string.h> /* 有符号 结构体1 */ struct b ...

  3. MVC 之Action

    下面我要重新温习一下,MVC控制器中的Action方法相关概念: 1.Action方法必须是public,不能是private或者是protected; 2.Action方法不能够被重载: 3.Act ...

  4. python标准库介绍——24 traceback 模块详解

    ==traceback 模块== [Example 2-18 #eg-2-18] 展示了 ``traceback`` 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常 ...

  5. Docker介绍以及Registry的安装 -摘自http://dockone.io/article/108

    本文介绍了Docker与Registry,作者说Docker是一个application hosting框架,亮点是简化应用的部署以及应用部署的版本控制.同时,作者介绍了Docker Registry ...

  6. 【OC语法快览】二、存取方法

    Accessors 存取方法 All instance variables are private in Objective-C by default, so you should use acces ...

  7. 【Android】16.3 带Intent过滤器的Services

    分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 这一节演示带Intent过滤器的Services的基本用法. 1.配置Intent Filter 不论是本地解决方 ...

  8. B+树在数据库中的应用

    B+树在数据库中的应用 flyfish 2015-7-6 B+树在数据库中的应用重要是实现索引 应用方式一 ID为表的主键,利用主键建立一棵B+树 叶子结点存储记录的地址 应用方式二 ID为表的主键. ...

  9. Java多线程面试大全

    什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,可以使用多线程对进行运算提速. 比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务 ...

  10. hdoj1010 Temperor of the bone

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...