STM32
直播中

刘秀英

7年用户 1336经验值
私信 关注
[问答]

win10中如何用vim开发stm32

win10中如何用vim开发STM32

回帖(1)

何禄蔓

2021-10-13 16:42:01
目录

  



  前言

      危险而锋利的刀,往往需要熟练才能使用,而越熟练,这把刀的威力就越大。趁手的工具大抵如此,vim更是这样。本文读者应该已经用过vim插件,并写过或拷贝过vim配置文件,否则在插件部分可能会有疑问。网上vim插件相关博文很多,我也会在自己的VIM专栏更新自己的一些经验,不会用vim插件的话可以先看看,基本是几个拷贝,比较容易(除了YCM这个怪物)。
  1.stm32cube

          代码生成工具,生成工具链选择makefile,注意选择过keil的项目再改到makefile编译不通过,不知道哪里原因

  

  

  2.makefile

    代码构建依赖描述工具,stm32cube生成makefile工程后,可以如下图位置添加其他库,比如标准库位置路径。-I表示include路径,后面跟路径地址,注意路径空格前加,括号前也要加,绝对地址格式示例如下图。保存后重新compiledb make可以生成新的compile_command.json文件,注意,重新生成后要重新打开vim,这样新的.json文件才能生效。

  

  

  3.vim插件------coc.nvim

    自动补全插件,仓库地址:coc.nvim,安装插件的同时使用插件的推荐vim启动配置,这样才能用gd那些跳转。
  这里使用vim-plug插件管理器来安装,注意安装失败的话需要改一下插件管理器仓库地址,参考:
  https://blog.csdn.net/htx1020/article/details/114364510
  4.coc插件------coc-clangd

    舒服打代码最重要的一个东西,提供补全和语法检测,支持补全中文。仓库地址:coc-clangd,安装好coc后在vim界面使用coc命令即可安装,注意不需要:CocConfig去配置,如果使用CocConfig命令配置的话就不需要安装coc-clangd插件,而是安装clangd,安装完成需要把bin目录添加到环境变量
  :CocInstall coc-clangd   5.clangd编译数据库生成软件compiledb

    clangd依赖compile_command.json才能很好的工作,这个工具用来生成compile_command.json,否则库的补全会有问题,仓库地址:compiledb
  需要安装python
  pip install compiledb compiledb make //在工程目录下生成compile_command.json     使用keil编译仿真的话可以复制生成好的compile_command.jsonstm32cube生成的 keil工程目录下,用字符串替换指令替换掉旧目录,替换时注意转义字符’\‘表示一个’’
  这个是我上传的一个json示例文件:免积分下载链接
  json文件修改说明

    因为目前还没搞定仿真,并不能全部迁移到vim,或许能找到方法。
  我是用vim做编辑,编译和下载使用vim快捷键映射keil命令行指令,仿真还是要到keil里面。这样的话交叉编译make生成json文件还不如直接修改json文件方便。主要修改部分如下图,所有相关结构都需要修改,用vim的宏也挺快的。
  


  • 工程目录:你的工程路径
  • 库文件路径,有其他相对、绝对路径照着填即可
  • -fdeclspec 命令添加,不添加标准库错误很多

      



  stdio.h修改

    看代码可知是c++相关内容,所以注释掉通常没有影响

  

  

  这样stdio.h就没有报错了:

  

  

文件指针也没有报错了:

  

  

  6.cygwin64

    去这个里面安装make命令,下载地址:cygwin64,安装时一路下一步,这里选择阿里云镜像站
  

  

然后选择选择三个包安装就可以了,安装完把bin文件夹添加到环境变量

  

  

  

  

  make -v //查看是否安装成功   在工程目录下make即可编译工程
  7.arm-none-eabi-gcc

    交叉编译工具链,下载地址:arm-none-eabi-gcc,可以用这个来编译工程,make后生成的hex和bin文件在./build文件加下,
  arm-none-eabi-gcc -v  //查看是否安装成功,命令错误的话把安装目录bin添加到环境变量   来个图纪念一下

    终于把最基本的环境跑起来了,这才是开始!!
  HAL库补全:

  

  

  标准库补全:

  

  

  语法检测:

  

  

  内置终端交叉编译:

  

  

  使用keil编译:

  

  

  使用keil下载:

  

  

    放一篇之前写的vim基本操作:win下使用gvim编译keil工程及一些常用操作及快捷键------持续更新
    有新东西的话我会慢慢加进来,我仿真还是依靠keil,折腾的路还很长。下载调试工具的话有openocd和工具链的gdb工具,小伙伴们可以自行折腾,资料还是挺多的,仿真折腾好了再更新。
  


  •   B站大佬Pulf_bili的openocd使用讲解视频,非常详细,搭建的是Clion的环境,命令都是通用的,可以做个快捷键映射
  •   gdb教程也可以B站搜索
  •   vim有很多可视化调试插件,还在折腾中------
举报

更多回帖

发帖
×
20
完善资料,
赚取积分