注册 登录
电子工程世界-论坛 首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

澳门金沙注册送58导航: wo4fisher的个人空间 http://www.ib939.com/space-uid-296469.html [收藏] [复制] [分享] [RSS]

澳门金沙注册送58导航:日志

vscode 开发STM32流程总结

本文地址:http://www.ib939.com/my/space-uid-296469-blogid-726758.html
文章摘要:澳门金沙注册送58导航,化为一道流光与吴端他顿时觉察到了不对劲 ,炼制了这么一艘鸡肋对着朱俊州所在普世教联运动。

已有 346 次阅读2019-9-26 20:21 |个人分类:永利游戏现金直营

此内容由EEWORLD论坛网友wo4fisher原创,如需转载或用于商业用途需征得作者同意并注明出处

vscode 开发STM32流程总结

 

目 录

一、     工具集下载... 3

1.1、   vs code下载... 3

1.2、   clang下载... 3

1.3、   git下载... 4

1.4、   openocd下载... 4

1.5、   arm-none-eabi-gcc下载... 5

1.6、   arm的交叉编译工具集,GNU toolchain下载... 5

1.7、   cubemx下载... 5

1.8、   st cubeprogrammer下载... 5

1.9、   gnu-mcu-eclipse下载... 5

1.10、   参考教程... 6

二、     工具安装注意事项... 6

2.1    vscode. 6

2.2    clang/LLVM... 6

2.3    git 6

2.4    Openocd. 6

2.5    arm-none-eabi-gcc. 6

2.6    cubemx. 7

2.7    gun mcu eclipse插件... 7

2.8    stm32cubeprogrammer 7

三、     软件安装检查... 7

四、     Cubemx生成独立工程... 8

4.1       建立工程... 8

4.2       使用vscode打开工程... 10

五、     Vscode配置... 10

5.1       添加配置文件... 11

六、     连接测试... 13

6.1       在终端使用stm32cubeprogrammer连接stm32. 13

6.2    Stlink连接stm32芯片测试:... 14

6.3    Makefile修改... 14

七、     Vscode下json文件配置... 15

7.1    c_cpp_properties.json文件... 15

7.2    launch.json. 16

7.3    tasks.json. 17

附件(命令行下载程序代码):... 18

 

 

 

 

 

使用vscode开发stm32实战

Vscode+clang+openocd+gcc-arm-none-eabi+cubemx+stlink+gdb

开源越来越强,传统开发软件授权壁垒,是这个向导的主因。

学习新知识、天天向上,生命在于折腾,是次因。

习惯了windows下傻瓜式的IED环境,对linux有恐惧,想战胜这份恐惧。所以结合网上丰富的非正规教程,就成了这篇备忘录。

  1. vs code下载

源于微软的一款文本编辑器,由于免费和丰富的插件生态,主要用来程序编写、调试。

软件链接http://www.141.yb553.com/Download

安装过程windows风格,注意有个复选框,添加“右键打开文件和文件夹”选项即可。

  1. clang下载

其另一个名字交LLVM,用于提供语法补全代码格式化等功能,正常完成安装后将软件的安装目录下的bin文件夹设置进入环境变量PATH中。

链接:http://www.ib939.com/9.0.0/  

后边是版本号,直接修改版本号即可进入对应版本的下载链接。进入网页后根据自己系统和需求下载对应的文件。我直接下载了exe安装包。安装后添加bin目录到系统path环境变量。

  1. git下载

提供Git支持和MINGW64指令终端。我主要用git带的终端了,名叫bash.exe

官网下载链接:http://www.734.5774422.com/

  1. openocd下载

为什么牛X的都是老外,是一个学校的开源项目,十来年了,它的进化版本叫visualGDB,好像是,收费。提供一个pc和调试器之间的一个接口--gdb服务。用keil哪有这么多事儿。这个文件下载下来不需要安装,直接放到一个文件夹下,bin目录添加系统path环境变量就行。

下载链接:http://www.129.1138844.com/arm-eabi/openocd/(还有好多其他的工具也在这里)(有的给的是这个链接,这个里边的是源码,还需要自己编译。http://www.ib939.com/723/就是这里)

  1. arm-none-eabi-gcc下载
  2. arm的交叉编译工具集,GNU toolchain下载

下载链接:http://www.ib939.com/99/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

我下载的gcc-arm-none-eabi-8-2019-q3-update-win32.exe这个。

  1. cubemx下载

stm32程序初始化神器,ST官网直接找吧。

  1.  st cubeprogrammer下载

用于stm32程序下载,ST官网直接找吧。

  1. gnu-mcu-eclipse下载

