Hi3556v200 u-boot+Liteos方案编译流程分析-6. 内存空间配置

本文介绍了针对Hi3556v200平台的U-boot与LiteOS编译流程,重点讲解了osdrv_mem_cfg.sh脚本如何配置内存地址,包括UBOOT、miniUBOOT和LiteOS的内存设置。通过make过程的打印,详细解读了关键内存变量的定义和修改过程。
摘要由CSDN通过智能技术生成

1.前言

本文主要就Hi3556v200的U-boot+Liteos方案的编译流程做简要介绍,主要通过make过程的打印来逐步理清编译的过程,本文主要结合编译的打印信息介绍u-boot-hi3556v200.bin的编译过程。编译过程中会调用osdrv_mem_cfg.sh脚本来进行内存地址配置。
U-boot版本:u-boot-2016.11

2. osdrv_mem_cfg.sh脚本说明

位于osdrv/osdrv_mem_cfg.sh,它会根据芯片类型的不同来配置不同的地址,并对相关头文件进行修改,修改后的头文件,将在编译时使用
主要涉及如下几个地址的修改:

2.1 uboot

修改的文件为./opensource/uboot/u-boot-2016.11/include/configs/${CHIP}.h

  1. CONFIG_SYS_TEXT_BASE = $UBOOT_TEXT_BASE
    替换UBOOT的text基地址
    UBOOT_TEXT_BASE=0x80800000

  2. #define CFG_BOOT_PARAMS ($UBOOT_TEXT_BASE - 0x100)
    替换CFG_BOOT_PARAMS 宏的定义

  3. #define PHYS_SDRAM_1_SIZE $UBOOT_CFG_DDR_SIZE
    替换SDRAM的size
    UBOOT_CFG_DDR_SIZE=0x8000000

2.2 miniuboot

修改的文件为./opensource/uboot/mini-boot-2016.11/include/configs/${CHIP}.h

  1. CONFIG_SYS_TEXT_BASE = $UBOOT_TEXT_BASE
    替换UBOOT的text基地址
    UBOOT_TEXT_BASE=0x80800000

  2. #define CFG_BOOT_PARAMS ($UBOOT_TEXT_BASE - 0x100)
    替换CFG_BOOT_PARAMS 宏的定义

2.3 liteos

修改的文件为:./platform/liteos/liteos/platform/bsp/board/${CHIP}/include/board.h

  1. #define SYS_MEM_SIZE_DEFAULT $LITEOS_SYS_MEM_SIZE
    LITEOS_SYS_MEM_SIZE=0x01e00000
    设定了liteos系统运行的sdram的size

  2. #define SYS_MEM_BASE $LITEOS_SYS_MEM_BASE
    LITEOS_SYS_MEM_BASE=0x80000000
    设定了liteos系统运行的sdram的起始地址

  3. #define MMZ_MEM_BASE $LITEOS_MMZ_MEM_BASE
    LITEOS_MMZ_MEM_BASE=0x82100000
    设定了MMZ区域的起始地址

  4. #define MMZ_MEM_LEN $LITEOS_MMZ_MEM_SIZE
    LITEOS_MMZ_MEM_SIZE=0x5f00000
    设定了MMZ区域的大小

  5. #define TEXT_OFFSET $LITEOS_TEXT_OFFSET
    LITEOS_TEXT_OFFSET=0x00000000
    设定了text段相对于LITEOS_SYS_MEM_BASE的偏移

  6. #define DDR_MEM_SIZE $LITEOS_DDR_MEM_SIZE
    LITEOS_DDR_MEM_SIZE=0x8000000
    设定了DDR的大小

3 配置内存地址脚本打印

编译时会有如下的打印:

if [ hi3556v200 == "hi3559v200"  ];then\
		./osdrv_mem_cfg.sh uboot hi3556v200;\
	fi;
if [ hi3556v200 == "hi3556v200"  ];then\
		./osdrv_mem_cfg.sh uboot hi3556v200;\
	fi;
UBOOT_TEXT_BASE:0x80800000
UBOOT_CFG_DDR_SIZE:0x8000000
LITEOS_SYS_MEM_BASE:0x80000000
MEM_HUAWEILITE_SYS_SIZE:0x01e00000
LITEOS_MMZ_MEM_BASE:0x82100000
LITEOS_MMZ_MEM_SIZE:0x5f00000
LITEOS_TEXT_OFFSET:0x00000000
LITEOS_DDR_MEM_SIZE:0x8000000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值