【STM32】Keil V5联合VSCode配置代码编写与下载环境,解决报错问题

这篇具有很好参考价值的文章主要介绍了【STM32】Keil V5联合VSCode配置代码编写与下载环境,解决报错问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 最近重新捡起了STM32的开发工作,由于之前一年多的时间一直在从事PC端与Linux下的开发,习惯了VSCode的开发界面以及各种方便的插件,再次打开keil的界面时倍感丑陋。于是花了不少心思配置了VSCode中的代码编写环境,再次特做记录。
    vscode keil,STM32,stm32,vscode,嵌入式硬件

Keil编译与下载插件

VSCode的插件商店中其实包含了支持Keil的插件Keil Assistant,这个插件可以理解为用VSCode给Keil做了一个套壳外衣,可以直接在VSCode的插件商店搜索安装:
vscode keil,STM32,stm32,vscode,嵌入式硬件
值得注意的是,正常使用编译以及下载功能,仍然需要电脑上安装有KeilV5,这里就不在记录详细的安装过程了。插件安装完成后,点击插件旁边的设置按钮,即可设置对应的keil编译器的路径,示例如下:D:\software\Keil_V5\UV4\UV4.exevscode keil,STM32,stm32,vscode,嵌入式硬件
由于我不作C51的开发,因此也没有配置相关路径。此后,便可以在VSCode的资源管理器中找到Keil Project的条目:vscode keil,STM32,stm32,vscode,嵌入式硬件
如果要打开keil项目,通过右侧的添加按钮打开文件浏览选择keil的工程项目uvprojx文件即可vscode keil,STM32,stm32,vscode,嵌入式硬件
此后,只需要在keil中配置好debug等设备信息,就可以完全在VSCode中进行代码编写与编译下载了。vscode keil,STM32,stm32,vscode,嵌入式硬件

其他Debug

目前为止我在完成上述配置后,遇到了两个bug,一并记录在此,如果后续遇到新的问题,我会及时更新。

头文件索引报错

如果仅仅通过Keil Uvision Project打开了工程项目,可能会出现如下的头文件波浪线报警,但是此时按照上述方式编译工程没有任何问题:vscode keil,STM32,stm32,vscode,嵌入式硬件
这个报错其实是来自VSCode的C/C++插件,由于没有打开项目的文件夹,因此C/C++找不到对应的头文件(Keil插件本身的文件索引是不能提供给C++插件的),此时只需要在VSCode中打开项目的完整文件夹即可vscode keil,STM32,stm32,vscode,嵌入式硬件
这时检查一下.vscode文件夹下的c_cpp_properties.json文件即可

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
                // "D:\\software\\Keil_V5\\ARM\\ARMCC\\bin"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "USE_STDPERIPH_DRIVER"
            ],
            "compilerPath": "D:\\software\\mingw64\\bin\\gcc.exe",
            "cStandard": "c17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

注意"includePath"条目下的内容即可

GPIO结构体等关键字报错

在解决了头文件索引的报错后,可能还会出现如下报错:
vscode keil,STM32,stm32,vscode,嵌入式硬件
而在keil的文件树中可以看到,该文件在keil中是链接了对应的stm32f10x_acc.h等头文件的vscode keil,STM32,stm32,vscode,嵌入式硬件
因此怀疑仍然是C/C++插件的索引问题,因此我手动在adc.c的文件前方加了两行include,发现波浪线报警大大减少:vscode keil,STM32,stm32,vscode,嵌入式硬件
那么为什么在keil中adc文件不会报错呢?这些头文件又是如何自动引用的?
原因是在stm32f10x.h头文件中,当定义了USE_STDPERIPH_DRIVER宏定义时,便会引入stm32f10x_conf.h头文件,vscode keil,STM32,stm32,vscode,嵌入式硬件
stm32f10x_conf.h头文件的内容如下vscode keil,STM32,stm32,vscode,嵌入式硬件
也就是说当我们引stm32f10x.h并且提前定义了USE_STDPERIPH_DRIVER”\宏定义,就不需要再引入stm32f10x_xxx.h的固件库头文件,在Keil中是在C/C++预处理器设置的USE_STDPERIPH_DRIVER宏定义vscode keil,STM32,stm32,vscode,嵌入式硬件
最后的解决方案是:在VSCODE中,在c_cpp_properties.json中的defines字段添加预处理宏即可vscode keil,STM32,stm32,vscode,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-742278.html

