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/TMDXIDK5718: UART baremetal example for IPU and DSP

Part Number: TMDXIDK5718

Tool/software: Code Composer Studio

Hi,

Can some tell me how to create and run bare metal UART/GPIO example for IPU(M4) and DSP cores in AM5718IDK.

Regards,

Naveen.

  • Hi Naveen,

    Please refer to UART and GPIO user guides:

    For how to create examples, refer to below user guide:


    For baremetal tests, you need to undef USE_BIOS. Check below e2e threads for details:

    Regards,
    Pavel

  • Hi Pavel,

    I have tried the all the suggestion earlier. The csl library is supporting for ti rtos not for bare metalk, I suppose.
    I tried to create baremetal application but landed in errors, the diagnostic software is designed for A15 not for M4 and DSP cores.

    Can you tell me how to enable the cache.

  • Naveen,

    Naveen B said:
    Can you tell me how to enable the cache.

    This section 3.2.3.4 explains about running diagnostic test on Cortex-A15 core 1 (as by default run on Cortex-A15 core 0). This is not applicable for C66X DSP and/or Cortex-M4 IPU.

    A15 is the boot master, and the intend of diagnostic is letting customer to check the HW by simply booting/running a test from master core. If you need to run these diagnostic tests on DSP/IPU, you need to port the code. Refer to below e2e threads for details:

    Check also below user guides for berametal examples on DSP/IPU:

    Regards,
    Pavel

  • From the examples, I would suggest you to check below AM571x IDK GPIO C66x example:

    pdk_am57xx_1_0_15/packages/ti/drv/gpio/test/led_blink/am571x/c66/bios/GPIO_LedBlink_idkAM571x_c66xTestProject.txt

    pdk_am57xx_1_0_15/packages/ti/drv/gpio/test/led_blink/src/main_led_blink.c

    pdk_am57xx_1_0_15/packages/ti/drv/gpio/test/led_blink/makefile

    You can try to remove the USE_BIOS flag, thus you will make it berametal example.


    The same is valid for below UART examples:

    pdk_am57xx_1_0_15/packages/ti/drv/uart/test/src/main_uart_test.c

    pdk_am57xx_1_0_15/packages/ti/drv/uart/test/makefile

    pdk_am57xx_1_0_15/packages/ti/drv/uart/example/sample/am57x/c66/bios/UART_BasicExample_idkAM571x_c66xExampleProject.txt

    pdk_am57xx_1_0_15/packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM571x_c66xTestProject.txt

    pdk_am57xx_1_0_15/packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM571x_DMA_c66xTestProject.txt

    Regards,
    Pavel

  • Dear Pavel,

    I got confused by your response. From last 2 weeks I am working on TI-RTOS SDK for creating the real bare-metal application for Cortex M4 (IPU) and DSP cores. I already tested the basic hello world and TI-RTOS examples. Can you please guide me with the steps, I lost my way with CCS and makefiles. My ultimate goal to is implement bare-metal IPC mechanism on IPU and DSP cores,

    1. How to create bare-metal example(not the hello wolrd) for IPU M4 core

    2. How to create bare-metal example(not the hello wolrd) for DSP core.

    Regards,

    Naveen.

  • Naveen B said:
    2. How to create bare-metal example(not the hello wolrd) for DSP core.

    You can refer to below GPIO/UART examples and undef USE_BIOS

    GPIO_LedBlink_idkAM571x_c66xTestProject

    UART_BasicExample_idkAM571x_c66xTestProject

    These projects are created with below commands:

    pdk_am57xx_1_0_15/packages$ ./pdkProjectCreate.sh AM571x idkAM571x little gpio all dsp

    pdk_am57xx_1_0_15/packages$ ./pdkProjectCreate.sh AM571x idkAM571x little uart all dsp



    Naveen B said:
    1. How to create bare-metal example(not the hello wolrd) for IPU M4 core

    Bare-metal examples for IPU M4 are available at:

    pdk_am57xx_1_0_15\packages\ti\csl\example

    Refer to below pointers for more info:

    Regards,
    Pavel