LP-AM261: Industrial Comms Dual Core Example

Part Number: LP-AM261
Other Parts Discussed in Thread: AM2612

Tool/software:

Hello,

I was wondering if there were any examples available for using both cores of the AM2612 with the industrial comms sdk. We would like to be able to run a fieldbus stack in one core and use the other core for our application which will be processing data that it will send to the fieldbus stack. I have tried creating an example project that my team members or I can import into CCS to use as a starting point, but I am having trouble getting it to build correctly, I assume I didn't setup the sys config files correctly because I was not certain how to modify those for dual core usage and tried copying what I saw from dual core examples in the mcu+ sdk. Specifically, when I try to import the project into CCS20 and building it I get the following error message. I believe my issues are mainly not knowing how to modify the system config files correctly, especially the memory regions.

[278]Building target: "profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.out"
[279]Invoking: Arm Linker
[280]"C:/ti/ti_cgt_arm_llvm_4.0.1.LTS/bin/tiarmclang.exe" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -DSOC_AM261X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Wl,-m"profinet_dual_core.Debug.map" -Wl,-i"C:/ti/ind_comms_sdk_am261x_10_02_00_17/mcu_plus_sdk/source/kernel/freertos/lib" -Wl,-i"C:/ti/ind_comms_sdk_am261x_10_02_00_17/mcu_plus_sdk/source/drivers/lib" -Wl,-i"C:/ti/ti_cgt_arm_llvm_4.0.1.LTS/lib" -Wl,--reread_libs -Wl,--diag_suppress=10063 -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--gen_xml_func_hash -Wl,--xml_link_info="profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang_linkInfo.xml" -Wl,--ram_model -o "profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./main.o" "./r5f_0_1_main.o" -Wl,-l"syscfg/linker.cmd"  -Wl,-lfreertos.am261x.r5f.ti-arm-clang.debug.lib -Wl,-ldrivers.am261x.r5f.ti-arm-clang.debug.lib -Wl,-llibc.a -Wl,-llibsysbm.a 
[281]"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 0x126c9.  Available memory ranges:
[282]   OCRAM        size: 0x10000      unused: 0x3218       max hole: 0x3218    
[283]error #10010: errors encountered during linking; "profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.out" not built
[284]tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
[285]gmake[1]: *** [makefile:151: profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.out] Error 1
[286]gmake: *** [makefile:145: all] Error 2
[287]**** Build Finished ****
[288]**** Build of configuration Debug for project profinet_dual_core_am261x-lp_system_freertos ****
[289]"C:\\ti\\ccs2020\\ccs\\utils\\bin\\gmake" -k system-post-build 
 
[290]C:/ti/ccs2020/ccs/utils/bin/gmake -C C:\Users\maniojo\workspace_ccstheia\profinet_dual_core_am261x-lp_system_freertos -f makefile_system_ccs_bootimage_gen OUTNAME=profinet_dual_core_system PROFILE=Debug INDUSTRIAL_COMMUNICATIONS_SDK_PATH=C:/ti/ind_comms_sdk_am261x_10_02_00_17 CG_TOOL_ROOT=C:/ti/ti_cgt_arm_llvm_4.0.1.LTS CCS_INSTALL_DIR=C:\ti\ccs2020\ccs\ CCS_IDE_MODE=desktop
[291]gmake[1]: Entering directory 'C:/Users/maniojo/workspace_ccstheia/profinet_dual_core_am261x-lp_system_freertos'
[292] Boot multi-core image: Debug/profinet_dual_core_system.appimage ...
[293]C:\ti\ccs2020\ccs\/tools/node/node C:/ti/ind_comms_sdk_am261x_10_02_00_17/mcu_plus_sdk/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out Debug/profinet_dual_core_system.appimage ../profinet_dual_core_am261x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/profinet_dual_core_am261x-lp_r5fss0-0_freertos_ti-arm-clang.rprc@0 ../profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang/Debug/profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.rprc@1  >> Debug/temp_stdout_Debug.txt
[294]gmake[1]: Leaving directory 'C:/Users/maniojo/workspace_ccstheia/profinet_dual_core_am261x-lp_system_freertos'
 
[295]File ../profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang/Debug/profinet_dual_core_am261x-lp_r5fss0-1_freertos_ti-arm-clang.rprc does not exist
[296]gmake[1]: *** [makefile_system_ccs_bootimage_gen:64: all] Error 1
[297]gmake: [makefile:15: system-post-build] Error 2 (ignored)
[298]**** Build Finished ****

I've attached a zip file of the project I am trying to import to CCS20.

am261x_profinet_dual_core_template.zip