uboot移植第一阶段relocate中的error总结0

一、背景
主要是在学习朱老师物联网课程uboot移植中碰到的问题的解决。
二、工具介绍
使用VMware虚拟机搭建Ubuntu14.04的Linux运行环境。将从uboot官方fip下载的2013.10的uboot移植到九鼎x210开发板。
三、问题及解决方案

  1. 问题描述:

    movi.c: In function 'movi_bl2_copy':
    movi.c:28: error: 'SDMMC_BLK_SIZE' undeclared (first use in this function)
    movi.c:28: error: (Each undeclared identifier is reported only once
    movi.c:28: error: for each function it appears in.)
    movi.c:28: error: 'CFG_ENV_SIZE' undeclared (first use in this function)
    movi.c:29: warning: passing argument 4 of 'copy_bl2' makes pointer from integer without a cast
    movi.c:29: note: expected 'u32 *' but argument is of type 'int'
    movi.c:33: warning: passing argument 4 of 'copy_bl2' makes pointer from integer without a cast
    movi.c:33: note: expected 'u32 *' but argument is of type 'int'
    make[1]: *** [movi.o] Error 1
    make[1]: Leaving directory `/root/porting_x210/uboot_2013_10/u-boot-2013.10/board/samsung/goni'
    make: *** [board/samsung/goni/libgoni.o] Error 2
    
  2. 分析:错误代码主要为movi.c中使用的一些函数未声明,怀疑时其函数定义存在问题,进入movi.h文件查看,从其中的条件编译中发现这样两条代码:

      #if defined(CONFIG_EVT1)
      #define MOVI_ENV_BLKCNT		(CFG_ENV_SIZE / MOVI_BLKSIZE)
    

且在SourceInsight(后面简称SI)打开的movi.h中发现宏未变色,然后打开include/configs/s5p_goni.h文件,发现其中并未定义以上提到所需的宏,随后查看三星提供的文件,发现在include/configs/x210_sd.h中定义了这个宏。所以尝试在移植的文档中复制该宏定义。

  1. 解决:
    在include/configs/s5p_goni.h中添加如下代码即可解决:

    #define CONFIG_EVT1 1
    #define CFG_ENV_SIZE 0X4000

你可能感兴趣的:(官方uboot移植笔记)