wo4fisher

个性签名:水不撩不知深浅 人不拼怎知输赢

  • 2019-10-06
  • 加入了学习《物联网、汽车、AI 全覆盖 - 世平集团,恩智浦解决方案大秀场》,观看 NXP PEPS 应用方案

  • 加入了学习《物联网、汽车、AI 全覆盖 - 世平集团,恩智浦解决方案大秀场》,观看 NXP LPC55S69 Audio 应用方案

  • 加入了学习《物联网、汽车、AI 全覆盖 - 世平集团,恩智浦解决方案大秀场》,观看 NXP BMS 应用方案

  • 加入了学习《物联网、汽车、AI 全覆盖 - 世平集团,恩智浦解决方案大秀场》,观看 NXP S32V ADAS 方案

  • 加入了学习《物联网、汽车、AI 全覆盖 - 世平集团,恩智浦解决方案大秀场》,观看 NXP MK64 大树云 BTC 方案

  • 回复了主题帖: “赞一赞我的国”:集合啦,侃侃好用的国产单片机

    首先是STC家的,51系列外设丰富、传统51十二倍的速率,内置时钟发生器并且通过ISP软件可调、内置复位电路,大内存这些个特点,再加上低廉的价格,丰富的引脚封装。在使用的很多产品上都看到过STC的影子,并且在ARM CORTEX-Mx系列芯片如日中天的现在,STC依然坚强的活着。 用过stc89c52、stc15w系列、STC12F系列,目前在使用STC8A8K系列。 另外使用过GD32F103、GD32f350,虽然GD的资料不是很丰富,应用的生态也不如STM32,但是stm32f103的工程直接下载到GD32F103同型号单片机里,直接使用,也是爽的不要不要的。当然,GD家的“高仿”stm32的同时,也发展出了自己的特点,出了一些新型号的单片机。 以后有机会,满足需求的话,一定会考虑国产优先。

  • 2019-09-29
  • 回复了主题帖: vscode 开发STM32流程总结

    大小家伙好 发表于 2019-9-27 08:43 图都挂了 推荐安装以下几个插件: 1、Settings Sync:同步vscode配置至github 2、koroFileHeader ...
    谢谢

  • 回复了主题帖: vscode 开发STM32流程总结

    回头再挂一个网盘链接,论坛什么时候能支持doc插件就好了,直接把doc转换成网页

  • 2019-09-26
  • 发表了主题帖: vscode 开发STM32流程总结

    本帖最后由 wo4fisher 于 2019-9-26 20:22 编辑 此内容由EEWORLD论坛网友wo4fisher原创,如需转载或用于商业用途需征得作者同意并注明出处 vscode 开发STM32流程总结  图裂了,文末有pdf版,一样的。 目 录 一、     工具集下载... 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有恐惧,想战胜这份恐惧。所以结合网上丰富的非正规教程,就成了这篇备忘录。 工具集下载 vs code下载 源于微软的一款文本编辑器,由于免费和丰富的插件生态,主要用来程序编写、调试。 软件链接https://code.visualstudio.com/Download 安装过程windows风格,注意有个复选框,添加“右键打开文件和文件夹”选项即可。 clang下载 其另一个名字交LLVM,用于提供语法补全代码格式化等功能,正常完成安装后将软件的安装目录下的bin文件夹设置进入环境变量PATH中。 链接:http://releases.llvm.org/9.0.0/   后边是版本号,直接修改版本号即可进入对应版本的下载链接。进入网页后根据自己系统和需求下载对应的文件。我直接下载了exe安装包。安装后添加bin目录到系统path环境变量。 git下载 提供Git支持和MINGW64指令终端。我主要用git带的终端了,名叫bash.exe 官网下载链接:https://gitforwindows.org/ openocd下载 为什么牛X的都是老外,是一个学校的开源项目,十来年了,它的进化版本叫visualGDB,好像是,收费。提供一个pc和调试器之间的一个接口--gdb服务。用keil哪有这么多事儿。这个文件下载下来不需要安装,直接放到一个文件夹下,bin目录添加系统path环境变量就行。 下载链接:http://gnutoolchains.com/arm-eabi/openocd/(还有好多其他的工具也在这里)(有的给的是这个链接,这个里边的是源码,还需要自己编译。https://sourceforge.net/就是这里) arm-none-eabi-gcc下载 arm的交叉编译工具集,GNU toolchain下载 下载链接:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads 我下载的gcc-arm-none-eabi-8-2019-q3-update-win32.exe这个。 cubemx下载 stm32程序初始化神器,ST官网直接找吧。  st cubeprogrammer下载 用于stm32程序下载,ST官网直接找吧。 gnu-mcu-eclipse下载 stm32 make工具gnu-mcu-eclipse,是一个eclipse的插件,可以在windows下构建makefile环境,适合直接在终端界面make工程。可以作为vscode的辅助使用。 下载链接: https://github.com/gnu-mcu-eclipse/windows-build-tools/releases 参考教程 其他参考教程:https://www.jianshu.com/u/b1ffe963c188                        https://blog.csdn.net/zhengyangliu123 写的比较好的两位博主。                     https://www.brobwind.com/archives/1291(有关gdb和openocd的) 工具安装注意事项 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-debug:device support Gbk2utf8 Visual studio intellicode 语法支持、智能补全、颜色              clang/LLVM   bin目录添加到环境变量  git 正常安装 在vsc中使用它的终端 Openocd 解压后放入自定义目录,然后其bin目录添加到环境变量  arm-none-eabi-gcc 添加“右键打开文件和文件夹”选项 cubemx 安装好后,下载相应STM32芯片的pack包 gun mcu eclipse插件 解压到自定义文件夹,并添加bin目录到系统环境变量 stm32cubeprogrammer 安装好后,将STM32_Programmer_CLI.exe所在目录添加至系统环境变量。 仅供参考,系统环境变量如下: 软件安装检查 Win+R 输入cmd,打开终端窗口,验证make、arm-none-eabi-gcc、openocd功能。正常查出版本号,说明正确安装。随便一个终端工具都可以用。 Cubemx生成独立工程 建立工程 建工程的过程就略了,选择生成的工程类型:makefile 完成之后,选择 openfolder 生成的文件夹+文件如下(自动生成了makefile): 然后再该文件夹下,shift+右键,在弹出的菜单中选择git bash 或者 在此处打开powershell窗口,输入  make -j4      见到如上的信息,说明已配置好make环境,并生成了正常的可用的程序。 使用vscode打开工程 在工程文件夹空白处右键,选择“open with code” 在下边箭头所指向的窗口选择 terminal,然后输入make,正常的话,回正确输出编译过程和最后输出elf文件、hex文件、bin文件。 那么使用vscode开发stm32已经迈出了成功的第一步,剩下还有99步。 Vscode配置 Vscode配置json文件实现编译、下载、硬件复位、调试等功能 添加配置文件 默认情况下,工程下是不含.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的文件。 连接测试  在终端使用stm32cubeprogrammer连接stm32   主要是使用它的STM32_Programmer_CLI.exe这个命令行工具。当然,安装jlink、st-link utility等也可以。 下图为st-link utility和STM32cubeProgrammer的CLI工具帮助信息,相对而言,Programme的功能更丰富,所以以这个为例来演示。     Stlink连接stm32芯片测试: 终端输入命令:STM32_Programmer_CLI -c port=SWD,结果如图所示,可以显示连接到的芯片的信息,说明已正确连接。前提是硬件正常、正确连接、供电正常。 使用终端成功下载程序 使用vsc修改makefile后再终端下载程序 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,后边是下载首地址。 Vscode下json文件配置 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 } launch.json {     // 使用 IntelliSense 了解相关属性。      // 悬停以查看现有属性的描述。     // 欲了解更多信息,请访问: https://go.microsoft.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": "复位设备"         }     ] }   tasks.json {     // See https://go.microsoft.com/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": []         }     ] } 附件(命令行下载程序代码): 命令行下使用各种软件下载方法    STM32_Programmer _CLI -c port=SWD -d $(BUILD_DIR)/$(TARGET).hex -v -s 0x08000000  st-flash write TEST_VSC_BLINK.bin 0x8000000 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地址:https://github.com/texane/stlink/releases/tag/1.3.0),第三种:st link utility     Launch原版 {     // 使用 IntelliSense 了解相关属性。      // 悬停以查看现有属性的描述。     // 欲了解更多信息,请访问: https://go.microsoft.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": "复位设备"         }     ] }  

  • 发表了日志: vscode 开发STM32流程总结

  • 2019-08-23
  • 回复了主题帖: 颁奖了-下载有礼:是德科技电子书《通过了解测试精度的基础知识, 提高良率并降低...-

    信息无误。谢谢EE

  • 2019-08-01
  • 回复了主题帖: 电赛猜题,有奖!

    ti的处理器指定用在控制类

  • 回复了主题帖: 电赛猜题,有奖!

    网络测线仪 小车+摄像头   激光追踪 四旋翼 云台 摄像头 激光追踪 SD卡/TF卡特定语音播放  

  • 2019-07-22
  • 回复了主题帖: 本周话题:聊聊PID,说说你的体会。附送精品PID资料两枚

    飞思卡尔平衡车有个资料不错,里边也讲pid了。 第一个资料有年头了

  • 2019-07-17
  • 点评了资料: Proteus教程中文版,值得你学习

  • 2019-07-10
  • 回复了主题帖: [本周话题]预测今年控制类会出什么样的题目呢?有福利!

    智能定位相关

  • 回复了主题帖: [本周话题]预测今年控制类会出什么样的题目呢?有福利!

    无人机已经属于一个大方向了

  • 回复了主题帖: [本周话题]预测今年控制类会出什么样的题目呢?有福利!

    小车图像识别

  • 2019-07-04
  • 回复了主题帖: 下载有礼|ADI 最新《模拟对话》合订本

  • 2019-07-01
  • 回复了主题帖: 【颁奖】助力电赛,抢楼有礼

    个人信息确认无误。

统计信息

已有2711人来访过

  • 芯币:1805
  • 好友:9
  • 主题:52
  • 回复:701
  • 课时:--
  • 资源:2

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言