🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
* 导师视频讲解:[去听课](https://www.bilibili.com/video/BV1Cb4y1171H?p=15) >[success] **技术支持说明:** >**1**.一般以自主学习为主 > **2**.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot) > **3**.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解! <br/> 上节课讲解了如何创建工程,但其实ST官方已经创建好一个模板工程,开发者只需要移植该模板工程并进行必要配置即可。 <br/> ## **下载ST的标准库** 本节课需要使用ST标准库,其所在目录如图所示。 ![](https://img.kancloud.cn/e5/0a/e50a703e9b9cf1ba52d39c6584ce7726_1026x586.png =250x) >[info] 如您还没下载,可前往下载页:[前往](2384616) <br/> ## **官方模板工程的移植** 创建一个用于存放工程文件的文件夹,并命名为Project。笔者也创建的了一个Project文件夹,在配套的资料的如下位置: ``` /STM32开发指南/STM32 Pro(Std) 主板 配套源代码/3. 移植官方标准工程模板/Project ``` <br/> 在标准库中找到官方模板工程,如图所示。 ![](https://img.kancloud.cn/2a/7c/2a7cfeb067d1c475c59a07d833ccd3cb_523x172.png =500x) <br/> 将以下目录和文件复制到刚才创建的 Project 目录中,如图所示。 ![](https://img.kancloud.cn/35/85/3585dcafef7ea4d8f648dd80b21f67b9_816x418.png =500x) <br/> 复制后的结果如图所示。 ![](https://img.kancloud.cn/f0/00/f0001350d726ee412424aa5f59c90d98_318x300.png) <br/> 接着,把标准库中的 Libraries 目录也复制过来,如图所示。 ![](https://img.kancloud.cn/1a/32/1a32fa2543e409959570924963a95ce3_337x329.png) <br/> 打开MDK-ARM 目录,然后打开工程文件,如图所示。 ![](https://img.kancloud.cn/fd/d0/fdd0b3eed3bc89bd2eeec578cf9c8772_320x199.png) <br/> 打开文件管理器,如图所示。 ![](https://img.kancloud.cn/bf/b6/bfb6a65d08b94461ea4c664100c43392_861x382.png =500x) <br/> 选择芯片型号 STM32F030,然后点击Set as Current Target,如图所示。 ![](https://img.kancloud.cn/c9/05/c9050a08617a7dabeb17152f35b858c2_803x599.png =500x) <br/> 除 STM32F030 外,把其它型号全部删除。 ![](https://img.kancloud.cn/8a/c1/8ac1183fd43770d4562c15d93970f247_803x599.png =500x) ### 删除方法如下: * 选中对象,然后点击红色“Delete”,如图所示。 ![](https://img.kancloud.cn/05/7e/057e32fe91b3f5c79c57d52a2cf21a94_803x602.png =450x) * 删除完成,如图所示。 ![](https://img.kancloud.cn/b7/b4/b7b4386c70f3d5eaa8a73357b5f81c55_803x602.png =450x) <br/> 删除CMSIS中的所有文件 * 选中CMSIS中的所有文件,并点击上方的交叉图标,如图所示。 ![](https://img.kancloud.cn/61/3b/613b409e6c61798d085c5c43d1a6a50a_803x599.png =450x) * 删除完成,如图所示。 ![](https://img.kancloud.cn/dd/a4/dda4b8ff3f82089dd63998edfa2a3478_803x601.png =450x) <br/> 给CMSIS重新新添加文件,步骤如下: * 点击Add Files,如图所示。 ![](https://img.kancloud.cn/08/68/0868d6ab051eedf034fdddc2d726da03_803x601.png =450x) ### * 返回上一级目录,如图所示。 ![](https://img.kancloud.cn/2c/78/2c78c814cdc4e457b01f267d3284a3fc_911x649.png =450x) ### * 进入 Libraries 目录,如图所示。 ![](https://img.kancloud.cn/c7/c0/c7c0043dc32c600743964860b89faf01_911x646.png =450x) ### * 进入 CMSIS 目录,如图所示。 ![](https://img.kancloud.cn/90/d4/90d4252f5fd58d647e27ec8cb4b5f995_911x646.png =450x) ### * 进入 Device 目录,如图所示。 ![](https://img.kancloud.cn/e0/e5/e0e52e904859b9786d4e8d2b2cd7d7f8_911x646.png =450x) ### * 进入 ST 目录,如图所示。 ![](https://img.kancloud.cn/ef/03/ef03cca09cdc6c30c5ac0cf69ef7434f_911x646.png =450x) ### * 进入 STM32F0xx 目录,如图所示。 ![](https://img.kancloud.cn/41/9f/419f5778dabc8b210fa817e506b2df10_911x646.png =450x) ### * 进入 Source 目录,如图所示。 ![](https://img.kancloud.cn/c2/61/c261e19de2860e38d77b8fa4422b4757_911x646.png =450x) ### * 进入Templates 目录,如图所示。 ![](https://img.kancloud.cn/65/11/65112ef69b5ce30d278810614984deba_911x646.png =450x) ### * 添加 system_stm32f0xx.c文件,如图所示。 ![](https://img.kancloud.cn/97/08/9708b16a66e0d36de0cda104a8715f8f_911x646.png =450x) <br/> * 添加下一个文件,进入arm目录,如图所示。 ![](https://img.kancloud.cn/af/a5/afa5b669acf0147b6d5976f14fb87b7f_911x646.png =450x) ### * 添加 startup_stm32f030.s 文件,如图所示。 ![](https://img.kancloud.cn/bc/b8/bcb87e35878008885bfcee24da8bcf3a_911x646.png =450x) >[warning]在选择文件前,需要按如图所示把文件过滤器更改为Asm Source file(\*.s\*;\*.src;\*.\*.a\*) ### * 添加完成,如图所示。 ![](https://img.kancloud.cn/84/10/8410871a3f3d8b34d9ce4918a1f8ee43_803x603.png =450x) <br/> 删除 StdPeriph_Driver 下所有文件,如图所示。 ![](https://img.kancloud.cn/0b/21/0b21e9f11c7eeda4c9444d5ff88eaee5_803x603.png =500x) ### 删除完成,点击 "OK",如图所示。。 ![](https://img.kancloud.cn/1c/b1/1cb15314d7661cc200fbf7c056aaf42c_803x601.png =500x) <br/> <br/> <br/> ## **官方模板工程的配置** 点击魔法棒,如图所示。 ![](https://img.kancloud.cn/83/60/8360e75c9ba09eb748bb06aea0939c93_649x329.png =500x) <br/> 点击Device选项卡, * 如果使用的是**STM32 Pro主板**,那么选择STM32F0 Series→STM32F0→**STM32F030C8Tx**,然后点击OK,如图所示。 ![](https://img.kancloud.cn/1f/de/1fde015d2bddeeec136bb6413cb3b0de_800x604.png =500x) <br/> * 如果使用的是**STM32 Std主板**,那么选择STM32F0 Series→STM32F0→**STM32F030F4Px**,然后点击OK,如图所示。 ![](https://img.kancloud.cn/57/e2/57e2a7783b5b34413aacf95ce8127327_1186x894.png =500x) <br/> 切换至 "Output" 选项卡,勾选“Create Hex File”,如图所示。 ![](https://img.kancloud.cn/29/4e/294e930ea7bdde78ab3495fc97fb944d_800x603.png =500x) <br/> 点击C/C++选项卡,在 "C/C++" 选项卡,进行如图所示设置,并且点击OK ![](https://img.kancloud.cn/87/65/87658e87b9469cf8649ef7dd9cb816a2_800x604.png =500x) ### 其中,Define内容: ``` USE_STDPERIPH_DRIVER,STM32F030 ``` Include Paths内容: ``` ..\;..\Libraries\CMSIS\Include;..\Libraries\CMSIS\Device\ST\STM32F0xx\Include;..\Libraries\STM32F0xx_StdPeriph_Driver\inc;..\Libraries\STM32F0xx_CPAL_Driver\inc ``` ### 至此,我们已经移植和配置完成,接下来编译一下模板工程。 <br/> ## **编译模板工程** 点击Rebuild按钮,编译整个工程,如图所示。 ![](https://img.kancloud.cn/1c/84/1c8439a35ce73b673a409db7d0e02f8e_641x326.png =500x) <br/> 如上述操作正确,则编译成功,如图所示。 ![](https://img.kancloud.cn/d5/51/d551306c7dea2cc657ff54bce4940e66_936x772.png =500x) <br/> <br/> ## **商务合作** 如有以下需求,可扫码添加管理员好友,注明“**商务合作**” * 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等; * 入驻平台,成为讲师; * 接项目赚外快; * 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/b7/5a/b75ac8c3da945f20568771f5935c388f_430x430.png =150x) (非商务合作**勿扰**,此处**非**技术支持)