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/PROCESSOR-SDK-AM65X: No example projects in PDK

Part Number: PROCESSOR-SDK-AM65X
Other Parts Discussed in Thread: AM6548

Tool/software: TI-RTOS

Hello,

I try to generate the example projects for the evaluation board AM6548 IDK. However, the script says that there aren't any projects.

thomas@thomas-virtual-machine:~/ti/pdk_am65xx_1_0_3/packages$ ./pdkProjectCreate.sh am65xx
=========================================================================
Configuration:
  SOC             :   am65xx
  BOARD           :   all
  ENDIAN          :   little
  MODULE          :   all
  PROJECT_TYPE    :   all
  PROCESSOR       :   arm
  PDK_SHORT_NAME  :   /home/thomas/ti/pdk_am65xx_1_0_3/packages
=========================================================================
Checking Configuration...
  PDK_PARTNO         : AM65XX
  PDK_ECLIPSE_ID     : com.ti.pdk.am65xx
  RTSC_PLATFORM_NAME : 
  RTSC_TARGET        : 
  CCS_DEVICE         : 
*****************************************************************************
Detecting all projects in PDK and importing them in the workspace /home/thomas/ti/pdk_am65xx_1_0_3/packages/MyExampleProjects
No projects detected
Project generation complete
*****************************************************************************

I installed the recent ti-processor-sdk-rtos-am65xx-evm-05.02.00.10-Linux-x86-Install.bin

I would like to examine bare metal applications on the R5, as well as on the A53 as starting point.
Why are there no example projects for target am65xx ?

Best regards,

