STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建

        Eide环境搭建暂且不表,后续补充。主要记录下Vscode环境下 创建Rt-thread工程的过程。分别介绍STM32CubeMX添加rtt支持包的方式和手动添加rtt kernel方式。STM32CubeMX生成工程的时候有"坑",防止下次忘记,方便渡一下有缘人,特此记录。

        此工程以创建stm32f405为例:

  1. 通过STM32Cube MX创建STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第1张图片
  2. 配置外部时钟源STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第2张图片
  3.  配置下载方式SWDSTM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第3张图片
  4. 选择Rt-thread组件

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第4张图片

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第5张图片

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第6张图片

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第7张图片

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第8张图片

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第9张图片

 

 经过一系列简单配置,就可以创建工程了!

用VSCODE打开工程文件夹,通过EIDE创建工程。工程名字选择CubeMX一样的名字,目录选择Cube MX工程的上一级。

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第10张图片

 添加项目资源,把有代码的文件夹全部选中,添加文件夹到项目。

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第11张图片

 添加头文件路径。

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第12张图片

 具体要添加的路径去Make file中找到,并按照上述方式逐个添加。

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第13张图片

 添加宏定义,也是需要打开Makefile,对照添加(注意:添加的时候不要复制-D)

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第14张图片

 把startup_stm32xxxxxx.s文件拖到Core目录下面

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第15张图片

 这个步骤右边文件内容显示的不对,需要重新CubeMx生成一次,重新添加就好了。

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第16张图片

 添加链接脚本路径,实际上就是添加ld链接文件名字

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第17张图片

 然后进行构建配置和烧录配置i,这里直接给出我的配置。

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第18张图片

 步骤有些麻烦,终于基本上都配置好了,我来编译一下,看看成果

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第19张图片

这就对了,没有一次成功的事情。这里有一个STM32Cube MX在Rtthread兼容上的bug,这个坑先填上再试试。具体是CubeMX生成的rt-thread 启动文件是iar类型,我们选Makefile应该给gcc的才对,看图:

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第20张图片

那我们去rtt官网找来,对应的文件换上再编译试试吧

 STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第21张图片

 编译结果如下:

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第22张图片

 好的,终于通过了!

另外有一点需要注意的是,每次更新CubeMX配置,都会自动生成一个context_iar.S,编译会报错,需要我们手动删除一下!、

下载ok!

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第23张图片

 调试也ok!

STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建_第24张图片

 

你可能感兴趣的:(STM32单片机,stm32,vscode,嵌入式硬件)