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.

AM6442: FreeRTOS interrupt Profiling Example

Part Number: AM6442

Tool/software:

I want to compile FreeRTOS on the AM6442 chip for the ​​FreeRTOS Interrupt Profiling Example​​.

 After modifying INTR_PROF in /source/drivers/hw_include/am64x_am243x/soc_config.h,

I encountered compilation errors as shown below.


Building file: "syscfg/ti_enet_open_close.c"
Invoking: Arm Compiler
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/include/c" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/FreeRTOS-Kernel/include" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/config/am64x/r5f" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_open_close.d_raw" -MT"syscfg/ti_enet_open_close.o" -I"G:/freertos/workspce_v1/interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_open_close.o" "syscfg/ti_enet_open_close.c"
Finished building: "syscfg/ti_enet_open_close.c"
 
Building file: "syscfg/ti_enet_soc.c"
Invoking: Arm Compiler
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/include/c" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/FreeRTOS-Kernel/include" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/config/am64x/r5f" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_soc.d_raw" -MT"syscfg/ti_enet_soc.o" -I"G:/freertos/workspce_v1/interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_soc.o" "syscfg/ti_enet_soc.c"
Finished building: "syscfg/ti_enet_soc.c"
 
Building file: "syscfg/ti_enet_lwipif.c"
Invoking: Arm Compiler
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/include/c" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/FreeRTOS-Kernel/include" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/config/am64x/r5f" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_lwipif.d_raw" -MT"syscfg/ti_enet_lwipif.o" -I"G:/freertos/workspce_v1/interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_lwipif.o" "syscfg/ti_enet_lwipif.c"
Finished building: "syscfg/ti_enet_lwipif.c"
 
Building file: "../interrupt_profiling.c"
Invoking: Arm Compiler
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/include/c" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/FreeRTOS-Kernel/include" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/config/am64x/r5f" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"interrupt_profiling.d_raw" -MT"interrupt_profiling.o" -I"G:/freertos/workspce_v1/interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg"   -o"interrupt_profiling.o" "../interrupt_profiling.c"
Finished building: "../interrupt_profiling.c"
 
Building file: "../main.c"
Invoking: Arm Compiler
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/include/c" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/FreeRTOS-Kernel/include" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F" -I"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/config/am64x/r5f" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"main.d_raw" -MT"main.o" -I"G:/freertos/workspce_v1/interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg"   -o"main.o" "../main.c"
../main.c:65:5: warning: call to undeclared function 'Drivers_open'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
   65 |     Drivers_open();
      |     ^
../main.c:66:5: warning: call to undeclared function 'Board_driversOpen'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
   66 |     Board_driversOpen();
      |     ^
2 warnings generated.
Finished building: "../main.c"
 
Building target: "interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang.out"
Invoking: Arm Linker
"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Wl,-m"interrupt_profiling.Debug.map" -Wl,-i"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/lib" -Wl,-i"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -Wl,-i"F:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -Wl,-i"F:/ti/ccs1260/ccs/tools/compiler/ti-cgt-armllvm_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="interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang_linkInfo.xml" -Wl,--ram_model -o "interrupt_profiling_am64x-evm_r5fss0-0_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" "./interrupt_profiling.o" "./main.o" -Wl,-l"syscfg/linker.cmd"  -Wl,-lfreertos.am64x.r5f.ti-arm-clang.debug.lib -Wl,-ldrivers.am64x.r5f.ti-arm-clang.debug.lib -Wl,-lboard.am64x.r5f.ti-arm-clang.debug.lib -Wl,-llibc.a -Wl,-llibsysbm.a 
makefile:150: recipe for target 'interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang.out' failed
 
 undefined    first referenced        
  symbol          in file             
 ---------    ----------------        
 gHwiCtrlProf ./syscfg/ti_dpl_config.o
 
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang.out" not built
tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [interrupt_profiling_am64x-evm_r5fss0-0_freertos_ti-arm-clang.out] Error 1
makefile:146: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

How should I fix this? My goal is to test interrupt latency, but the example program still fails to compile.