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

相关推荐
淮北4941 小时前
STL学习(十一、常用的算数算法和集合算法)
c++·vscode·学习·算法
月光有害1 小时前
PL-0功能拓展及基于VSCode的IDE配置
ide·vscode·编辑器
*wj7 小时前
【linux驱动开发】Vscode + Remote SSH + clangd + bear=内核源码阅读环境搭建
linux·驱动开发·vscode
Chensf20218 小时前
用latex+vscode+ctex写毕业论文
vscode·论文·latex·ctex
雨中来客9 小时前
STM32移植LVGL9.2.1教程
stm32·单片机·嵌入式硬件
jingshaoqi_ccc11 小时前
stm32中优先使用原子操作的具体实现方式
stm32·单片机·嵌入式硬件
WSSWWWSSW11 小时前
Jupyter Notebook 中显示图片、音频、视频的方法汇总
ide·人工智能·jupyter·音视频·python notebook
小猪写代码11 小时前
大白话畅谈:stm32中断和FreeRTOS的中断
stm32·单片机·嵌入式硬件
未来之窗软件服务12 小时前
智慧收银系统开发进销存库存统计,便利店、水果店、建材与家居行业的库存汇总管理—仙盟创梦IDE
java·开发语言·ide·进销存·仙盟创梦ide·东方仙盟·收银台
自激振荡器13 小时前
8,FreeRTOS时间片调度
stm32·单片机·嵌入式硬件·freertos