summaryrefslogtreecommitdiff
path: root/bsp/stm32/stm32f103-blue-pill/README_zh.md
blob: f626abc2a1492f9b0083cd19aabffb7c614e5b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# STM32F103C8T6最小系统板(BluePill) BSP 说明

[[English]](README.md)

## 简介

本文档为 STM32F103C8T6最小系统板(BluePill) 的 BSP (板级支持包) 说明。

主要内容如下:

- 开发板资源介绍
- BSP 快速上手
- 进阶使用方法

通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。



## 开发板介绍

STM32F103C8T6最小系统,采用SWD调试接口,可以用3个接口就能完成调试下载的任务,采用了官方建议的负载RTC晶振方案,小体积高频率的STM32实验板

开发板外观如下图所示:

![Bluepill_pinout v2](figures\Bluepill_pinout_v2.png)

该开发板常用 **板载资源** 如下:

- MCU:STM32F103C8T6,主频 72MHz,64KB FLASH(实际可烧录128KB) ,20KB RAM
- 外部 RAM:无
- 外部 FLASH:无
- 常用外设
  - LED:1个 PB2
- 常用接口:无
- 调试接口:SWD调试接口



## 外设支持

本 BSP 目前对外设的支持情况如下:

| **板载外设**      | **支持情况** | **备注**                              |
| :----------------- | :----------- | :------------------------------------- |
| 	黄色LED		    |     支持      |       PC13                          |
| **片上外设**      | **支持情况** | **备注**                              |
| GPIO              |              |          |
| UART              |     支持     | UART1                                |



## 使用说明

使用说明分为如下两个章节:

- 快速上手

    本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。

- 进阶使用

    本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。


### 快速上手

本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。

**请注意!!!**

在执行编译工作前请先打开ENV执行以下指令(该指令用于拉取必要的HAL库及CMSIS库,否则无法通过编译):

```bash
pkgs --update
```

#### 硬件连接

使用数据线连接开发板到 PC,打开电源开关。

#### 编译下载

双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。

> 工程默认配置使用 J-Link 仿真器下载程序,在通过 J-Link 连接开发板的基础上,点击下载按钮即可下载程序到开发板

#### 运行结果

下载程序成功之后,系统会自动运行,LED 闪烁

连接开发板对应串口到 PC(PA9,PA10) , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:

```bash
 \ | /
- RT -     Thread Operating System
 / | \     4.0.1 build Mar 10 2019
 2006 - 2019 Copyright by rt-thread team
msh >
```
### 进阶使用

此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用 ADC、SPI等更多高级功能,再用 ENV 工具对BSP 进行配置,步骤如下:

1. 在 bsp 下打开 env 工具。

2. 输入`menuconfig`命令配置工程,配置好之后保存退出。

3. 输入`pkgs --update`命令更新软件包。

4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。

本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。



## 注意事项

- 只能用USB转TTL连接PC机 ;
- 
### 关于Flash
STM32F103C8T6和STM32F103CBT6(128KB Flash)是基于同一芯片制造的,但在出厂时,STM32F103C8T6仅对前64KB进行了测试和认证,因此官方文档中仅标注为64KB。链接脚本故意改成128kb的,解锁高64kb。
注意:高64kb并不完全可靠,若是烧录超过64kb代码后运行出错,可能是硬件flash问题。

可通过以下指令查看快速配置的内容,如果开启nano可以仅保留核心功能,减少代码占用。
```bash
scons --attach=?
```
## 感谢 & 维护

- 感谢[obito0](https://github.com/obito0)提供的[原始工程](../stm32f103-mini-system)
- [Meco Man](https://github.com/mysterywolf): [email protected]