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.

AM1808 EVM U-boot build error

Other Parts Discussed in Thread: AM1808, OMAPL138, OMAP-L138, OMAP-L137

Hi,

I am using AM1808 EVM (ZOOM dev. kit by LOGIC)

Now I am trying to make U-boot image. But I can't make it. I have some error as the following.

-----------------------------------------------------------------------------------------------------------------------------------

michihiro@michihiro-laptop:~/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
Generating include/autoconf.mk
In file included from include/common.h:37:
/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/config.h:4:40: error: configs/da850_omapl138_evm.h: No such file or directory
Generating include/autoconf.mk.dep
In file included from include/common.h:37:
/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/config.h:4:40: error: configs/da850_omapl138_evm.h: No such file or directory
arm-none-linux-gnueabi-gcc -DDO_DEPS_ONLY \
  -g  -Os   -fno-common -ffixed-r8 -msoft-float  -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -I/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include -pipe  -DCONFIG_ARM -D__ARM__ -marm  -mabi=aapcs-linux -mno-thumb-interwork -march=armv5te -march=armv5te -Wall -Wstrict-prototypes -fno-stack-protector   \
  -o lib/asm-offsets.s lib/asm-offsets.c -c -S
In file included from /home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/common.h:37,
                 from lib/asm-offsets.c:18:
/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/config.h:4:40: error: configs/da850_omapl138_evm.h: No such file or directory
In file included from /home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/common.h:116,
                 from lib/asm-offsets.c:18:
/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/flash.h:36: error: 'CONFIG_SYS_MAX_FLASH_SECT' undeclared here (not in a function)
In file included from /home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/image.h:48,
                 from /home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/common.h:117,
                 from lib/asm-offsets.c:18:
/home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/include/asm/u-boot.h:48: error: 'CONFIG_NR_DRAM_BANKS' undeclared here (not in a function)
make: *** [lib/asm-offsets.s] Error 1
----------------------------------------------------------------------------------------------------------------------------------------

As you see the above, the error message is said that "configs/da850_omapl138_evm.h: No such file or directory".

So I searched the file "da850_omapl138_evm.h" in SDK directroy. But I could not find it. I just found only "da850evm.h".

According to the "Rbuilding U-boot " section of UserGuide, it is written in the below.

---------------------------

To change the default options, the EVM configuration file needs to be edited.
• for OMAP-L138 (or DA850, AM18xx) EVM are specified in the include file
include/configs/da850_evm.h
----------------------------

So I think the file name "da850_omapl138_evm.h" may be wrong.  Is the correct name is da850evm.h?

Should I modify config.h for da850evm.h?

Please let me know.

Best regard,

