完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目录
前言 危险而锋利的刀,往往需要熟练才能使用,而越熟练,这把刀的威力就越大。趁手的工具大抵如此,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.json到stm32cube生成的 keil工程目录下,用字符串替换指令替换掉旧目录,替换时注意转义字符’\‘表示一个’’ 这个是我上传的一个json示例文件:免积分下载链接 json文件修改说明 因为目前还没搞定仿真,并不能全部迁移到vim,或许能找到方法。 我是用vim做编辑,编译和下载使用vim快捷键映射keil命令行指令,仿真还是要到keil里面。这样的话交叉编译make生成json文件还不如直接修改json文件方便。主要修改部分如下图,所有相关结构都需要修改,用vim的宏也挺快的。
看代码可知是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工具,小伙伴们可以自行折腾,资料还是挺多的,仿真折腾好了再更新。
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1865浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
648浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
517浏览 3评论
534浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 13:19 , Processed in 0.821114 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号