大家好、
我在查找 MSPM0SDK 中用于 L1306的一些示例代码、当时我试图跳转到某些函数的定义、但没成功。 即使在 ADC_TO_UART.c 中的 ADC_TO_UART 示例中的示例文件中,DL_ADC12_startConversion ();函数也没有跳过定义,但 DL_UART_Main_translData ()正在跳过。

这是什么原因呢?
此致、
丸井努田
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.
大家好、
我在查找 MSPM0SDK 中用于 L1306的一些示例代码、当时我试图跳转到某些函数的定义、但没成功。 即使在 ADC_TO_UART.c 中的 ADC_TO_UART 示例中的示例文件中,DL_ADC12_startConversion ();函数也没有跳过定义,但 DL_UART_Main_translData ()正在跳过。

这是什么原因呢?
此致、
丸井努田
您好、 Mari
[quote userid="499871" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1295232/mspm0l1306-ccs-theia-some-function-can-t-jump-to-definition 这样做的原因是什么?使用 driverlib.A 作为链接源的 CCS 并未直接编译 ADC12.c。
目前、您需要手动搜索驱动程序库文件中的函数。
您可以尝试 CCS、 CCS 中没有跳转问题。
此致、
赫利克
CCS 使用 driverlib.A 作为链接源,没有直接编译 ADC12.c.
可以。 因此 CCS Theia 不知道该文件。 对于 CCS Eclipse、用户可以明确添加新路径来搜索文件。 CCS Theia 迄今为止尚不支持该功能。
为什么它编译 UART.c 但不编译 ADC12.c?
我在 CCS Theia 中导入了 adc_to_uart 示例、但不会构建任何这些文件。 您能否提供完整构建输出?
谢谢!
小
您好、 Ki
感谢您的答复。
以下是示例代码的生成 uotput: adc_to_uart_lp_MSPM0L1306_nortos_ticlang
[0]**** Clean-only build of configuration Debug for project adc_to_uart_LP_MSPM0L1306_nortos_ticlang **** [1]"C:\\ti\\ccstheia120\\ccs\\utils\\bin\\gmake" -k -j 12 clean -O [2]DEL /F "syscfg\device.cmd.genlibs" "syscfg\ti_msp_dl_config.h" "syscfg\Event.dot" "syscfg\device_linker.cmd" "syscfg\device.opt" "syscfg\ti_msp_dl_config.c" "adc_to_uart_LP_MSPM0L1306_nortos_ticlang.out" [3]DEL /F "adc_to_uart.o" "syscfg\ti_msp_dl_config.o" "startup_mspm0l130x_ticlang.o" "Library\dl_adc12.o" "Library\dl_aes.o" "Library\dl_common.o" "Library\dl_crc.o" "Library\dl_dac12.o" "Library\dl_dma.o" "Library\dl_flashctl.o" "Library\dl_i2c.o" "Library\dl_mathacl.o" "Library\dl_mcan.o" "Library\dl_opa.o" "Library\dl_rtc.o" "Library\dl_spi.o" "Library\dl_timer.o" "Library\dl_trng.o" "Library\dl_uart.o" "Library\dl_vref.o" "Library\m0p\dl_interrupt.o" "Library\m0p\sysctl\dl_sysctl_mspm0c110x.o" "Library\m0p\sysctl\dl_sysctl_mspm0g1x0x_g3x0x.o" "Library\m0p\sysctl\dl_sysctl_mspm0l11xx_l13xx.o" [4]DEL /F "adc_to_uart.d" "syscfg\ti_msp_dl_config.d" "startup_mspm0l130x_ticlang.d" "Library\dl_adc12.d" "Library\dl_aes.d" "Library\dl_common.d" "Library\dl_crc.d" "Library\dl_dac12.d" "Library\dl_dma.d" "Library\dl_flashctl.d" "Library\dl_i2c.d" "Library\dl_mathacl.d" "Library\dl_mcan.d" "Library\dl_opa.d" "Library\dl_rtc.d" "Library\dl_spi.d" "Library\dl_timer.d" "Library\dl_trng.d" "Library\dl_uart.d" "Library\dl_vref.d" "Library\m0p\dl_interrupt.d" "Library\m0p\sysctl\dl_sysctl_mspm0c110x.d" "Library\m0p\sysctl\dl_sysctl_mspm0g1x0x_g3x0x.d" "Library\m0p\sysctl\dl_sysctl_mspm0l11xx_l13xx.d" [5]RMDIR /S/Q "syscfg\" [6]Finished clean [7]**** Build Finished **** [8]**** Build of configuration Debug for project adc_to_uart_LP_MSPM0L1306_nortos_ticlang **** [9]"C:\\ti\\ccstheia120\\ccs\\utils\\bin\\gmake" -k -j 12 all -O [10]Building file: "../adc_to_uart.syscfg" [11]Invoking: SysConfig [12]"C:/ti/ccstheia120/ccs/utils/sysconfig_1.18.0/sysconfig_cli.bat" -s "C:/ti/mspm0_sdk_1_20_01_06/.metadata/product.json" --script "C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/adc_to_uart.syscfg" -o "syscfg" --compiler ticlang [13]Running script... [14]Validating... [15]info: /ti/project_config/ProjectConfig deviceSpin: Note: User must select a device after migration. User must make sure to select the same device as the CCS Launch Device setting for proper configuration. [16]Generating Code (adc_to_uart.syscfg)... [17]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\device_linker.cmd... [18]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\device.opt... [19]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\device.cmd.genlibs... [20]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\ti_msp_dl_config.c... [21]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\ti_msp_dl_config.h... [22]Writing C:\Users\a0508911\workspace_ccstheia\adc_to_uart_LP_MSPM0L1306_nortos_ticlang\Debug\syscfg\Event.dot... [23]Finished building: "../adc_to_uart.syscfg" [24]Building file: "../adc_to_uart.c" [25]Invoking: Arm Compiler [26]"C:/ti/ccstheia120/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/bin/tiarmclang.exe" -c @"syscfg/device.opt" -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug" -I"C:/ti/mspm0_sdk_1_20_01_06/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_1_20_01_06/source" -gdwarf-3 -MMD -MP -MF"adc_to_uart.d_raw" -MT"adc_to_uart.o" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug/syscfg" @"syscfg/device.opt" -o"adc_to_uart.o" "../adc_to_uart.c" [27]Finished building: "../adc_to_uart.c" [28]Building file: "syscfg/ti_msp_dl_config.c" [29]Invoking: Arm Compiler [30]"C:/ti/ccstheia120/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/bin/tiarmclang.exe" -c @"syscfg/device.opt" -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug" -I"C:/ti/mspm0_sdk_1_20_01_06/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_1_20_01_06/source" -gdwarf-3 -MMD -MP -MF"syscfg/ti_msp_dl_config.d_raw" -MT"syscfg/ti_msp_dl_config.o" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug/syscfg" @"syscfg/device.opt" -o"syscfg/ti_msp_dl_config.o" "syscfg/ti_msp_dl_config.c" [31]Finished building: "syscfg/ti_msp_dl_config.c" [32]Building file: "C:/ti/mspm0_sdk_1_20_01_06/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0l130x_ticlang.c" [33]Invoking: Arm Compiler [34]"C:/ti/ccstheia120/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/bin/tiarmclang.exe" -c @"syscfg/device.opt" -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug" -I"C:/ti/mspm0_sdk_1_20_01_06/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_1_20_01_06/source" -gdwarf-3 -MMD -MP -MF"startup_mspm0l130x_ticlang.d_raw" -MT"startup_mspm0l130x_ticlang.o" -I"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug/syscfg" @"syscfg/device.opt" -o"startup_mspm0l130x_ticlang.o" "C:/ti/mspm0_sdk_1_20_01_06/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0l130x_ticlang.c" [35]Finished building: "C:/ti/mspm0_sdk_1_20_01_06/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0l130x_ticlang.c" [36]Building target: "adc_to_uart_LP_MSPM0L1306_nortos_ticlang.out" [37]Invoking: Arm Linker [38]"C:/ti/ccstheia120/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/bin/tiarmclang.exe" @"syscfg/device.opt" -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -gdwarf-3 -Wl,-m"adc_to_uart_LP_MSPM0L1306_nortos_ticlang.map" -Wl,-i"C:/ti/mspm0_sdk_1_20_01_06/source" -Wl,-i"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang" -Wl,-i"C:/Users/a0508911/workspace_ccstheia/adc_to_uart_LP_MSPM0L1306_nortos_ticlang/Debug/syscfg" -Wl,-i"C:/ti/ccstheia120/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/lib" -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="adc_to_uart_LP_MSPM0L1306_nortos_ticlang_linkInfo.xml" -Wl,--rom_model -o "adc_to_uart_LP_MSPM0L1306_nortos_ticlang.out" "./adc_to_uart.o" "./syscfg/ti_msp_dl_config.o" "./startup_mspm0l130x_ticlang.o" -Wl,-l"syscfg/device_linker.cmd" -Wl,-ldevice.cmd.genlibs -Wl,-llibc.a [39]Finished building target: "adc_to_uart_LP_MSPM0L1306_nortos_ticlang.out" [40]**** Build Finished *
当然、这里没有 ADC.c 和 UART.c 的直接编译。
相反、使用 -llib.a 命令导入 driverlib 的 Arm 链接器。
为什么它编译 UART.c 但不编译 ADC12.c?
以下是我在 main.c 中按 Ctrl 并将诅咒移动到他们的函数的屏幕截图:


如您所见、当 DL_ADC12没有跳转链接时、DL_UART 可以跳转到 dl_uart_main.h。
此致、
赫利克
当然没有直接编译 adc.c 和 uart.c.
是的、我同意。 我也看到这一点。 我的问题是角田山。
如果链接器导入整个 driverlib,它们是否不应该都跳到各自的定义?
DL_ADC12_startConversion 看起来是一个内联函数、而 DL_UART_Main_translData 则不是。 看起来像 CCS 中的 clangd 解析器 Theia 没有解析内联函数。 此外、还在 CCS Eclipse 中导入了相同的工程、而且 CCS Eclipse 中的 CDT 索引器能够解析内联函数。
我不确定这是 Clangd 解析器的一个限制还是一个错误。 我们来看看。
我为此提交了一个错误。 跟踪链接: https://sir.ext.ti.com/jira/browse/EXT_EP-11588
..对于 MPSM0开发,此函数(跳转至定义),Theia 不如 ccs12.4+。
它看起来是这样的。 CCS Theia 与 CCS Eclipse 中使用不同的解析工具。