到了这里,关于【STM32】Keil V5联合VSCode配置代码编写与下载环境,解决报错问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Keil STM32配置SRAM启动并解决SRAM模式代码跑向中断向量表导致程序跑飞的问题

    STM32的Flash的可擦写次数在10000次,在学习或调试过程中为了延长Flash的寿命,将程序写入SRAM是一个很好的办法。在百度上找到的SRAM启动方法总有各种各样的问题,接下来我将会提供一个完整的思路给大家学会如何配置SRAM启动的环境。 这里用来演示的开发板是STM32F103C8T6 1. 在

    2024年02月03日
    浏览(58)
  • vscode 和 keil协同使用开发stm32程序,超详细教程

    VSCODE 是一款广受好评的代码编辑器, KEIL 是常用的嵌入式开发工具但编程界面简陋。 将两个工具一起搭配使 用, 能大大提高我们的效率。 你可以把 VSCODE 专门用来编辑和编译, KEIL 用来对文件进行增删下载配置环境。 原始的 KEIL 代码编辑界面在编 辑和阅读上都十分的不方

    2024年02月05日
    浏览(56)
  • STM32开发,VScode+Embedded IDE,简单方便,没有keil版权困扰

    网上看了很多搭建stm32+GCC的开发环境,觉得都比较麻烦,发现Embedded IDE非常方便。官方教程也比较详细,借助插件就可以完成开发环境搭建,简单方便。该插件支持mcu多,并且直接兼容keil的工程,如果担心keil版权问题,那就直接抛弃keil吧。 若有不正确之处,请参考官网:这

    2024年02月01日
    浏览(60)
  • keil最新STM32pack芯片包下载教程

    1、网站地址 Arm Keil | Devices https://www.keil.arm.com/devices/ 2、在搜索框中输入需要下载的芯片名,例:STM32H743XI,然后在搜索结果中选择需要的芯片,进入到芯片参数界面。       3、进入到芯片参数界面后,点击STM32H7xx_DFP蓝色字样。 4、进入STM32H7xx_DFP后,即可直接下载最新版本,

    2024年02月11日
    浏览(41)
  • STM32 keil如何下载STM32芯片F1/F4固件库 .pack文件

    1.用keil打开STM32F407的程序,结果提示下面的问题,就是没有安装固件库 2.然后去keil官网下载对应的固件库,官网地址:https://www.keil.com/ 3.然后选中对应的芯片类型,譬如我这个就是STM32F407IGTx 4.双击下面的图标,即.pack可以直接点击安装,并且目录直接默认是keil安装的目录。

    2024年02月13日
    浏览(46)
  • keil官网下载MDK的STM32芯片pack包

    背景         最近重装了电脑系统,重新安装了MDK所以导致MDK芯片包需要重新下载,软件内下载又太慢,所以趁现在找到了官网下载方法把方法分享出来供大家参考。 1、在浏览器中输入网址:www.keil.arm.com进入如下界面,然后点击:Hardware -Devices 2、在Devices中选择,在红色方框

    2024年02月13日
    浏览(57)
  • (三)Keil安装芯片包、下载固件库、建立STM32工程模板

    目录 一、首先在Keil软件上安装好芯片包 二、下载官方固件库 三、建立基于固件库的Keil5工程模板         STM32有很多系列的芯片,我们平常用的最多的是STM32F1系列的,因此安装F1系列的芯片包在我们初学时,只按照人家下载好的来进行安装,现我们可以自行安装想要的系

    2024年02月04日
    浏览(69)
  • Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

    ICP ICP(In Circuit Programing)。在电路编程,可通过 CPU 的 Debug Access Port 烧录代码,比如 ARM Cortex 的 Debug Interface 主要是 SWD(Serial Wire Debug) 或 JTAG(Joint Test Action Group); ISP ISP(In System Programing)。在系统编程,可借助 MCU 厂商预置的 Bootloader 实现通过板载 UART 或 USB 接口烧录代码,比如

    2024年02月06日
    浏览(41)
  • 关于在keil官网下载STM32芯片包速度很慢的解决方法。

    关于在keil官网下载STM32芯片包速度很慢的解决方法。 1、打开以下网址:https://www.keil.com/dd2/pack/#!#eula-container 2、首先要确定好你所需要的芯片是哪一系列的。 3、下载个迅雷。 4、创建一个文本,复制以下网址。 http://keilpack.azureedge.net/pack/ 5、参考以下操作 http://keilpack.azureed

    2024年02月13日
    浏览(50)
  • STM32烧写程序:Keil5使用ST-link下载程序

    首先需要连接ST-link到电路板: STM32烧写程序:ST-link V2调试下载器实物和连接方式 然后安装ST-link驱动: STM32程序烧写:ST-link驱动下载和安装 编译一个无错误的工程 点击工具栏的魔法锤 点击Debug,选择ST-Link Debugger 然后点击Settings ST-LINK/V2适配器,SW模式,看芯片是否被识别

    2023年04月08日
    浏览(98)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包