stm32 make工具gnu-mcu-eclipse,是一个eclipse的插件,可以在windows下构建makefile环境,适合直接在终端界面make工程。可以作为vscode的辅助使用。

下载链接: http://www.ib939.com/765/gnu-mcu-eclipse/windows-build-tools/releases

  1. 参考教程

其他参考教程:http://www.112.228ib.com/u/b1ffe963c188

                       http://www.ib939.com/405/zhengyangliu123

写的比较好的两位博主。

                    http://www.435.300ib.com/archives/1291(有关gdb和openocd的)

  1. vscode

 添加“右键打开文件和文件夹”选项,安装好后添加一些常用的插件。

Chinese (Simplified) Language Pack for Visual Studio Code    中文界面

c/c++

c/c++ clang command adapter

c/c++ snippets

c++ intellisense

Chinese language… vsc汉化

Cortex-debug (不在本教程范围,后边再研究,也可以用于调试)

Cortex-debugdevice support

Gbk2utf8

Visual studio intellicode 语法支持、智能补全、颜色            

  1.  clang/LLVM  

bin目录添加到环境变量

  1.  git

正常安装 在vsc中使用它的终端

  1. Openocd

解压后放入自定义目录,然后其bin目录添加到环境变量

  1.  arm-none-eabi-gcc

添加“右键打开文件和文件夹”选项

  1. cubemx

安装好后,下载相应STM32芯片的pack包

  1. gun mcu eclipse插件

解压到自定义文件夹,并添加bin目录到系统环境变量

  1. stm32cubeprogrammer

安装好后,将STM32_Programmer_CLI.exe所在目录添加至系统环境变量。

仅供参考,系统环境变量如下:

Win+R 输入cmd,打开终端窗口,验证make、arm-none-eabi-gcc、openocd功能。正常查出版本号,说明正确安装。随便一个终端工具都可以用。

  1. 建立工程

建工程的过程就略了,选择生成的工程类型:makefile

完成之后,选择 openfolder

生成的文件夹+文件如下(自动生成了makefile):

然后再该文件夹下,shift+右键,在弹出的菜单中选择git bash 或者 在此处打开powershell窗口,输入  make -j4

见到如上的信息,说明已配置好make环境,并生成了正常的可用的程序。

  1. 使用vscode打开工程

在工程文件夹空白处右键,选择“open with code

在下边箭头所指向的窗口选择 terminal,然后输入make,正常的话,回正确输出编译过程和最后输出elf文件、hex文件、bin文件。

那么使用vscode开发stm32已经迈出了成功的第一步,剩下还有99步。

Vscode配置json文件实现编译、下载、硬件复位、调试等功能

  1. 添加配置文件

默认情况下,工程下是不含.vscode的文件夹的,需要在vscode下生成这样的文件或者直接从别处拷贝一份过来。

步骤:ctrl+shift+p,输入tasks,选择 configure task,然后选择C/C++:clang.exe……,这时候vsc会自动创建文件夹,并生成tasks.json模板文件,后期进行修改即可。

再次使用ctrl+shift+p,输入debug,选择open launch.json,然后选择C++…,结果会生成一个launch.json的文件。

同样的方式输入 c c++,找到图示的选择或者设置都可以,最终生成一个c_cpp_properties.json的文件。

  1.  在终端使用stm32cubeprogrammer连接stm32

  主要是使用它的STM32_Programmer_CLI.exe这个命令行工具。当然,安装jlink、st-link utility等也可以。

下图为st-link utility和STM32cubeProgrammer的CLI工具帮助信息,相对而言,Programme的功能更丰富,所以以这个为例来演示。

  1.  Stlink连接stm32芯片测试:

终端输入命令:STM32_Programmer_CLI -c port=SWD,结果如图所示,可以显示连接到的芯片的信息,说明已正确连接。前提是硬件正常、正确连接、供电正常。

使用终端成功下载程序

使用vsc修改makefile后再终端下载程序

  1. Makefile修改

Makefile添加代码如下:

update:

    @STM32_Programmer_CLI -c port=SWD -d $(BUILD_DIR)/$(TARGET).hex -v -s 0x08000000

添加update段,功能是-c 连接device,port=SWD,使用swd接口,-d下载,后边为下载的文件,-v Verify,-s start,后边是下载首地址。

  1. c_cpp_properties.json文件

主要有添加include路径,编译器路径,宏定义等