Michi

  • Hi Michi,

    Can you tell what exact steps did you do to build the uboot ?

    So I think the file name "da850_omapl138_evm.h" may be wrong.  Is the correct name is da850evm.h?

    if you can find the file da850_omapl138_evm.h in include/configs this must be correct you can also check the entry in boards.cfg which contains entry for each board you can confirm if it is da850_omapl138_evm.h or da850evm.h ?

    Should I modify config.h for da850evm.h?

    If every thing above is right you can modify it and add the statement

    #define CONFIG_NR_DRAM_BANKS    1 /* we have 1 bank of DRAM */
    for building which I found in my config file.


    Regards,

    --Prabhakar Lad

  • TI seems to have broken the make system in the latest U-Boot version. This happened to me for the OMAP-L137 EVM. My solution was to just copy the existing file to the name that the make system wanted, eg.

    cp include/configs/da850evm.h include/configs/da850_omapl138_evm.h

    I don't think modifying the config.h is a good idea. That file is generated by the "make da850_omapl138_evm_config" command. Any changes you make will probably get overwritten every time you do a distclean rebuild.

     

  • Norman Wong said:

    TI seems to have broken the make system in the latest U-Boot version. This happened to me for the OMAP-L137 EVM. My solution was to just copy the existing file to the name that the make system wanted, eg.

    Yes the top-level Makefile in u-boot is broken in the 3.21.00.04 PSP release.  To fix it, open the Makefile, search for da850evm_config, and correct the target. 

    It originally reads: @$(MKCONFIG) $(@:_config=) arm arm926ejs da8xxevm davinci davinci

    But instead it should read: @$(MKCONFIG) -a da850evm arm arm926ejs da8xxevm davinci davinci

    The replacement text came straight from the previous release's makefile.

    Regards, Daniel

     

  • Daniel Allred said:

    Yes the top-level Makefile in u-boot is broken in the 3.21.00.04 PSP release.  To fix it, open the Makefile, search for da850evm_config, and correct the target. 

    It originally reads: @$(MKCONFIG) $(@:_config=) arm arm926ejs da8xxevm davinci davinci

    But instead it should read: @$(MKCONFIG) -a da850evm arm arm926ejs da8xxevm davinci davinci

    I do not agree: that hard-code would break da830 target...

    IMHO, more easily, just use:

    make da850evm_config CROSS_COMPILE=arm-none-linux-gnueabi-

    instead of

    make da850_omapl138_evm_config CROSS_COMPILE=arm-none-linux-gnueabi-

    The pdf UserGuide within Sitara SKD 5.02 seems not up to date, have a look at:
    http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_U-Boot
    The changes related to U-boot have been done several time ago (on May).

    Finally, Sitara SDK 5.02 comes with its own toolchain, and to use it CROSS_COMPILE must be set to arm-arago-linux-gnueabi- (you will obtain different u-boot binaries, different sizes, but do not know details).

    http://processors.wiki.ti.com/index.php?title=Sitara_Linux_Software_Developer%E2%80%99s_Guide&oldid=78069#Rebuilding_.26_Flashing_the_Bootloaders_.28X-loader.2FUBL_.26_Uboot.29

     

     

  • Qmax said:

    Yes the top-level Makefile in u-boot is broken in the 3.21.00.04 PSP release.  To fix it, open the Makefile, search for da850evm_config, and correct the target. 

    It originally reads: @$(MKCONFIG) $(@:_config=) arm arm926ejs da8xxevm davinci davinci

    But instead it should read: @$(MKCONFIG) -a da850evm arm arm926ejs da8xxevm davinci davinci

    I do not agree: that hard-code would break da830 target...

    IMHO, more easily, just use:

    make da850evm_config CROSS_COMPILE=arm-none-linux-gnueabi-

    instead of

    make da850_omapl138_evm_config CROSS_COMPILE=arm-none-linux-gnueabi-

    [/quote]

    The da850_omapl138_evm_config target previously worked and documentation exists indicating that that target should be used, therefore this just restores that functionality (but of course you are right that they could just use the da850evm_config target - it's all supposed to do the same thing). There was no indication that user cared about AM170x/OMAP-L137/DA830 targets, but if they wanted that functionality back they could revert to the style from the previous makefile where a separate set of targets existed for that platform.

    Regards, Daniel

  • Hi, Daniel-san,

    Your information is very helpful for me.

    I will try again to build it.

    Best regards,

    Michi

  • Dear Daniel-san,

    I tried to build U-boot based on your advice. I refered "GSG: Building Software Components for OMAP-L1/AM1x"

    But I have an error after it was executed "make da850evm_config CROSS_COMPILE=arm-none-linux-gnueabi-".

    The error is the following.

    awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend
    /bin/bash: /home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/mkconfig-a: No such file or directory
    make: *** [da850evm_config] Error 127

    My path condition is

    bash: export: `home/michihiro/ti-sdk-am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk/tools:/opt/CodeSourcery/Sourcery_G++_Lite/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games': not a valid identifier

    What was wrong?

    Please let me know.

    Best regards,

    Michi

  • Michi,

    I tried building the u-boot image myself and did not have any issue.  However, I did not export anything to my path and I did not use the CodeSourcery tools.  Instead I used absolute paths and I used the Arago GCC toolchain that actually comes with the AMSDK (in the linux-devkit/bin directory):

    make -C /home/daniel/ti-sdk/am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk CROSS_COMPILE=/home/daniel/ti-sdk/am180x-evm-05.02.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- da850_omapl138_evm_config

    make -C /home/daniel/ti-sdk/am180x-evm-05.02.00.00/psp/u-boot-2010.12-psp03.21.00.04.sdk CROSS_COMPILE=/home/daniel/ti-sdk/am180x-evm-05.02.00.00/linux-devkit/bin/arm-arago-linux-gnueabi-

    Regards, Daniel

  • Dear Daniel-san,

    Thank you for your advice.

    At first, I tried to use Arago GCC toolchain. But I could not use its tool also.

    So I reinstalled the EZSDK package.

    After that, I tried to make command. And I could do it.

    I don't know what was wrong. But I can go forward for your help.

    I really appreciate your support.

    Thank you very much.

    Arigato gozaimasu

    Best regards,

    Michi.