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-AM263PX: FreeRTOS system project with IPC messaging

Part Number: MCU-PLUS-SDK-AM263PX
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

I am trying to combine two of the example projects. Empty using FreeRTOS and ipc_rpmsg_echo. I want to use FreeRTOS on all cores and have a method to talk between cores as needed. Both projects work fine on their own, but the combined one will stop talking on serial when debugging as soon as the other cores are enabled. Using the system project templates for both of the above. 

  • I am also getting this error when I include a prebuilt library into one of the core projects.Using the default syscfg file that empty system with FreeRTOS generates with the addition of teh IPC drivers.

    191]5 warnings generated.
    [192]warning #10247-D: creating output section ".cinit" without a SECTIONS specification
    [193]"syscfg/linker.cmd", line 74: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section, or the section contains padded functions. run placement with alignment fails for section "GROUP_4" size 0x1434d.  Available memory ranges:
    [194]   OCRAM        size: 0x40000      unused: 0x3650       max hole: 0x3650
    [195]error #10010: errors encountered during linking; "pdm_am263px-cc_r5fss0-0_freertos_ti-arm-clang.out" not built
    [196]tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    [197]gmake[1]: *** [makefile:157: pdm_am263px-cc_r5fss0-0_freertos_ti-arm-clang.out] Error 1
    [198]gmake: *** [makefile:151: all] Error 2
    

  • Hi Ali,

    please refer to following suggestion from experts:

    For the multicore project, we would require a system project to be created in order to build and combine the output binaries.

    This would not only get a single binary, but also help resolving resource conflicts in sysconfig. 

    The reference for system project can be taken from the SDK empty project or ipc_notify_echo project.

    Please let us know if you could get it going with above project.

    Best Regards, Shiv

  • Hi Shivasharan,

    Perhaps you did not read the entire description of the issue. It is a system project. I want to use Freertos with IPC. So, I started off with an empty system project and initialized the IPC driver within in. 

  • Hi Ali,

    If I understand correctly, you have used the system_freertos empty project of SDK to begin with.

    I would require more clarification of the integration you have done for ipc_rpmsg_echo with this empty project.

    The ipc_rpmsg_echo in SDK OOB has only core 0 as freertos and others as nortos. 

    So could you let me know how the integration is done? it would be great if you could share this project and I can try this at my end.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Ali, 

    Can you please tell me what is the expected output after running this?

    Also please share the output that is currently observed.

    Regards,

    Aswin

  • The output should look like 

    This is the output from the ipc_msg_echo system project. The implementation that I sent has 

    [IPC RPMSG ECHO] Mess..

    and then nothing.

  • Hi Ali,

    In the project that you shared the ipc_rpmsg_echo_main() function was commented out. I checked it after uncommenting this function on the project's of all the cores.

    Are you currently debugging the project from CCS ?

    Can you try to debug the project by using the SBL_NULL.

    The steps are as follows,

    1. Flash SBL NULL.

    2. POR the board in OSPI boot mode. You will see the SBL NULL logs in the serial terminal.

    3.Once that is done, start a target configuration without gel script.

    4. Then load programs into the core and run.

    I was able to the following output after doing so

    Regards,

    Aswin

  • this works.. does this mean I cannot debug the program from CCS using dev mode (SW6 1101)

  • Hi Ali,

    For debugging, you can use put the device in OSPI boot mode with sbl null flashed. So on powering up the device, the sbl will run and will configure the PLL's. Then you can load the program and debug the same using gel less target configuration.

    We are working on root causing this issue. I have filed a ticket regarding the same. Please find the ticket link below used for internal tracking.

    https://jira.itg.ti.com/browse/MCUSDK-15030

    Regards,

    Aswin