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.

Linux-c6x: TMDSEVM6678LE the first steps

Hi, all!

I have a TMDSEVM6678LE. I want to setup linux on it.

1) I download binaries as stated in http://linux-c6x.org/files/releases/linux-c6x-2.0.0.63/linux-c6x-2.0.0.63-users-guide.pdf and successfully burn image into NAND and I2C EEPROM via xds560 mezzanine emulator:

karak@HomeStudio:~/my-linux-c6x/linux-c6x-2.0.0.63/program_evm$ sudo $DSS_SCRIPT_DIR/dss.sh program_evm.js evm6678le-le

....

Start writing eeprom50
Writer:/home/karak/my-linux-c6x/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/eepromwriter_evm6678l.out
Image:/home/karak/my-linux-c6x/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/eeprom50.bin
Required EEPROM50 files do not exist in /home/karak/my-linux-c6x/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/

Start writing eeprom51
Writer:/home/karak/my-linux-c6x/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/eepromwriter_evm6678l.out
Image:/home/karak/my-linux-c6x/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/eeprom51.bin

Start loading nand.bin
Start programming NAND

Linux start and I can run samples from web-interface.

2) I want repeat this operation using binaries build from source as stated in http://linux-c6x.org/wiki/index.php/Linux-c6x_2.0_Release. I have several questions:

- after ./prj build I can't found in product directory files similar to eeprom50.bin and eeprom51.bin. Please explain me how I can compile binary images for eeprom50 and eeprom51?

- in source directories there no program_evm subdirectory, I need use  program_evm.js  from prebuilt binaries and I need to make symbolic link (as in prebuild binaries): nand.bin -> evmc6678-initramfs-demo.el-hf-dev-karak-20130313.bin?

