This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EVMK2G: uboot fail build

Part Number: EVMK2G

Hi Ti forum!

I use linux sdk 06.03.00.106

I want to boot from QSPI flash and save env form/to QSPI. In uboot menuconfig i choise Environment is in SPI flash and see fails:

common/flash.c: In function ‘addr2info’:
common/flash.c:92:37: error: ‘CONFIG_SYS_MAX_FLASH_BANKS’ undeclared (first use in this function); did you mean ‘CONFIG_SYS_MAX_FLASH_SECT’?
  for (i=0, info = &flash_info[0]; i<CONFIG_SYS_MAX_FLASH_BANKS; ++i, ++info) {
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                     CONFIG_SYS_MAX_FLASH_SECT
common/flash.c:92:37: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:278: recipe for target 'common/flash.o' failed
make[1]: *** [common/flash.o] Error 1
make[1]: *** Waiting for unfinished jobs....

My steps:

1. make k2g_evm_defconfig

2. make menuconfig

3. make

My defconfig attach above

CONFIG_ARM=y
CONFIG_ARCH_KEYSTONE=y
CONFIG_SYS_TEXT_BASE=0xC000000
CONFIG_TI_COMMON_CMD_OPTIONS=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_TARGET_K2G_EVM=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI_SUPPORT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_OF_BOARD_SETUP=y
# CONFIG_USE_BOOTCOMMAND is not set
CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_VERSION_VARIABLE=y
CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_SPL_I2C_SUPPORT=y
CONFIG_SPL_POWER_SUPPORT=y
CONFIG_SPL_SPI_LOAD=y
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_GPIO is not set
# CONFIG_CMD_GPT is not set
CONFIG_CMD_REMOTEPROC=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_MTDIDS_DEFAULT="nand0=davinci_nand.0"
CONFIG_MTDPARTS_DEFAULT="mtdparts=davinci_nand.0:1024k(bootloader)ro,512k(params)ro,-(ubifs)"
CONFIG_CMD_UBI=y
CONFIG_OF_CONTROL=y
CONFIG_DEFAULT_DEVICE_TREE="keystone-k2g-evm"
CONFIG_OF_LIST="keystone-k2g-generic keystone-k2g-evm keystone-k2g-ice"
CONFIG_DTB_RESELECT=y
CONFIG_MULTI_DTB_FIT=y
# CONFIG_ENV_IS_IN_FAT is not set
CONFIG_ENV_IS_IN_SPI_FLASH=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_DM=y
CONFIG_DFU_MMC=y
CONFIG_SYS_I2C_DAVINCI=y
CONFIG_MISC=y
CONFIG_DM_MMC=y
CONFIG_MMC_OMAP_HS=y
CONFIG_MTD=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_NAND=y
CONFIG_NAND_DAVINCI=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_MTD=y
CONFIG_PHYLIB=y
CONFIG_PHY_MARVELL=y
CONFIG_PHY_MICREL=y
CONFIG_PHY_TI=y
CONFIG_DM_ETH=y
CONFIG_MII=y
CONFIG_DRIVER_TI_KEYSTONE_NET=y
CONFIG_PHY=y
CONFIG_NOP_PHY=y
CONFIG_KEYSTONE_USB_PHY=y
CONFIG_REMOTEPROC_TI_POWER=y
CONFIG_DM_SERIAL=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_DAVINCI_SPI=y
CONFIG_USB=y
CONFIG_DM_USB=y
CONFIG_DM_USB_GADGET=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_GENERIC=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_USB_FUNCTION_SDP=y

  • Hi Alex,
    Some other options for updating environment variable for your reference:
    - use u-boot cmds, for example, "env" or "editenv" to update environment variable
    - build environment variable into u-boot image.
    I'm using AM335x SDK 6.3 as an example, u-boot environment variables are configured in files...
    "am335x_evm.h, ti_am335x_common.h, ti_armv7_omap.h under /include/configs/"
    "mmc.h, board.h under /include/environment/ti"

    Currently I don't have access to K2G board to try it out myself.
    Best,
    -Hong

  • Hi Hong!

    You are right. I build uboot for AM335x SDK 6.3 (use am335x_evm_defconfig) and building is completed without errors. Can you test for me follows:

    1. make k2g_evm_defconfig

    2. make menuconfig

    3. just set CONFIG_ENV_IS_IN_SPI_FLASH

    4. make

    Build is completed with follows errors:

    env/sf.c: In function ‘env_sf_save’:
    env/sf.c:216:6: error: ‘CONFIG_ENV_SECT_SIZE’ undeclared (first use in this function); did you mean ‘CONFIG_ENV_SIZE’?
      if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) {
          ^~~~~~~~~~~~~~~~~~~~
          CONFIG_ENV_SIZE
    env/sf.c:216:6: note: each undeclared identifier is reported only once for each function it appears in
      CC      lib/efi_loader/efi_bootmgr.o
    env/sf.c:218:18: error: ‘CONFIG_ENV_OFFSET’ undeclared (first use in this function); did you mean ‘CONFIG_ENV_SIZE’?
       saved_offset = CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE;
                      ^~~~~~~~~~~~~~~~~
                      CONFIG_ENV_SIZE
    env/sf.c: In function ‘env_sf_load’:
    env/sf.c:281:3: error: ‘CONFIG_ENV_OFFSET’ undeclared (first use in this function); did you mean ‘CONFIG_ENV_SIZE’?
       CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, buf);
       ^~~~~~~~~~~~~~~~~
       CONFIG_ENV_SIZE
    scripts/Makefile.build:278: recipe for target 'env/sf.o' failed
    make[1]: *** [env/sf.o] Error 1
    Makefile:1528: recipe for target 'env' failed
    make: *** [env] Error 2
    make: *** Waiting for unfinished jobs....
    

    You see any errors?

    My goal - save uboot env to qspi flash. My steps above is right?