加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

u-boot 移植(一):移植流程

(2015-05-31 10:58:14)
标签:

杂谈

一、准备工作

   1-1. uboot,平台以及编译环境

      平台       :   iTop-4412

      uboot版本  :   2015.04

      编译器版本 :   arm-none-linux-gnueabi-xxx, 4.8.3

      操作系统   :   CentOS 6.6

      uboot下载地址: ftp://ftp.denx.de/pub/u-boot/, 挂了VPN才下来的,桑心啊!

      iTop-4412介绍: http://www.topeetboard.com/Product/iTOP4412-ss.html

二、移植

   2-1. 修改顶层Makefile

        CROSS_COMPILE = arm-none-linux-gnueabi-

   2-2. 复制board

         1、进入board子目录下的samsung子目录,复制trats2文件夹为iTop4412。

         2、进入iTop4412子目录,修改trats2.c为iTop4412.c。

         3、修改Makefile,将trats2改为iTop4412。

    2-3. 修改板子相应配置

         1、从源码根目录下进入include/configs目录,复制trats2.h为iTop4412.h。

         2、从源码根目录下进入configs目录,复制trats2_defconfig为iTop4412_defconfig。

         3、修改iTop4412_defconfig,将CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"改为

            CONFIG_DEFAULT_DEVICE_TREE="exynos4412-iTop4412"。

    2-4. 增加自己的Device Tree Source

         1、从源码根目录下进入arch/arm/dts目录,复制exynos4412-trats2.dts exynos4412-iTop4412.dts。

         2、修改当前目录下的Makefile文件,将

dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \

            exynos4210-smdkv310.dtb \

            exynos4210-universal_c210.dtb \

            exynos4210-trats.dtb \

            exynos4412-trats2.dtb \

            exynos4412-odroid.dtb
修改成  
dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \ exynos4210-smdkv310.dtb \ exynos4210-universal_c210.dtb \ exynos4210-trats.dtb \ exynos4412-trats2.dtb \ exynos4412-iTop4412.dtb \ exynos4412-odroid.dtb

   2-5. 制作顶层.config文件

       1、在源码根目录下使用命令make menuconfig。

       2、先配置基本的,Architecture select 选项选择 ARM architecture,

          下面architecture 选项的子选项 Target select 选择 Samsun EXYNOS

          EXYNOS board select选项选择 Exynos4412 Trat2 board。

       3、在Device Tree Control选项下,y(yes)Run-time configuration via Device Tree,选择

          Provider of DTB for control 为 Embedded DTB for DT control,

          Default Device Tree for DT control选项下输入exynos4412-iTop4412,退出。

          在arch/arm/cpu/armv7/exynos/Kconfig文件中添加

          config TARGET_ITOP4412

              bool “Exynos4412 iTop board”

          在arch/arm/cpu/armv7/exynos/Kconfig末尾添加

          source “board/samsung/iTop4412/Kconfig”

          把Kconfig文件中的SYS_BOARD和SYS_CONFIG_NAME都设为iTop4412,结果如下

if TARGET_ITOP4412

    CONFIG SYS_BOARD

        default “iTop4412”

    CONFIG SYS_VENDOR

        default “samsung”

    CONFIG SYS_CONFIG_NAME

        default “iTop4412”

      然后执行 make iTop4412_menuconfig即可生成对应的.config,步骤4可以省略

    (搞得越来越像内核了,衰

2-6、在源码根目录下使用命令vim .config,修改.config文件。

          将CONFIG_SYS_BOARD="trats2" 修改成CONFIG_SYS_BOARD="iTop4412";

          将CONFIG_SYS_CONFIG_NAME="trats2"修改成CONFIG_SYS_CONFIG_NAME="iTop4412";

          将CONFIG_DEFAULT_DEVICE_TREE=""修改成CONFIG_DEFAULT_DEVICE_TREE="exynos4412-iTop4412"。

2-7、make生成u-boot.bin,刷刷刷,搞定

参考文献:

[1] u-boot-2015-01移植笔记, http://wenku.baidu.com/link?url=-9TAi40Q4uJlpNi5XwyhQ49_6rgXcI41QIwRpcmBBThF1rK6JNJVdXFKYSpOGNvfa10-zn8aZAYI6H8VqtQQCL2d765tRYeYxuVOzdaUXYa

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有