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.

AM5728: Non-OS OSAL basic example

Part Number: AM5728

I'm trying to find out how to compile example projects with nonos and OSAL.

Final target would be to have success with Bare Metal USB compilation.

For that purpose I'm trying to compile the OSAL_BasicExample_evmAM572x_armTestProject. 

I've changed the line

var osType = "tirtos"

to 

var osType = "nonos"

After that I'm getting linker errors (see below)

What else do I have to change? Is it possible to compile these examples with nonos at all?

I'm using CCS 8.3 in Windows 64 environment.

The linker errors below:

Description Resource Path Location Type
undefined reference to `CSL_armGicGetCpuIfHandler' .ccsproject /OSAL_BasicExample_evmAM572x_armTestProject line 88, external location: C:\ti\pdk_am57xx_1_0_13\packages\ti\osal\arch\core\a15\Arch_util.c C/C++ Problem
undefined reference to `CSL_armGicGetCpuIfHandler' .ccsproject /OSAL_BasicExample_evmAM572x_armTestProject line 99, external location: C:\ti\pdk_am57xx_1_0_13\packages\ti\osal\arch\core\a15\Arch_util.c C/C++ Problem
undefined reference to `CSL_armGicGetDistHandler' .ccsproject /OSAL_BasicExample_evmAM572x_armTestProject line 89, external location: C:\ti\pdk_am57xx_1_0_13\packages\ti\osal\arch\core\a15\Arch_util.c C/C++ Problem
undefined reference to `CSL_armGicIsInitialized' .ccsproject /OSAL_BasicExample_evmAM572x_armTestProject line 79, external location: C:\ti\pdk_am57xx_1_0_13\packages\ti\osal\arch\core\a15\Arch_util.c C/C++ Problem
gmake: *** [all] Error 2 OSAL_BasicExample_evmAM572x_armTestProject C/C++ Problem
gmake[1]: *** [OSAL_BasicExample_evmAM572x_armTestProject.out] Error 1 OSAL_BasicExample_evmAM572x_armTestProject C/C++ Problem
recipe for target 'all' failed makefile /OSAL_BasicExample_evmAM572x_armTestProject/Debug line 142 C/C++ Problem
recipe for target 'OSAL_BasicExample_evmAM572x_armTestProject.out' failed makefile /OSAL_BasicExample_evmAM572x_armTestProject/Debug line 146 C/C++ Problem

BR,

--Jussi

  • Jussi,

    The best possible example that I can point to you is the DCAN example that is located here. We have the same version of the code building with TI RTOS and with no-OS using the two versions of the OSAL. Please refer to the example and let us know if you have any questions regarding this implementation:

    pdk_am57xx_1_0_13\packages\ti\csl\example\dcan\dcanLoopback

    Refer to the ReadMe.txt document that we have provided along with that example.

    To switch from RTOS to non-OS version of OSAL simply switch to the correct version of the OSAL library and make sure that you include CSL library for the core, interrupt and SOC library. You can also refer to the code under the macro "RTOS_BUILD" in that example.

    your build error indicates that you are not linking the A15 arch CSL library that relates to interrupt setup. If you check the folderpdk_am57xx_1_0_13\packages\ti\csl\lib\am572x\a15\release, you will notice two libraries. ti.csl.aa15fg is the library that cofigures the core , while ti.csl.init.aa15fg corresponds to the interrupt configuration for the core.

    Regards,
    Rahul
  • Hi Rahul, thanks for the hints.

    Yes, I understand the link error messages, but simply adding those csl and csl.init libs in CCS project linker settings result to other problems, for example multiple SVC_Handler, undefined symbols like _bss_start etc.

    It seems to me that compiling "nonos" in CCS is just not supported, right?

    --Jussi
  • We don`t provide it as an out of box experience in the SDK as most bare-metal examples are makefile based. You are probably missing some setup in your CCS project as we have several other customer who are doing bare-metal development in CCS.

    We currently have a bare-metal template app in development that will be part of demos but this will be included in the next SDK.

    Regards,
    Rahul
  • Sure, bare metal I can be done but converting these TIRTOS examples to nonos is the problem. I think I'll get rid of all the XDS configs and manually configure the project from scratch.