配置u-boot板级文件

来源:互联网 发布:linux内核提权漏洞 编辑:程序博客网 时间:2024/06/05 10:36
建立新u-boot板级目录,编译不同u-boot.bin文件
系统环境
硬件平台:imx6
软件平台:Android4.4.2。
【1】Android 指定不同uboot编译config文件
device/fsl/sabresd_6dq/BoardConfig.mk 
TARGET_BOOTLOADER_CONFIG := 6q:mx6q_sabresd_android_config 6dl:mx6dl_sabresd_android_config
6q:mx6q_sabresd_android_config
6q指定编译出的u-boot名称 形如: u-boot-6q.bin
mx6q_sabresd_android_config指定了bootloader哪个头文件
【2】bootloader对应的config头文件
bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_android.h
新增
bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14_android.h
bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14.h 指定LOGO类型
【3】不一样的配置用了一个board 目录编译, 我这里需要新建一个board目录用于编译特定的板级uboot
bootable/bootloader/uboot-imx/Makefile
原有的Makefile配置:
mx6dl_sabresd_android_config            \
mx6q_sabresd_config         \
mx6q_sabresd_android_config             \
mx6q_sabresd_mfg_config         \
mx6q_sabresd_iram_config    : unconfig
    @[ -z “$(findstring iram_,$@)” ] || \
        { echo “TEXT_BASE = 0x00907000” >$(obj)board/freescale/mx6q_sabresd/config.tmp ; \
          echo “… with iram configuration” ; \
        }
    @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 mx6q_sabresd freescale mx6
新增板级config和板级目录:
include $(obj)include/config.mk
export  ARCH CPU BOARD VENDOR SOC 对应上面5个部分
mx6q_sabresd_vwcs14_android_config             : unconfig
    @[ -z “$(findstring iram_,$@)” ] || \
        { echo “TEXT_BASE = 0x00907000” >$(obj)board/freescale/mx6q_sabresd_vwcs14/config.tmp ; \
          echo “… with iram configuration” ; \
        }
    @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 mx6q_sabresd freescale mx6
【4】新增板级目录
bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/
bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/Makefile
板级文件编译成静态库
include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a
COBJS   := $(BOARD).o
【5】uboot程序段排列指定新增目录
bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd_vwcs14/u-boot.lds
    .text      :
    {
      board/freescale/mx6q_sabresd_vwcs14/flash_header.o    (.text.flasheader)
      board/freescale/mx6q_sabresd_vwcs14/libmx6q_sabresd_vwcs14.a  (.text)
      *(.text)
    }
【6】代码拷贝注意头文件宏定义
该宏是头文件宏bootable/bootloader/uboot-imx/include/configs/mx6q_sabresd_vwcs14_android.h
#ifndef MX6Q_SABRESD_VWCS14_ANDROID_H
#define MX6Q_SABRESD_VWCS14_ANDROID_H

【7】u-boot默认引导id引导的kernel板级id配置
注意和kernel中的id配合kernel_imx/arch/arm/tools/mach-types
bootable/bootloader/uboot-imx/board/freescale/mx6q_sabresd/mx6q_sabresd.c:1788:
    gd->bd->bi_arch_number = MACH_TYPE_MX6Q_SABRESD;
bootable/bootloader/uboot-imx/include/asm-arm/mach-types.h:3260:
    #define MACH_TYPE_MX6Q_SABRESD       3980
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 感冒10多天不好怎么办 宝妈鼻炎犯了怎么办 鼻炎犯了好多黄鼻涕怎么办 空调吹多了上火怎么办 宝宝感冒鼻塞流鼻涕口臭怎么办 怀孕了有鼻息肉怎么办 孕晚期鼻炎犯了怎么办 孕妇鼻炎犯了头疼怎么办 一岁宝宝有鼻炎怎么办 蒸馒头的面酸了怎么办 dnf点券充错账号了怎么办 英雄联盟点券充错区了怎么办 文玩鼻烟壶盖子松了怎么办 文胸磨腋下的肉怎么办 荷兰在窝里拉屎怎么办 宝宝把泡沫吃了怎么办 荷兰猪一直叫该怎么办 人吃了缓冲泡沫怎么办 不小心吃了泡沫怎么办 不想养荷兰猪了怎么办 刚买的乌龟死了怎么办 剪猫指甲出血了怎么办 猫吃了酸性植物怎么办 金鱼在缸底不动怎么办 野兔子不吃不喝怎么办 让荷兰猪咬了怎么办 仓鼠的脚被棉花怎么办 仓鼠的脚变黑了怎么办 夏天小仓鼠生了怎么办 把仓鼠摔出血了怎么办 仓鼠摔成骨折了怎么办 孩子被仓鼠咬了怎么办 仓鼠不咬磨牙石怎么办 仓鼠妈妈跑了宝宝怎么办 买的仓鼠繁殖了怎么办 仓鼠没有鼠粮了怎么办 仓鼠被踩吐血了怎么办? 买的蓝莓太酸怎么办 荷兰猪夏天掉毛怎么办 被猫抓伤肿了怎么办 荷兰猪鼻子破了怎么办