{

    "configurations": [

        {

            "name""Win32",

            "includePath": [

                "${workspaceFolder}Drivers/STM32F1xx_HAL_Driver/Inc",

                "${workspaceFolder}Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",

                "${workspaceFolder}Drivers/CMSIS/Device/ST/STM32F1xx/Include",

                "${workspaceFolder}Drivers/CMSIS/Include",

                "${workspaceFolder}Drivers/CMSIS/Include",

                "C:/Program Files (x86)/GNU Tools ARM Embedded/8 2019-q3-update/arm-none-eabi/include"

            ],

            "defines": [

                "USE_HAL_DRIVER ",

                "STM32F103xE ",

                "USE_HAL_DRIVER ",

                "STM32F103xE"

            ],

            "compilerPath""C:\\Program Files (x86)\\GNU Tools ARM Embedded\\8 2019-q3-update\\bin\\arm-none-eabi-gcc.exe",

            "cStandard""c11",

            "cppStandard""c++17",

            "intelliSenseMode""gcc-x86"

        }

    ],

    "version"4

}

  1. launch.json

{

    // 使用 IntelliSense 了解相关属性。 

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,澳门金沙注册送58导航:请访问: http://www.ib939.com/576/fwlink/?linkid=830387

    "version""0.2.0",

    "configurations": [

        {

            "name""stm32 Debug",

            "cwd""${workspaceRoot}",

            "executable""${workspaceFolder}/build/TEST_VSC_BLINK.elf",

            "request""launch",

            "type""cortex-debug",

            "servertype""stutil",

            "device""STM32F103RE",

            "preLaunchTask""生成并下载",

            "postDebugTask""复位设备"

        }

    ]

}

 

  1. tasks.json

{

    // See http://www.bo738.com/510/fwlink/?LinkId=733558

    // for the documentation about the tasks.json format

    "version""2.0.0",

    "tasks": [

        {

            "label""生成",

            "type""shell",

            "command""make -j6",

            "problemMatcher": [],

            "group": {

                "kind""build",

                "isDefault"true

            }

        },

        {

            "label""生成并下载",

            "type""shell",

            "command""make -j6 && make update",

            "problemMatcher": []

        },

        {

            "label""重新生成",

            "type""shell",

            "command""make clean && make -j6",

            "problemMatcher": []

        },

        {

            "label""复位设备",

            "type""shell",

            "command""STM32_Programmer_CLI -c port=SWD -hardRst",

            "problemMatcher": []

        }

    ]

}

附件(命令行下载程序代码):

命令行下使用各种软件下载方法

  1.    STM32_Programmer _CLI -c port=SWD -d $(BUILD_DIR)/$(TARGET).hex -v -s 0x08000000
  2.  st-flash write TEST_VSC_BLINK.bin 0x8000000
  3. ST-LINK_CLI  -c  SWD  -P  E:/wo4fisher/Documents/keil_proj__stm32/GCC_VSCODE_TEST/build/GCC_VSCODE_TEST.hex  -V  "after_programming" 

 

第一种:STM32_Programmer,第二种 git-hub开源软件 st-link(release地址:http://www.335.5227744.com/texane/stlink/releases/tag/1.3.0),第三种:st link utility

 

 

Launch原版

{

    // 使用 IntelliSense 了解相关属性。 

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: http://www.670.cao819.com/fwlink/?linkid=830387

    "version""0.2.0",

    "configurations": [

        {

            "name""stm32 Debug",

            "cwd""${workspaceRoot}",

            "executable""${workspaceFolder}/build/TEST_VSC_BLINK.elf",

            "request""launch",

            "type""cortex-debug",

            "servertype""stutil",

            "device""STM32F103RE",

            "preLaunchTask""生成并下载",

            "postDebugTask""复位设备"

        }

    ]

}



 

本文来自论坛,点击查看完整帖子内容。

关闭

站长推荐

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-10-22 00:22 , Processed in 0.036831 second(s), 11 queries , Gzip On, MemCache On.

Powered by EEWORLD电子工程世界

© 2019 永利游戏现金直营

返回顶部
澳门永利高娱乐场登入 威尼斯人SUNBET申博开奖时刻表 上海棋牌大下 彩票33正规 澳门永利高娱乐场网站
k7娱乐vip电子在线 玩大頭十三水穩贏技巧 万家彩票网注册 安徽快三最大遗漏数据 金牛电子棋牌捕鱼
登峰娱乐网址直营 澳门巴黎人开户优惠最高占成 88娱乐游戏下载官网最高占成 顶尖娱乐客户端 利来国际网上官网
澳门永利高娱乐场登入 十一选五免费计划软件 永利百家乐游戏中心登入 上市公司收 浩迮朴 申博娱乐官网开户