VSCODE + EIDE 下 STM32 编程使用部分外设无法通过编译:undefined reference to ‘xxx‘

我在配置某些外设时,敲代码时,代码提示能正常找到所有外设的库

编译时提示找不到 undefined reference to 'xxx_init' ,也就是没找到stm32f10x_xxx.c

同一个目录下的stm32f10x_tim.c却可以被找到。

临时解决方案

将stm32f10x_xxx.c复制到头文件的目录下

最终解决方案

发现是 EIDE 配置的问题。编译时 EIDE 默认将一些外设的库函数排除在外了,

在项目目录的.eide\eide.json 中:

json 复制代码
{
  ...
  "targets": {
    "Debug": {
      "excludeList": [
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c",
        "hal/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c"
      ],
      ....
}

excludeList 中想要用到的库删除,再重新加载项目即可。

相关推荐
yong99904 分钟前
STM32 LoRaWAN Ping-Pong 节点方案
stm32·单片机·嵌入式硬件
我命由我1234522 分钟前
PHP - PHP 基本随机数生成函数
开发语言·ide·后端·java-ee·php·intellij-idea·intellij idea
安生生申1 小时前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
番茄灭世神1 小时前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
chao18984413 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
zh_xuan16 小时前
解决VS Code 控制台中文乱码
c++·vscode·乱码
猫猫的小茶馆16 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12316 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
周末也要写八哥16 小时前
Eclipse 2024全流程网盘下载与安装配置教程详解
java·ide·eclipse
猿儿本无心17 小时前
快速搭建Python项目(Vscode+uv+FastAPI)
vscode·python·uv