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.

timake problem in Cygwin

Other Parts Discussed in Thread: CCSTUDIO

I am trying to compile the "DM644x_FlashAndBootUtils_1_50" since the NAND of our custom board is not supported.

In Cygwin, I get the following errors:

naveed@naveed-alam /cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x
$ make
make -C CCS all
make[1]: Entering directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS'
make -C NORWriter all
make[2]: Entering directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter'
timake NORWriter.pjt Debug
---------------------------  NORWriter.pjt - Debug  ---------------------------
[Linking...] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -@"Debug.lkf"
ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

Build Complete,
  1 Errors, 0 Warnings, 0 Remarks.
make[2]: *** [all] Error 100
make[2]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS'
make: *** [all] Error 2

I am using CCS 3.3.

  • That looks like a build error not related to cygwin or timake. Does the project build fine in CCS or timake from a DOS window?

    thanks

    ki

  • This project does not get compiled in CCS as well. My CCS is installed in G drive. Is it ok to compile this project placed in C drive? I have added the path of Code Generation folder to PATH global variable.

  • I have edited the paths in .pjt files and now I get these errors.

     

    [Linking...] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -@"BOOT_NAND.lkf"
    <Linking>
    >> WARNING: invalid linker option --retain=*(.selfcopy) (ignored)

    undefined                        first referenced
     symbol                              in file
    ---------                        ----------------
    _EXTERNAL_RAM_START              c:\DM644x_FlashAndBootUtils_1_50\DM644x\CCS\UBL\NAND\device.obj
    _EMIFStart                       c:\DM644x_FlashAndBootUtils_1_50\DM644x\CCS\UBL\NAND\nandboot.obj
    _DDRSize                         c:\DM644x_FlashAndBootUtils_1_50\DM644x\CCS\UBL\NAND\nandboot.obj
    boot                             c:\DM644x_FlashAndBootUtils_1_50\DM644x\CCS\UBL\NAND\selfcopy.obj
    _EXTERNAL_RAM_END                c:\DM644x_FlashAndBootUtils_1_50\DM644x\CCS\UBL\NAND\util.obj
    >>   error: symbol referencing errors -
                'c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/UBL/NAND/ubl_DM644x_nand.out' not built


    >> Compilation failure

    Build Complete,
      2 Errors, 9 Warnings, 0 Remarks.
    make[2]: *** [all] Error 100
    make[2]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/UBL'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS'
    make: *** [all] Error 2

    It seems strange that the original folder in .lkf files is not "C:\CCStudio_v3.3\tms470\cgtools". It is "C:/CCStudio_v3.3/tms470/cgtools4_5_1". There is no folder with the name of "cgtools4_5_1" in my CCS installation. I have changed that into "G:\CCStudio_v3.3\tms470\cgtools". I have also changed --abi=eabi to --abi=ti_arm9_abi in .pjt files. But still the above errors persist.

  • You are missing some library during linking.

    Where did you get the project from? Sounds like you are trying build a project from some else who had a custom CGT install (4.5.1). While it is possible to edit the *.pjt file directory, I'd recommend modifying your options via CCS GUI for now.

  • I was suggested in this community to follow this link:

    http://tiexpressdsp.com/index.php/Serial_Boot_and_Flash_Loading_Utility

    I downloaded the source from:

    http://sourceforge.net/projects/dvflashutils/files/DM644x/v1.50/DM644x_FlashAndBootUtils_1_50.tar.gz/download

  • I have run the G:\CCStudio_v3.3\DosRun.bat as well and have tried "make" through "cmd" command prompt. Still, I get the same errors. I am totally disappointed. Is it the true TI code? Why do not they place this code at their site rather than at SourceForge?

  • Naveed,

    I did not try the dos build, nonetheless I believe the proper settings for the abi mode should be --abi=eabi for the code to be in ELF format.


    But to have this supported you have to use recent codegentools for arm9 (4.5.x). You should be able to download them via update advisor in CCS

    Close CCS, install, then go into the component manager of CCS (help / about > component manager), select the new release under "build tools" > TMS470R2X", close CCS and restart.

    When compiling for elf, it seems that in this case the linker picks automatically the proper runtime support library (rtsv5_A_le_eabi.lib, see the generated map file)

    You should not get compile or link issues anymore, assuming you do use the original project file as supplied from the sourceforge download

  • I am done with the UBL flashing. UBL is booting fine. I have used an old binary of u-boot for DVEVM that also works fine but cannot access our NAND that is different from the EVM board. U-BOOT says "unknown flash = 0". Can I get the source of U-BOOT that will allow minimal changes before I get access to my NAND? I have downloaded U-BOOT source and have tried:

    make distclean

    make davinci_dvevm_config

    make

    I get u-boot.bin at the end but that binary is not even showing a single message through serial port. I am using ELDK cross-compiler with CROSS_COMPILE set to arm-linux-.

    Should I try CROSS_COMPILE=arm-linux-gnueabi-?

    Is this compiler ok?

    Where can I get the NAND specific code so that I may modify that? There is no flash.c file in DVEVM board folder in U-BOOT source.

  • Naveed,

    - for a custom NAND flash typically you would have to modify the u-boot sources (provided with the DVSDK) to reflect the details of the new NAND chip, like for example:

    include/configs/flash_params.h
    include/configs/davinci.h  (like #undef CFG_ENV_IS_IN_FLASH after the #define CFG_ENV_IS_IN_FLASH in  order to define FCG_ENV_IS_IN_NAND)

    - also you should make sure that drivers/nand/nand_ids.c file has this particular NAND chip device ID listed. You can check this information with the SoC user guide

    - check the information provided in the DVSDK LSP (typically in a readme file included in the LSP dir) regarding the actual layout in the flash in terms of UBL, parameter section, kernel image etc (the overall NAND layout). Cross check the ubl information with the ARM SoC user guide


    - be careful with the set of UBL+uboot you pick, unless you know what you are doing ;-) It is recommendable to use the ones provided with the DVSDKs (which are tested together on the evms)

    - I believe the compiler used for re-building u-boot (not for the serial flasher utilty) is the montavista one ( ARCH=arm CROSS_COMPILE=arm_v5t_le-  ).

    Sorry, I don't have experience to share on other compilers (like "ELDK" ?) so I cannot comment if there are compiler specific issues (would not expect that at first place, though). Maybe other users might comment more precisely on this

     

     

    Best regards

    Giancarlo