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 中想要用到的库删除,再重新加载项目即可。

相关推荐
小猪写代码1 天前
芯片各种手册概括---以 stm32 为例
stm32·单片机·嵌入式硬件
GilgameshJSS1 天前
STM32H743-ARM例程6-RS422
arm开发·stm32·单片机·嵌入式硬件·学习
百里东风1 天前
配置AC5(ARM Compiler 5)编译器
arm开发·stm32·单片机
草字1 天前
Android studio 查看apk的包名,查看包名
android·ide·android studio
雪域迷影1 天前
Visual Studio 2026 IDE发布了
ide·visual studio
啵啵鱼爱吃小猫咪1 天前
pycharm跑python项目易出错的问题
ide·python·pycharm
小莞尔1 天前
【51单片机】【protues仿真】基于51单片机秒表系统(LCD1602多功能、可保持30条记录)
c语言·stm32·单片机·嵌入式硬件·51单片机
___波子 Pro Max.1 天前
Linux与STM32实时性与系统资源解析
linux·stm32
自激振荡器1 天前
1,LVGL(V8.3.10版本)裸机移植教程
stm32·lvgl·移植·裸机开发
DIY机器人工房1 天前
关于解决 libwebsockets 库编译时遇到的问题的方法:
服务器·stm32·单片机·嵌入式硬件·tcp