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.

CCS/PROCESSOR-SDK-AM335X: Setting up the SDK

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: TMDSSK3358

Tool/software: Code Composer Studio

Hello!

I am new to CCS and the processor SDKs as well as Linux.

So far, I havent even been able to set up the development environment. I don't know if some knowledge I do not have is expected, if i didnt find the relevant ressoruces or if I am just stupid. I tried to follow the steps in http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Getting_Started_Guide . I have watched a ton of online trainings, but none of them seem to deal with setting up the IDE.

I got a Linux machine up and running, installed CCSv7, downloaded and unpacked linuxSDK, rtosSDK and linaro. Here I am lost, as I dont know how to continue. I am not able to have the SDKs to be available in CCS. Even if I was, I dont have any idea how I would use them.  I stumbled upon http://processors.wiki.ti.com/index.php/Processor_SDK_Building_The_SDK. Do I need to build the SDKs first? (never built anything manually before). How do i get them to work with CCS?
I've read about Arago, Yocto and OpenEmbedded and have no clue if I want/need any of those.

Help is highly appreciated.

Regards,
Lars

  • Hi,

    The Linux SDK does not necessarily need CCS, but you do need some basic Linux knowledge/experience to be able to work with it. Please explain what you want to do. Do you have a custom board or one of the EVM boards?
  • So far I just wanted to experiment with the TMDSSK3358 we had laying around (pretty old version with an XAM3359ZCZ Chip) to get into using an OS in embedded Systems.
    My personal goal is to run Linux on the devices A8 and TI-RTOS on the M4 core and create a small program for both to access hardware modules (e.g. some low level communication like SPI or simply having an LED blink). Setting up some inter processor communication would be nice too.

  • Lars Heinrichs said:
    My personal goal is to run Linux on the devices A8 and TI-RTOS on the M4 core

    You cannot do this on AM335x devices. There is no M4 core in them. This is possible only on the AM57x family.

    As for the Starter Kit, you can begin here:  

    There are a lot of links on this page to different documentation.

  • ou woops, my bad, I started to mix up information I gathered over the last days. Linux and TI-RTOS (not simultaneously ofc) on A8 with accessing hardware modules. I was trying to run yocto/bitbake (if i understood correctly, this creates a Linux image for an SSD card?) but was not succesful so far.
    I also do not understand how I may transfer files to the EVM via network. The how-to processors.wiki.ti.com/.../Moving_Files_to_the_Target_System states the target system should be mounted to a directory over network, but i dont find anything like this. Network connection is fine tho, as I can access the EVM via SSH.
  • Hi,
    LINUX SDK:
    Everything available for linux is here:
    processors.wiki.ti.com/.../Processor_SDK_Linux_Software_Developer’s_Guide

    I'll try to summarize how to build your linux kernel & u-boot & create an sdcard, so that you can boot your board. NOTE: You don't need CCS for this.
    Simplest procedure to build kernel, u-boot § dtb.
    Building u-boot:
    x0155517@mms:~$ cd ti-processor-sdk-linux-am335x-evm-03.01.00.06/

    x0155517@mms:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06$ make u-boot

    This will use the Makefile (top level make file) to build u-boot & MLO. Newly built files are located in
    x0155517@mms:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c
    Files that you need are u-boot.img & MLO.

    Building linux kernel:
    x0155517@mms:~$ cd ti-processor-sdk-linux-am335x-evm-03.01.00.06/
    x0155517@mms:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06$ make linux
    Again this uses the top level makefile to build your kernel image & device tree file. The freshly built files are:
    arch/arm/boot/zImage
    arch/arm/boot/dts/am335x-evmsk.dtb ---> if you use AM335x Starter Kit
    arch/arm/boot/dts/am335x-evm.dtb ---> if you use AM335x GP EVM
    arch/arm/boot/dts/am335x-boneblack.dtb ---> if you use BeagleBone Black

    To create a bootable sdcard, you need to take the following steps:
    x0155517@mms:~$ cd ti-processor-sdk-linux-am335x-evm-03.01.00.06/
    0155517@mms:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06$ sudo ./bin/create-sdcard.sh
    You'll be prompted to choose which drive to format (do NOT choose /dev/sda), usually the sdcard is referenced as /dev/sdb. You can check which device is your sd card with sudo fdisk -l (see which /dev/sdx device has the same size as your sd card, this is the indicator).

    Once your card is created with you can boot your board with the prebuilt linux.
    If you wish to use your newly created zImage, dtb, and u-boot, you need to take the following steps:
    x0155517@mms:~/ti-processor-sdk-linux-am335x-evm-03.01.00.06$ cd /media/x0155517/rootfs/
    x0155517@mms:/media/x0155517/rootfs$ cd boot
    x0155517@mms:/media/x0155517/rootfs/boot$ ls ==> to see the folder content.
    From here on I'll use BBB as a reference:
    x0155517@mms:/media/x0155517/rootfs/boot$ sudo mv devicetree-zImage-am335x-boneblack.dtb ./devicetree-zImage-am335x-boneblack.dtb.old
    x0155517@mms:/media/x0155517/rootfs/boot$ sudo cp ~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/linux-4.4.19+gitAUTOINC+db0b54cdad-gdb0b54cdad/arch/arm/boot/dts/am335x-boneblack.dtb ./devicetree-zImage-am335x-boneblack.dtb

    x0155517@mms:/media/x0155517/rootfs/boot$ sudo mv zImage-4.4.19-gdb0b54cdad ./zImage-4.4.19-gdb0b54cdad.old
    x0155517@mms:/media/x0155517/rootfs/boot$ sudo cp ~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/linux-4.4.19+gitAUTOINC+db0b54cdad-gdb0b54cdad/arch/arm/boot/zImage ./zImage-4.4.19-gdb0b54cdad
    With the above steps you replace the kernel image (zImage) & the device tree file (devicetree-zImage-am335x-boneblack.dtb ) with the once you build.

    To replace the bootloader files (MLO & u-boot) take the following steps:
    cd /media/x0155517/boot
    x0155517@mms:/media/x0155517/boot$ mv u-boot.img ./u-boot.img.old
    x0155517@mms:/media/x0155517/boot$ cp ~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c/u-boot.img ./u-boot.img
    x0155517@mms:/media/x0155517/boot$ mv MLO ./MLO.old
    x0155517@mms:/media/x0155517/boot$ cp ~/ti-processor-sdk-linux-am335x-evm-03.01.00.06/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c/MLO ./MLO

    ============================================

    For RTOS SDK, the wiki pages are here:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_Software_Developer_Guide

    The easiest way to detect the RTOS sources is to install the RTOS SDK in the same folder as CCS. This way CCS will automatically detect the sources:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_Getting_Started_Guide

    I've done this with the C6000 dsps and it works well.

    IMPORTANT NOTE: CCSv7 does NOT work well with the current RTOS SDK release. Processor SDK RTOS v3.2 is validated only with CCS6.1.3.

    Hope this helps you.

    Best Regards,
    Yordan
  • Sorry for the duplicate answer, I see that Kemal has already provided the information from my previous post.

    Best Regards,
    Yordan
  • Thank you for taking the time! I will go through these steps tomorrow.