STM32工程模板创建(基于HAL库手把手教程)

目录

1.工程环境

2.工程模板的创建

        1)首先在桌面新建一个文件夹,命名建议用英文命名

        2)在建立的文件夹当中创建以下文件

3.在官网上下载固件包,解压打开提供的固件包

1)配置我们的CMSIS文件

         (1)打开Drivers文件夹

         (2)双击点开CMSIS文件

         (3)找到include文件

2)配置我们的Core文件

        (1)返回到CMSIS文件下找到Device文件

        (2)双击点开include文件

        (3)双击点开Source文件

        (4)再点开arm文件夹

                这里介绍一下x6,xb,xe,xg的区别:

    3)配置我们的Drivers

                (1)返回到固件库当中的Drivers目录下

                (2) 双击点开STM32F1xx_HAL_Driver文件

                (3)复制Inc和Src文件

4.keil5创建工程

        1)在CMSIS文件当中

        2)在Core文件当中

        3)在Drivers文件当中

        4)配置环境

        5)在下方添加文件名称

5.解决报错

        1)首先点击编译

        2)在USER文件下

自此工程模板创建完成


 

1.工程环境

        1)芯片名称:STM32F103C8T6

        2)编译器:keil5

2.工程模板的创建

固件库下载(官网链接):STMCU中文官网

        1)首先在桌面新建一个文件夹,命名建议用英文命名

        2)在建立的文件夹当中创建以下文件

                        1.CMSIS

                        2.Core

                        3.Drivers

                        4.USER

                        5.MDK-ARM

        注:文件文件名称可以改变

0d19754e0d2249009267f6fb9351483a.png

3.在官网上下载固件包,解压打开提供的固件包

f63c96ec8d324afba5fc8ce6e095a770.png

这里就不介绍各个文件的用途,可以自己去了解一下。

1)配置我们的CMSIS文件

         (1)打开Drivers文件夹

a4bc8457576d4ffd812f994e77fd8b66.png      

         (2)双击点开CMSIS文件

ace09416eea548f5aa4aba2c815c4083.png

        (3)找到include文件

77446da742d44e088233cb1b601ca63e.png

(这里为了防止我们少添加某个文件我建议全部复制)把这些文件复制到我们的CMSS文件当中

2)配置我们的Core文件

        (1)返回到CMSIS文件下找到Device文件

一直双击打开直到STM32F1xx文件下

444558cf9eb8430e8cf563ee5537f28d.png

a7e8e11310e7493eabb037e3725e583a.png

        (2)双击点开include文件

52704c8e410647108cc01fc2a40cf7dd.png

复制这三个文件到我们的Core文件当中

       (3)双击点开Source文件

               一直点击到下面这个文件

30520d6334de47d4896ebd377d60331e.png

复制system_stm32f1xx.c文件到Core当中

        (4)再点开arm文件夹

ad459d862a52476489f7a28fc760d977.png

把这个文件复制到我们的Core当中

                这里介绍一下x6,xb,xe,xg的区别:

        x6.s适用于小容量 产品;xb.s适用于中等容量产品;xe适用于大容量产品;xg适用于超大容量产品

        这里的容量是指FLASH的大小.判断方法如下:
                小容量:16K<=FLASH≤32K
                中容量:64K≤FLASH≤128K
                大容量:256K≤FLASH<=512k
                超大容量:768K≤FLASH<=1024K

请大家根据不同芯片容量大小确定自己的文件(这里以STM32F103C8T6为例)

    3)配置我们的Drivers

                (1)返回到固件库当中的Drivers目录下

29090528a5454c31be27e2c6277e16f0.png

               (2) 双击点开STM32F1xx_HAL_Driver文件

21a1e367965a4c2da2b052240a2effe9.png

             (3)复制Inc和Src文件

                        将这两个文件复制到Drivers文件下

这样固件库里面的文件就复制完成了,接下来创建keil5

4.keil5创建工程

32c5e302d959478bb1d23064d4bafc92.png

549929a681ec47298c588ce48d0c043c.png

点开这个图标

0245f17a8b864f8eb50ffd1a73ed5717.png

点击这里新建

a4f72ad39a8e4333aca417d267040083.png

创建这三个名称(建议与前面文件名称一致)

        1)在CMSIS文件当中

                把之前复制过来的文件全部添加进来

e74e241ec3994a3b9ea0f72907762793.png

        2)在Core文件当中

        在Core文件当中添加刚刚在Core文件复制的五个文件添加进来

        (操作方法与上述相同)

       3)在Drivers文件当中

        在这个文件当中添加自己需要的.c.h文件,但是stm32f1xx_hal_conf.h和stm32f1xx_hal_cortex.h文件必须添加

9e51216fc31f4666b4fa2a412e9cc366.png

添加后的文件图片如下

83d5f3f541ce4ca58f5f4ff9db9d1b0e.png

9a792ff5a5804966ac897b495c4e63cc.png

8a3f2ca56b1c43d5a92b702667eec8a9.png

点击OK

        4)配置环境

825594f05efb4e9f85e947c8d2c7ba2c.png

                点击魔术棒

点开c/c++(AC6)框

输入USE_HAL_DRIVER,STM32F103xB(注意中间是英文格式下的逗号)

4b628599af214d00b31a164383810352.png

        5)在下方添加文件名称

426c0af68b1045bfb4d6839f0e970656.png

f32c9f4b82a6422ea25f96f75afec83f.png

a778fc6a10054a1d9f189748a5748236.png

                这里一定要添加到每个文件的具体文件夹下

点击OK

5.解决报错

47673d8194b84e2a884666c97a1c0a34.png

        1)首先点击编译

57de5d598f6d4522808bc586b0e30ce6.png

可以看到4个报错,70个警告

个人的解决办法是:

824c1597867d4453b4dcd94c5e19a5c2.png

修改这三个,可以解决70个警告

ce1eb551f9014ffe96dbe80bb54c386e.png

        2)在USER文件下

                新建一个main.c文件

这四个报错,就是前面忘记添加stm32f1xx_hal_cortex.c文件,添加进来之后少了三个报错

378e733d4ab04c9e8e71bdd69d9da927.png

1edd69fcbdd9418e9432600dfda06502.png

另外一个报错,是因为没有main函数入口

1d26d267dc694b62ace35702a9bd6098.png

添加之后,报错全部消失

40971b47aa894a86b7df16cd45269624.png

自此工程模板创建完成

 

作者:2301_81076941

物联沃分享整理
物联沃-IOTWORD物联网 » STM32工程模板创建(基于HAL库手把手教程)

发表回复