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.

MCU-PLUS-SDK-AM243X: TI Clang v3.2.0.LTS

Part Number: MCU-PLUS-SDK-AM243X

We have observed the following behavior:

At start-up, the open62541 initializes its nodetree. It builds this in the heap and uses a lot of malloc, free, calloc and realloc calls. In our case, this adds up to several MB. When using the TI compiler and its libraries, this takes 20 minutes. When using the GCC and its libraries, it takes a few seconds at most. Is there an explanation for this?

Regards, Matthias

  • Please show your build options.  If you don't already, consider using link time optimization (LTO).  That link is to the online documentation.  Also consider viewing the related video from the tiarmclang video series.  The last video is the one on LTO.

    Thanks and regards,

    -George

  • We used the (LTO) option but we were unable to improve the behavior with it.

    Is it possible that the problem lies in the standard lib? With the gcc it takes seconds instead of minutes. This can't have anything to do with the compiler settings, can it?

    What other information do you need?

    Regards,

    Matthias

  • You use the lowest level of optimization.  Please see the Optimization Options part of the tiarmclang online manual.  Choose a higher level.  Also enable function inlining.  

    If that doesn't work, please show the build log.  Please rebuild the entire project.  One way to do that is to right-click on the name of the project and select Rebuild Project.  Then save the contents of the Console (not Problems) view to a text file.  Use the icon named Copy Build Log (older versions of CCS) or Save build log to file (newer versions of CCS).  When you name the log file, be sure to use the file extension .txt.  Please attach that text file to your next post.

    Thanks and regards,

    -George