Tool/software:
Hi,
I was trying to build the demo driver "ipc_rpmsg_echi.c", which seems to give a build error. The driver in the SDK appears to be broken or file auto-generation appears to be broken
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.
Tool/software:
Hi,
I was trying to build the demo driver "ipc_rpmsg_echi.c", which seems to give a build error. The driver in the SDK appears to be broken or file auto-generation appears to be broken
Here is part of the output errors
Invoking: Arm Compiler "C:/ti/ccs1280/ccs/tools/compiler/ti-cgt-armllvm_3.2.2.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mlittle-endian -mthumb -I"C:/ti/ccs1280/ccs/tools/compiler/ti-cgt-armllvm_3.2.2.LTS/include/c" -I"C:/dev/mcusdk/source" -DSOC_AM243X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_drivers_config.d_raw" -MT"syscfg/ti_drivers_config.o" -I"C:/dev/ccsjacob/ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang/Debug/syscfg" -o"syscfg/ti_drivers_config.o" "syscfg/ti_drivers_config.c" subdir_rules.mk:39: recipe for target 'syscfg/ti_drivers_config.o' failed syscfg/ti_drivers_config.c:160:88: error: expected expression rpmsgParams.vringTxBaseAddr[CSL_CORE_ID_R5FSS0_0] = (uintptr_t)(&gIpcSharedMem[]); ^ syscfg/ti_drivers_config.c:161:88: error: expected expression rpmsgParams.vringTxBaseAddr[CSL_CORE_ID_R5FSS0_1] = (uintptr_t)(&gIpcSharedMem[]); ^ syscfg/ti_drivers_config.c:162:88: error: expected expression rpmsgParams.vringTxBaseAddr[CSL_CORE_ID_R5FSS1_0] = (uintptr_t)(&gIpcSharedMem[]); ^ syscfg/ti_drivers_config.c:163:88: error: expected expression rpmsgParams.vringTxBaseAddr[CSL_CORE_ID_R5FSS1_1] = (uintptr_t)(&gIpcSharedMem[]); ^ 4 errors generated. gmake: *** [syscfg/ti_drivers_config.o] Error 1 Building file: "syscfg/ti_dpl_config.c" Invoking: Arm Compiler
Hi Jacob,
The above issue is coming because IPC examples can now only be built as system project. You might be trying to build it for a specific core.
Please refer faq-mcu-sdk-build-error-expected-expression-rpmsgparams-vringtxtaseaddr for more detail.
If you want to enable IPC between specific cores, please refer faq-processor-sdk-am64x-how-to-do-ipc-communication-with-only-two-cores-say-r5fss0-0-and-r5fss1-1 for more info.
Regards,
Tushar
Ok, That does answer some questions.
But, now I am having the issue where the M4 core does not get built. The RPRC file does not seem to generate/exist
**** Build of configuration Debug for project ipc_rpmsg_echo_am243x-evm_system_freertos_nortos **** "C:\\ti\\ccs1280\\ccs\\utils\\bin\\gmake" -k system-post-build C:/ti/ccs1280/ccs/utils/bin/gmake -C C:\dev\ccs\ipc_rpmsg_echo_am243x-evm_system_freertos_nortos -f makefile_system_ccs_bootimage_gen OUTNAME=ipc_rpmsg_echo_system PROFILE=Debug MCU_PLUS_SDK_PATH=C:/dev/mcusdk CG_TOOL_ROOT=C:/ti/ccs1280/ccs/tools/compiler/ti-cgt-armllvm_3.2.2.LTS CCS_INSTALL_DIR=C:\ti\ccs1280\ccs CCS_IDE_MODE=desktop gmake[1]: Entering directory 'C:/dev/ccs/ipc_rpmsg_echo_am243x-evm_system_freertos_nortos' Boot multi-core image: Debug/ipc_rpmsg_echo_system.appimage ... C:\ti\ccs1280\ccs/tools/node/node C:/dev/mcusdk/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out Debug/ipc_rpmsg_echo_system.appimage ../ipc_rpmsg_echo_am243x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/ipc_rpmsg_echo_am243x-evm_r5fss0-0_freertos_ti-arm-clang.rprc@4 ../ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang/Debug/ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang.rprc@14 >> Debug/temp_stdout_Debug.txt makefile_system_ccs_bootimage_gen:58: recipe for target 'all' failed File ../ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang/Debug/ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang.rprc does not exist gmake[1]: *** [all] Error 1 gmake[1]: Leaving directory 'C:/dev/ccs/ipc_rpmsg_echo_am243x-evm_system_freertos_nortos' makefile:15: recipe for target 'system-post-build' failed gmake: [system-post-build] Error 2 (ignored) **** Build Finished ****
/* number of iterations of message exchange to do */ uint32_t gMsgEchoCount = 100000u; /* main core that starts the message exchange */ uint32_t gMainCoreId = CSL_CORE_ID_R5FSS0_0; /* remote cores that echo messages from main core, make sure to NOT list main core in this list */ uint32_t gRemoteCoreId[] = { CSL_CORE_ID_M4FSS0_0, //We want remote core as M4 only! // CSL_CORE_ID_R5FSS0_1, // CSL_CORE_ID_R5FSS1_0, // CSL_CORE_ID_R5FSS1_1, CSL_CORE_ID_MAX /* this value indicates the end of the array */ };
Hello Jacob,
But, now I am having the issue where the M4 core does not get built. The RPRC file does not seem to generate/exist
Have you configured the system.xml file properly? Please refer https://e2e.ti.com/.../5335102.
The project and the build configuration parameters should be configured properly. Also try to rebuild the project instead of just building it.
Please refer below image.
Regards,
Tushar
This was not the issue. I have found the problem I had to add projects/locations into the build dependencies in order ho fix the issue.