Thank you.

  • I rebuild all components from source code. I setup all necessary tools and after edit ~/linux-c6x/linux-c6x-project/setenv file. After that I run make utility. In the setev file declared two variables:

    export CGT_BIOS_DIR=~/ti/cgt_c6000_7_2_2
    export CGT_LINUX_DIR=~/ti/cgt_c6000_7_2_2

    Can you tell me, I set correct value or not for CGT_BIOS_DIR, CGT_LINUX_DIR?

    Thank you.

  • Hi,

    - You need to enable the env variable in setenv, export BUILD_BOOTLOADERS=yes, to build the IBL (eeprom51). I don't think eeprom50 (POST) is released in the package, but I need to confirm that.

    - Program_evm subdirectory should be under projects/bootloader-support directory. Yes, you need either to symbolic link or to rename the image to nand.bin.

    - The CGT_BIOS_DIR and CGT_LINUX_DIR should be set at one level above the bin directory. That is, if cl6x is in ~/ti/cgt_c6000_7_2_2/bin, then the setting is good. You also need to set the CGT_BIOS_VERSION. Re-run "./prj config" after exiting out setenv.

    Rex

  • Rex Chang, thank you for your reply.

    I set all fileds in setenv file as you say. And get this output:

    source setenv
    embedded@kva:~/linux-c6x/linux-c6x-project$ ./prj config
    scripts/setup

    distro == Ubuntu
    all following packages already installed: build-essential git-core expect automake zlib1g-dev bison flex mtd-utils fakeroot genisoimage
    /bin/sh looks like bash
    predefined GCC directory /home/embedded/linux-c6x/opt/gcc-c6x containing version 4.5-124
    found uClibc source in /home/embedded/linux-c6x/opt/gcc-c6x-uclibc
    using predefined CCS directory: /home/embedded/ti/ccsv5
    using predefined TI CGT directory /home/embedded/ti/cgt_c6000_7_2_2 for Linux programs
    using predefined TI CGT directory /home/embedded/ti/cgt_c6000_7_2_2 for BIOS programs
    using predefined IPC directory: /home/embedded/ti/ipc_1_23_01_26
    using predefined BIOS directory: /home/embedded/ti/bios_6_32_01_38
    using predefined XDC directory: /home/embedded/ti/xdctools_3_22_01_21
    setup is complete

    And than I successfully rebuild all components: kernel, ibl, syslink, and rootfs. I try burn this images in EVM and posts here about results.

    Thank you for your help.

    Update:

    IBL successfully burned in eeprom51 and started.

    Thank you for your help.

  • Hello, I have a problem when I execute the instruction "./prj config", the problem is when I execute ,it stopped and print that the setenv has not been sourced ,how do I solve this problem, and  what is your mean that "enable the env variable in set env",and how I enable it ,thank you !

  • Hello!

    After the first time running ./prj config you must edit the setenv file. It is placed in the same directory as ./prj. Then you need type in command line: source setenv and press enter. In setenv file there are many environment variables for example: CCS_DIR. Directive "export" in the setenv file make this variable visible in the system. It is mean enable this env variable. May be it is help you.

    Vladimir

  • Please follow the steps shown in Release Notes,

    cd linux-c6x-project
     ./prj config
     [Please edit setenv to specify what to build, or leave it untouched to build the example configuration]
     ./prj config

    The 2nd "./prj config" will source setenv and build the images.

    Rex
  • Hello , I followed the steps shown in realease notes ,and I run ./prj config sucessfully, then I executed the command "./prj build " , and some errors displayed ,and I don't know the reason ,can you help me .here is my setenv and the error:3441.setenv.txt

  • Hello!

    1) I suppose, you need to edit setenv file and set the some variables. Here is example from my setenv-c6x:

    export GCC_DIR=~/linux-c6x-git/opt/gcc-c6x
    export CGT_BIOS_DIR=~/ti/cgt_6000_7_2_2
    export CGT_LINUX_DIR=~/ti/cgt_6000_7_2_2
    export CCS_DIR=~/ti/ccs_5_0_3/ccsv5
    export BIOS_DIR=~/ti/bios_6_32_01_38
    export XDC_DIR=~/ti/xdctools_3_22_01_21
    export IPC_DIR=~/ti/ipc_1_23_01_26

    2) After editing you need to run command: source setenv, and look at the output of ./prj config, if it is correct - run ./prj build.

    Vladimir

  • Hello, after I follow your advice ,I meet another problem as follow:

    ENDIAN=little KNAME=evmc6678 kernel-headers-sub
    if [ ! -d /home/hcz/my-linux-c6x/Build/kernel-headers/usr/include/asm ]; then \
    mkdir -p /home/hcz/my-linux-c6x/Build/kernel-headers/usr ; \
    make -C /home/hcz/my-linux-c6x/linux-c6x ARCH=c6x CROSS_COMPILE=/home/hcz/my-linux- 
    c6x/opt/gcc-c6x/bin/c6x-uclinux- \
    INSTALL_HDR_PATH=/home/hcz/my-linux-c6x/Build/kernel-headers/usr O=/home/hcz/my- 
    linux-c6x/Build/kobjs/evmc6678.el headers_install ; \
    fi
    ********** clib ENDIAN=little FLOAT=hard
    [ -d /home/hcz/my-linux-c6x/Build/uClibc.el_hardfp ] || mkdir -p /home/hcz/my-linux- 
    c6x/Build/uClibc.el_hardfp
    cp -a /home/hcz/my-linux-c6x/gcc-c6x-uclibc/* /home/hcz/my-linux-c6x/Build/uClibc.el_hardfp
    make -f /home/hcz/my-linux-c6x/linux-c6x-project/Makefile -C /home/hcz/my-linux-c6x/Build/uClibc.el_hardfp 
    CROSS_COMPILE=ensure_not_used CROSS=/home/hcz/my-linux-c6x/opt/gcc-c6x/bin/c6x-uclinux- clib-sub
    make
    libc/stdio/.fdopen.os.dep:140: *** 遗漏分隔符 。 停止。
    make[2]: *** [clib-sub] 错误 2
    make[1]: *** [one-clib] 错误 2
    make: *** [clib] 错误 2

    and here is my setenv

    4606.setenv1.txt

  • I don't see anything wrong with your setenv file. Is the my-linux-c6x re-used from earlier build failure? Could you download the linux-c6x again and start a new directory and see if it happens. Follow step by step as described in Release Notes.If you still have problem, post the steps you did, the error file, such as the  libc/stdio/,fdopen.os.dep as mentioned in your post.

    Rex