Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

PROCESSOR-SDK-AM64X: System Project using a project with multiple build configurations

Part Number: PROCESSOR-SDK-AM64X

Tool/software:

If you have single project with multiple variants, the best way to manage this is by creating multiple build configurations for that project. Now suppose you want those variants to run on different cores of your AM64x, and communicate over shared memory? The only way to do that with the latest SDK is to use a System Level project.

But if you try to build the System Project that contains two Build Configurations of a single project, only the first Build Configuration is ever built. The project is not built a second time, for the second core, with the other Build Configuration that is assigned. This seems like a bug with System Projects in Code Composer Studio. If not, what is the intended way to manage this scenario?

Thanks,

Ryan

  • Hi Ryan,

    Thanks for your query.

    Please follow the steps suggested at faq-processor-sdk-am64x-create-multicore-appimage-using-system-project to create a multicore system project with different build configuration.

    The above FAQ contains steps to build a system project with different build configs. 

    Please let us know if the above information helps.

    Regards,

    Tushar 

  • Hi Tushar,

    Thanks for your quick response! I have reviewed the FAQ you shared, and there is a key difference between the example you provided and my use case. While your example uses different projects (I have successfully done this with a System project as well), my example is using a single project but with different build configurations. For convenience I have uploaded the System Project and the lower level project which contains two build configurations. I think if you attempt to build the system project you will find that only the A_Proc build configuration will be built, and it is not possible to build the B_Proc build configuration. This is only an issue when attempting to use a single project with multiple build configurations as shown in the earlier screenshot.

    Looking forward to your response.

    Thanks,

    Ryan

     BuildConfigProject.zipSystem_Test.zip

  • Some additional information, the build configuration that gets built by the system project depends on which is set first in the system.xml file. For example if I set R5_0_1 to the BuildConfigProject B_Proc build configuration, then set R5_0_0 to the BuildConfigProject A_Proc build configuration, only the B_Proc configuration gets built by the system project.

  • Hi Tushar,

    Just checking to see if you have had a chance to investigate this bug with system projects by either trying the projects I provided or setting up your own. Please keep in mind, the issue only occurs when using a single project within the system project, and two different build configurations for that project assigned to different cores. Please see the screenshot in the original question which shows the single project with A_Proc build configuration assigned to R5_0_0 and the same project with B_Proc build configuration assigned to R5_0_1.

    Thanks,

    Ryan

  • Hi Ryan, 

    Thanks for your patience.

    Apologies for the delay here. I was busy with some other escalations, please expect a reply by early next week.

    Regards,

    Tushar

  • Hi Ryan,

    Apologies for the delayed here. I have checked the above and it seems that the build configuration needs to match for each core. We cannot build system projects with different build configuration.

    If you still want to build the multicore appimage with different build configs, you can use the multicore appimage gen tool.

    Please refer Multicore Image gen for details.

    Regards,

    Tushar

  • Hi Tushar,

    Can you please explain more about why each individual project within a system project needs to use the same build configuration? That seems like a shortcoming with the system project functionality unless there is a technical reason why it is not possible to do this.

    Thanks,

    Ryan

  • Hi Ryan,

    Can you please explain more about why each individual project within a system project needs to use the same build configuration?

    As you can see, we are using makefiles to Build the binaries. Those makefiles uses a macro(i.e. $PROFILE) to define whether the build configuration is Debug/Release. This macro is common(in single project) and can hold only one config for a particular build. So whatever value is selected at first it will build the project according to that configuration.

    Hope the above clarifies.

    Regards,

    Tushar