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/AM5746: Symbol definitions

Guru 24520 points
Part Number: AM5746
Other Parts Discussed in Thread: SYSBIOS, AM5728

Tool/software: TI-RTOS

Hi TI Experts,

Please let me confirm the following question.

[Question]
The AM574x example codes are defined the "core0" at propaty window. I supposed that this option is needed to run the program on A15_0, but I could not find the compile switch for this option.
What files will it effect to build the program?

I searched the define on PDK and SYSBIOS but there is not any code like "#ifdef core0".

Best regards.
Kaka

  • Hi,

    Which Processor SDK RTOS is this?

    Best Regards,
    Yordan
  • Hi ,

    I used the latest SDK v5.0. Here is the sample.

    Best regards.

    Kaka

  • Hi Kaka,

    All the CCS project pre-defined symbols are given in a text file, e.g.: GPIO_LedBlink_idkAM572x_armTestProject.txt

    -ccs.setCompilerOptions "-c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -DSOC_AM572x -DidkAM572x -g -gstrict-dwarf -gdwarf-3 -finstrument-functions -Wall -MMD -MP

    We didn't define any "core0" or "am5728". Such were added by the CCS project creation automatically (the eclipse). In the generated .cproject file they are automatically added:
    <listOptionValue builtIn="false" value="am5728"/>
    <listOptionValue builtIn="false" value="core0"/>
    <listOptionValue builtIn="false" value="SOC_AM572x"/>
    <listOptionValue builtIn="false" value="idkAM572x"/>
    and showsn inside the CCS project GNU compiler ----> symbols.

    I searched the code, there is nothing related core0 definition inside PDK. I also removed "core0" and rebuilt the project, the map files are exactly the same and the application ran as expected.

    Regards, Eric
  • Hi Eric,

    Thank you for your confirming.
    To summary about your comments, the "core0"definition have no significance. Is my understanding correct?

    So, I would like to know why TI automatically add this option even if it has no significance.

    Best regards.
    Kaka
  • Hi,

    Let me check with CCS team.

    Regards, Eric
  • Kaka,

    These definitions are completely optional and were added to allow flexibility in case the developer needs to create code for multiple devices and/or multiple cores.

    For example, if a developer has products using multiple devices (or even entire device families), he/she can easily differentiate between each device by using the pre-defined symbols via #ifdef directives on both the source code and the linker. A similar story for cores: by using the same #ifdef directives the developer can differentiate the code for each core.

    These definitions have no impact in build time or the functionality of the executable, thus can simply be ignored if you choose to do so.

    Regards,
    Rafael
  • Hi Rafael,

    Thank you for your response.
    I understood that this feature is option to specify the core on device for developer . And in case of the latest PSDK, this option was not used. Right?

    Best regards.
    Kaka
  • Kaka,

    I am not the most experienced person on the SDK itself, but according to Eric's response above I think it is safe to assume these options are not used by this software package.

    Regards,
    Rafael