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.

RTOS/TMDSICE3359: Initialize ICE board

Part Number: TMDSICE3359
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hello,

I am using CCS v8.3

Processor _sdk_rtos_am335x_5_02_00_10

xdctool 3_51_01_18

Bios_6_76_00_08

pdk_am335x_1_40_01_01       ICEv2.1 eval board

When I copy the example rtos_template_app_am335x into my workspace it automatically selects xdc tools 3.508.24   sysbios 6.73.1.01  older version I have in my TI directory.

I understand that you are making universal API's independent of platform and device but how can I tell if my configuration files are correct.

The rtos seems to run but when I am trying to add any gpio, i2c functionality and I don't see any initialization of I2c or uart.

The bare metal Hello world will print out on the console.

How can I tell if the.... Board_init(boardCfg),   ....peripheralInit() which has i2c init... just jumps over in debug mode cannot step into these functions  If these functions are working?

How can I tell if the platform is correct the only choice in the properties drop down product menu is ti.platforms.evmAM3359 should this be ICE2AM335x which is not a choice.

  I trying to go with the latest documentation Processor SDK RTOS Getting Started Guide. Is there another doc you would recommend?

I've worked before with the Tiva and Concerto with success but progress is slow with this AM335x.

Thank You

Dan

  • Hi Dan,

    PROCESSOR-SDK-RTOS-AM335X v05.02 (link below) comes with these components versions:

    software-dl.ti.com/.../index_FDS.html

    processor_sdk_rtos_am335x_5_02_00_10
    pdk_am335x_1_0_13
    xdctools_3_50_08_24_core
    bios_6_73_01_01

    Check also the release notes:

    software-dl.ti.com/.../index_release_specific.html

    The rtos_template_app is based on these components versions, and I would suggest you to use these versions. You should not download these components, all the components in the correct versions will come after installing the ti-processor-sdk-rtos-am335x-evm-05.02.00.10-Linux-x86-Install.bin file. Check below user guide:

    software-dl.ti.com/.../index_overview.html

    Regards,
    Pavel
  • Dan,

    The Processor SDK RTOS is quite different from the software that you may have used on Tiva or Concerto devices. The project in CCS picks the component versions based on the .projectspecs file in the rtos_template_app. The dependent component version are defined in .dtd files in here:
    processor_sdk_rtos_am335x_5_02_00_10\demos\rtos_template_app\common

    It is important that BIOS version matches up with XDCtools specified in the release notes which seems to be the case in your setup . The Processor SDK RTOS consolidates all of the SOC clocking, pin multiplexing and external memory configuration in a component called board library. All TI HW requires initialization of I2C to read the board ID programmed by the board manufacturer and a debug UART configuration for logging IO messages for debug. Hence these drivers in most platforms are setup in the Board library.

    you can refer to the Board library documentation to figure out what initialization is performed in this component:
    software-dl.ti.com/.../index_board.html

    Coming to the TI RTOS platform. This configuration in TI RTOS only provides the build the information regarding the core architecture and the default memory map that the application should pick up and doesn`t explicitly configure anything on the HW so you should be ok selecting any AM335x platform as long as the DDR size on your board matches with the length of DDR defined in platform.

    Regards,
    Rahul

    Available Processor SDK RTOS training can be found here:
    training.ti.com/processor-sdk-training-series

  • Ok Thank you, i am planning on going down the TI RTOS path with the AM335x Icev2.1 board.

    I see under pdk_am335x_1_03_13/packages/ti/source there is the board source files for the ICEV2Am335x but after reading board support section 3.1 in the processor SDK RTOS quide it still is a little vague how to incorporate them into a project. Would there be any example project you could suggest that might help to configure and work with the hardware on the board?

    Thanks,

    Dan

  • Dan,

    You can create and explore RTOS examples for icev2AM335x board with below command:

    host:~/ti/pdk_am335x_1_0_13/packages$ ./pdkProjectCreate.sh AM335x icev2AM335x little all all arm

    This command will create for you example projects for ICSS_EMAC, McSPI, UART, MMCSD, I2C, GPIO, GPMC, FATFS, timeSync, NIMU, NIMU_ICSS

    Refer to the below user guide for more details:

    software-dl.ti.com/.../index_overview.html


    Regards,
    Pavel
  • Dan,

    Board library is like any other peripheral driver which you can link as a library to the CCS project and make call into the library using Board_init API with correct arguments to initialize different parts of the chip. If you look at the rtos_template_app or driver unit tests, you should be see the inclusion of the board module in .cfg. You can also link this to the project using linker options.

    Hope this helps.

    Regards,
    Rahul
  • Thank you Pavel Botev and Rahul Prabhu,
    I have one example quickly working and get a much better understanding of what is involved here,\
    Dan