* 导师视频讲解:[去听课](https://www.bilibili.com/video/BV1Cb4y1171H?p=15)
>[success] **技术支持说明:**
>**1**.一般以自主学习为主
> **2**.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot)
> **3**.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解!
<br/>
上节课讲解了如何创建工程,但其实ST官方已经创建好一个模板工程,开发者只需要移植该模板工程并进行必要配置即可。
<br/>
## **下载ST的标准库**
本节课需要使用ST标准库,其所在目录如图所示。

>[info] 如您还没下载,可前往下载页:[前往](2384616)
<br/>
## **官方模板工程的移植**
创建一个用于存放工程文件的文件夹,并命名为Project。笔者也创建的了一个Project文件夹,在配套的资料的如下位置:
```
/STM32开发指南/STM32 Pro(Std) 主板 配套源代码/3. 移植官方标准工程模板/Project
```
<br/>
在标准库中找到官方模板工程,如图所示。

<br/>
将以下目录和文件复制到刚才创建的 Project 目录中,如图所示。

<br/>
复制后的结果如图所示。

<br/>
接着,把标准库中的 Libraries 目录也复制过来,如图所示。

<br/>
打开MDK-ARM 目录,然后打开工程文件,如图所示。

<br/>
打开文件管理器,如图所示。

<br/>
选择芯片型号 STM32F030,然后点击Set as Current Target,如图所示。

<br/>
除 STM32F030 外,把其它型号全部删除。

###
删除方法如下:
* 选中对象,然后点击红色“Delete”,如图所示。

* 删除完成,如图所示。

<br/>
删除CMSIS中的所有文件
* 选中CMSIS中的所有文件,并点击上方的交叉图标,如图所示。

* 删除完成,如图所示。

<br/>
给CMSIS重新新添加文件,步骤如下:
* 点击Add Files,如图所示。

###
* 返回上一级目录,如图所示。

###
* 进入 Libraries 目录,如图所示。

###
* 进入 CMSIS 目录,如图所示。

###
* 进入 Device 目录,如图所示。

###
* 进入 ST 目录,如图所示。

###
* 进入 STM32F0xx 目录,如图所示。

###
* 进入 Source 目录,如图所示。

###
* 进入Templates 目录,如图所示。

###
* 添加 system_stm32f0xx.c文件,如图所示。

<br/>
* 添加下一个文件,进入arm目录,如图所示。

###
* 添加 startup_stm32f030.s 文件,如图所示。

>[warning]在选择文件前,需要按如图所示把文件过滤器更改为Asm Source file(\*.s\*;\*.src;\*.\*.a\*)
###
* 添加完成,如图所示。

<br/>
删除 StdPeriph_Driver 下所有文件,如图所示。

###
删除完成,点击 "OK",如图所示。。

<br/>
<br/>
<br/>
## **官方模板工程的配置**
点击魔法棒,如图所示。

<br/>
点击Device选项卡,
* 如果使用的是**STM32 Pro主板**,那么选择STM32F0 Series→STM32F0→**STM32F030C8Tx**,然后点击OK,如图所示。

<br/>
* 如果使用的是**STM32 Std主板**,那么选择STM32F0 Series→STM32F0→**STM32F030F4Px**,然后点击OK,如图所示。

<br/>
切换至 "Output" 选项卡,勾选“Create Hex File”,如图所示。

<br/>
点击C/C++选项卡,在 "C/C++" 选项卡,进行如图所示设置,并且点击OK

###
其中,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按钮,编译整个工程,如图所示。

<br/>
如上述操作正确,则编译成功,如图所示。

<br/>
<br/>
## **商务合作**
如有以下需求,可扫码添加管理员好友,注明“**商务合作**”
* 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等;
* 入驻平台,成为讲师;
* 接项目赚外快;
* 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/)

(非商务合作**勿扰**,此处**非**技术支持)
- 课程简介
- 配套资源下载
- 配套开发套件简介
- 简介
- 硬件组成 & 技术参数
- STM32 Pro 主板 原理图 & PCB图
- STM32 Std 主板 原理图 & PCB图
- 板载设备使用说明
- STM32开发指南
- 1. 搭建开发环境
- 1.1 Keil MDK简介与安装
- 1.2 STM32 Pack 简介与安装
- 1.3 CH34x 驱动简介与安装
- 1.4 ISP 串口下载工具
- 1.5 串口调试工具
- 2. STM32 开发基础
- 2.1 新建工程
- 2.2 实现第1个程序
- 2.3 Hex 文件烧录详解
- 3. 移植官方标准工程模板
- 4. GPIO实验:LED
- 5. 系统延时应用
- 6. GPIO实验:按键
- 7. GPIO中断实验——按键触发实验
- 8. 使用定时器TIM3
- 9. 串口通信实验
- 10. ADC 实验
- 11. OLED显示器实验
- 12. SDK 设计思想
- 13. SDK 架构解析
- 14. 多任务应用实验
- 15. 输入型任务:按键输入实验
- 16. 输入型任务:串口接收实验
- 17. 高精度温湿度传感器实验
- 进阶课程