Thomas

  • Hi Thomas,

    AM65x RTOS needs Ubuntu 14.04 (or above) and CCS8.2.0. Are you align with this?

    Check also below e2e thread regarding USB projects for MCU/R5:

    e2e.ti.com/.../2815495


    Regards,
    Pavel
  • Hi Pavel,

    I run a Lubuntu 16.X with kernel 4.13.0-46. I have also installed CCS8.2.0.
    I read the thread you mentioned.. I tried to run the script with following arguments (for the arm a53), but without success..

    thomas@thomas-virtual-machine:~/ti/pdk_am65xx_1_0_3/packages$ ./pdkProjectCreate.sh am65xx all little all all arm
    =========================================================================
    Configuration:
    SOC : am65xx
    BOARD : all
    ENDIAN : little
    MODULE : all
    PROJECT_TYPE : all
    PROCESSOR : arm
    PDK_SHORT_NAME : /home/thomas/ti/pdk_am65xx_1_0_3/packages
    =========================================================================
    Checking Configuration...
    PDK_PARTNO : AM65XX
    PDK_ECLIPSE_ID : com.ti.pdk.am65xx
    RTSC_PLATFORM_NAME :
    RTSC_TARGET :
    CCS_DEVICE :
    *****************************************************************************
    Detecting all projects in PDK and importing them in the workspace /home/thomas/ti/pdk_am65xx_1_0_3/packages/MyExampleProjects
    No projects detected
    Project generation complete
    *****************************************************************************
  • Thomas,

    In early releases of PRocessor SDK RTOS for AM65xx, the driver level unit tests can only be built using makefiles. The CCS project is only available for A53 and R5F as reference with the USB driver. I have tested this with the latest release and it working.

    Step1:  Make sure that Processor SDK RTOS components have been discovered in CCS.

    Step 2 : Make sure that build environment is setup as expected

    In order to generate the project, you can follow the steps from the log that I have attached

    C:\ti\AM65x_PRSDK52>cd processor_sdk_rtos_am65xx_5_02_00_10
    
    C:\ti\AM65x_PRSDK52\processor_sdk_rtos_am65xx_5_02_00_10>setupenv.bat
    ***************************************************
    Environment Configuration:
    ***************************************************
        SDK_INSTALL_PATH        : C:/ti/AM83DF~1
        GMAKE_INSTALL_PATH      : C:/ti/AM83DF~1/xdctools_3_50_08_24_core
        RULES_MAKE              : C:/ti/AM83DF~1/pdk_am65xx_1_0_3/packages/Rules.make
    ***************************************************
        IPC_PLATFORM: AM65XX
        IPC_ALT_PLATFORM:
        PROC_SDK_INSTALL_PATH     : C:/ti/AM83DF~1/processor_sdk_rtos_am65xx_5_02_00_10
    **************************************************************************
    Changing to short name to support directory names containing spaces
    current directory: C:/ti/AM83DF~1/processor_sdk_rtos_am65xx_5_02_00_10
    PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED
    **************************************************************************
    
    C:\ti\AM83DF~1\processor_sdk_rtos_am65xx_5_02_00_10>cd ..
    
    C:\ti\AM83DF~1>cd pdk_am65xx_1_0_3\packages
    
    C:\ti\AM83DF~1\pdk_am65xx_1_0_3\packages>pdkProjectCreate.bat am65xx am65xx_evm little usb all mcu
    =========================================================================
    Configuration:
       SOC             :   am65xx
       BOARD           :   am65xx_evm
       ENDIAN          :   little
       MODULE          :   usb
       PROJECT_TYPE    :   all
       PROCESSOR       :   mcu
       PDK_SHORT_NAME  :   C:\ti\AM83DF~1\PDK_AM~1\packages\
    =========================================================================
    Checking Configuration...
    Complete
    =========================================================================
       PDK_PARTNO         : AM65XX
       PDK_ECLIPSE_ID     : com.ti.pdk.am65xx
       RTSC_PLATFORM_NAME : ti.platforms.cortexR:AM65X
       RTSC_TARGET        : ti.targets.arm.elf.R5F
       CCS_DEVICE         : "Cortex R.AM6548"
    *****************************************************************************
    Detecting all projects in PDK and importing them in the workspace C:\ti\AM83DF~1\PDK_AM~1\packages\\MyExampleProjects
    Detected Test Project: USB_DevBulk_am65xx_evm_mcuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_DevBulk_am65xx_evm_mcuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    Detected Test Project: USB_DevMsc_am65xx_evm_mcuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_DevMsc_am65xx_evm_mcuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    Detected Test Project: USB_HostMsc_am65xx_evm_mcuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_HostMsc_am65xx_evm_mcuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    No projects detected
    Project generation complete
    *****************************************************************************
    
    C:\ti\AM83DF~1\pdk_am65xx_1_0_3\packages>pdkProjectCreate.bat am65xx am65xx_evm little usb all mpu
    =========================================================================
    Configuration:
       SOC             :   am65xx
       BOARD           :   am65xx_evm
       ENDIAN          :   little
       MODULE          :   usb
       PROJECT_TYPE    :   all
       PROCESSOR       :   mpu
       PDK_SHORT_NAME  :   C:\ti\AM83DF~1\PDK_AM~1\packages\
    =========================================================================
    Checking Configuration...
    Complete
    =========================================================================
       PDK_PARTNO         : AM65XX
       PDK_ECLIPSE_ID     : com.ti.pdk.am65xx
       RTSC_PLATFORM_NAME : ti.platforms.cortexA:AM65X
       RTSC_TARGET        : gnu.targets.arm.A53F
       CCS_DEVICE         : "Cortex A.AM6548"
    *****************************************************************************
    Detecting all projects in PDK and importing them in the workspace C:\ti\AM83DF~1\PDK_AM~1\packages\\MyExampleProjects
    Detected Test Project: USB_DevBulk_am65xx_evm_mpuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_DevBulk_am65xx_evm_mpuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    Detected Test Project: USB_DevMsc_am65xx_evm_mpuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_DevMsc_am65xx_evm_mpuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    Detected Test Project: USB_HostMsc_am65xx_evm_mpuExampleProject
    
    --------------------------------------------------------------------------------
    Creating project 'USB_HostMsc_am65xx_evm_mpuExampleProject'...
    
    
    Done!
    Copying macro.ini
            1 file(s) copied.
    No projects detected
    Project generation complete
    *****************************************************************************
    
    C:\ti\AM83DF~1\pdk_am65xx_1_0_3\packages>

    You can then import the project in CCS workspace to build the USB example.

    For all other driver unit tests, the build is setup for only makefiles as indicated in the developers guide. For example refer to UART driver example build process:http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_device_drv.html#application

    Here are my notes from Processor SDK RTOS build and testing that might be useful to you to build some of the components and reduce build times:

    PDK_build_notes.docx

    Hope this helps.

    Regards,

    Rahul

  • Thomas,

    I noticed that my previous guidance didn`t address your issue. Can you indicate what issue you ran into when generating the USB driver projects for R5F project for AM654x or while building the driver examples for the mcu so I can provide further guidance.

    Regards,
    Rahul
  • HI Rahul,

    first thank you very much for sharing your knowledge and documentation in your previous post. With this I was able to build create and import successfully the ccs project "USB_DevBulk_am65xx_evm_mcuExmapleProject" which targets the R5.
    However this is not a "bare metal" application, since it includes the TI RTOS.

    Meanwhile I was able to create new bare metal ccs projects, which builds successfully and run at R5 and A53. I was also able to create ccs projects with TI RTOS from scratch which also run at R5 and A53.

    I just stumpled at the beginning over a lot of problems, but now it seems that I have a working build chain whereas I can progress.
    For example, the project "SaBasicExample_am65xx_idk_mcuExampleProject" (which also get created by the pdkProjectCreate.sh) does not build since some headers (ti/drv/rm/rm.h) are missing. Or the issue PRSDK-4654 with the other example project.

    A last question: Can you redirect me to some documentation/links where I can find information on how to deploy my program on a different A53 core as "CortexA53_0_0". For example CortexA53_1_1? Do I have to change linker script, or linker/compiler flags/symbols?

    Or should I open a separate thread for that?

    Best regards,
    Thomas
  • Thomas,

    If you are using bare-metal code on A53_0_0 then the code uses the core initialization and startup code from CSL library.
    pdk_am65xx_1_0_2\packages\ti\csl\arch\a53

    The Cache, MMU Setup, reset vector setup for this is setup to be generic so that it can be used across any of the cores on the device. It is our understanding that there should pretty much be same code that can run of any of the cores. However, I must admit that our drivers pretty much get tested most of the time using A53_0_0 in AMP mode and we have plan to cover the SMP mode usecase in the upcoming release.

    The one thing that you need to be careful is that two cores should not have overlapping memory map when running application. We have a test case in boot package in PDK that shows how a application is deployed on all the cores using secondary bootloader(SBL). This demonstrates booting the SOC using SD card and loading application to each individual A53 and R5F core that you can refer to here:
    software-dl.ti.com/.../index_Foundational_Components.html

    Regards,
    Rahul

    PS: The other set of bare-metal test cases that you can use for reference is the board diagnsotics. These are bare-metal functional tests for testing different interfaces on the board. The build like rest of the PDK is makefile based but there is no RTOS dependency.
    software-dl.ti.com/.../index_board.html