【STM32开发】win平台开源工具链开发STM32(一)工具链介绍

简介

本系列教程将介绍如何使用开源工具链在windows平台下搭建STM32开发环境,并手把手实际建立一个使用此工具链的STM32工程进行编译和烧写。
至于为什么有了Keil、IAR、STM32CUBEIDE等成熟的开发环境后还要花费时间和经历搭建开发环境,主要原因考虑自己搭建开发环境和控制编译有利于学习STM32工程的构成和如何编译工程,以及熟悉单片机开发的流程。其他的原因就仁者见仁智者见智了,例如觉得IDE过于臃肿,启动速度慢等,读者根据自己的情况考虑即可。

本系列教程将包括以下内容:

  • STM32F103开发流程
  • 开发工具链介绍,包括vscode、arm-gcc、openocd
  • 工程管理工具makefile介绍和使用
  • 工具链的安装和使用
  • STM32工程的搭建、编译和下载
  • 拓展知识

一、STM32开发流程简介

学习过STM32的读者肯定对在keil下开发的流程很熟悉,编写程序、点击编译、连接开发板、选择调试器、下载运行。简要开发流程图如下图所示:
【STM32开发】win平台开源工具链开发STM32(一)工具链介绍_第1张图片
根据开发流程可以归纳出开发所需要的的工具:

  • 编辑器:用来编写代码,除了能打字外往往还会包括许多的辅助功能,包括自动补全、分类颜色、函数跳转搜索、简单语法检查等功能。
  • 编译器:用于将C或者汇编代码编译生成目标单片机可以运行的代码,一般为.hex或者.bin文件,这里的编译器其实是编译工具的集合,到后面介绍arm-gcc时会详细介绍。
  • 下载器:用于将生成的.hex/.bin文件通过下载工具(如jlink、stlink、cmsis-dap)下载到单片机的flash中。
  • 调试器连接jlink、stlink、cmsis-dap等工具对单片机进行控制运行情况、读取内存、查看寄存器数据等操作。

二、工具链介绍

上文中我们知道了单片机开发中必须的工具,本节将逐一介绍这些工具的安装和使用,本教程基于开源工具链,因此需要收费的工具不在本文的考虑范围内。

1、文本编辑工具vscode

这个工具主要用来书写代码,理论上用windows自带的记事本写都可以,但是体验极差。网络上可以找到的编辑工具有很多,像vscode、notepad++、vim等。这些工具各有各的特色,学习难度各不相同、不同的人喜好也不同。本文将选用vscode和gvim作为示范,如果读者偏好其他种类的编辑工具也可以自行按照后面的教程与其他工具结合。

1、1 vscde下载与安装

vscode的获取很方便,直接官网下载即可,下载后双击安装。vscode有丰富的插件商店,可以安装各种插件来提升自己书写代码的体验,具体方法看这里。vscode会自动识别打开的文档类型并推荐相关的插件(如C/C++代码高亮),如果需要点击安装即可。下图是我自己的vscode界面。
【STM32开发】win平台开源工具链开发STM32(一)工具链介绍_第2张图片

1、2 gvim下载与安装

接触过Linux系统的人一定听说过大名鼎鼎的vim,它和emacs分别被称为编辑器之神和神之编辑器。vim原本是Linux系统下的,但有大神将其移植到了windows平台下,这就是gvim。gvim官网
下载后也是直接双击安装就行。gvim的初始界面比较丑,但好在gvim可以灵活配置,也可以安装各种插件,但这部分内容比较多,学习曲线比较陡峭,光是vim指令的用法都出书了,除非对vim有很大的兴趣,一般人会更倾向于选择vscode。不过作为尝鲜,还是可以使用看看,入门教程在这里。
下图是我自己配置完成后的gvim。
【STM32开发】win平台开源工具链开发STM32(一)工具链介绍_第3张图片

  • gvim刚打开时无法键入字符,这是因为gvim此时在普通模式,要编辑文本需要切换到插入模式,使用下面的指令来进入和退出插入模式
i  +enter     #进入插入模式
esc	  #从插入模式退出
  • 在插入模式中编辑完成后,按esc退出到普通模式,这时需要保存刚刚写好的代码,使用如下命令,w前面的冒号不可省略。
:w	+enter	#保存文本
  • 如果在编辑时顺手按了ctrl+s,gvim会“卡死”,这是因为ctrl+s是linux下的终端锁定快捷键,这时按ctrl+q即可解除锁定。
  • 使用下面的命令来退出gvim
:q	+enter	#退出gvim

编辑器的介绍就到这里,下一篇文章将会介绍工具链中的关键部分:编译器arm-gcc和下载器openocd,并介绍这两个工具的安装和使用方法。

你可能感兴趣的:(随记,visual,studio,code,vim,stm32)