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 中断分析示例

Guru**** 2338860 points
Other Parts Discussed in Thread: AM6442
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1512379/am6442-freertos-interrupt-profiling-example

器件型号:AM6442

工具/软件:

我要在 AM6442芯片上为编译 FreeRTOS ​​FreeRTOS 中断分析示例 ​​。

  INTR_PROF 在中修改后 /source/drivers/hw_include/am64x_am243x/soc_config.h

我遇到如下所示的编译错误。


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 ****

我应该如何解决此问题? 我的目标是测试中断延迟、但示例程序仍然无法编译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Pingan、

    您使用哪个版本的 MCU+SDK?

    您是否修改了现有示例? 请让我们知道您为在我们结束时重现此问题所做的所有更改

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我使用10.01.00。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有修改测试用例

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    并且我没有修改测试用例

    我无需任何修改即可构建 SDK 随附的默认示例。 如果您修改了 SDK 中的示例代码或源文件、敬请告知我们。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Pingan、

    请忽略我最后的答复。 在取消注释 INTR_Prof 宏并重建库后修改了源文件、我能够复制该问题。

    请留出一些时间来找出问题的根源并恢复。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Pingan、

    在源代码中进行 INTR_Prof 更改后、请重新编译驱动器和内核库。

    若要构建库、请运行以下命令。

    cd ${MCU+SDK}/source/drivers
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release} clean
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release}
    
    cd ${MCU+SDK}/source/kernel/nortos
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release} clean
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release}
    
    cd ${MCU+SDK}/source/kernel/freertos
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release} clean
    gmake -f makefile.am64x.r5f.ti-arm-clang PROFILE={debug|release}
    

    成功构建上述库后、重新编译示例工程。 请告知我们上述情况是否有效。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢这解决了我的问题