README.md
1# STM32MP157A-EV1 BSP Introduction
2
3[中文页](README_zh.md) |
4
5## Introduction
6
7This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32MP157A-EV1 development board.
8
9The document is covered in three parts:
10
11- STM32MP157A-EV1 Board Resources Introduction
12
13- Quickly Get Started
14
15- Advanced Features
16
17By reading the Quickly Get Started section developers can quickly get their hands on this BSP and run RT-Thread on the board. More advanced features will be introduced in the Advanced Features section to help developers take advantage of RT-Thread to drive more on-board resources.
18
19## STM32MP157A-EV1 Board Resources Introduction
20
21The STM32MP157A-EV1 is a development board based on a dual Cortex-A7 and Cortex-M4 core. The Cortex-A7 core operates at 650 MHZ and the Cortex-M4 operates at 209MHZ. There is no Flash inside the STM32MP157A.
22
23
24
25The mainly-used **on-board resources** are shown as follows:
26
27- MCU : STM32MP157AAAx
28- Common peripherals:
29 - 4 LEDs: LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14)
30 - 4 Buttons: WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14)
31- Common-used interface: USB, SD card, Ethernet, MIPI, USB HOST, Audio, HDMI, Arduino.
32- Debug interface: Standard JTAG/SWD.
33
34For more details about this board, please refer to the ST official documentation:
35
36[STM32MP157A-EV1 Development board introduction](https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-eval-boards/stm32mp157a-ev1.html)
37
38## Peripheral Condition
39
40Each peripheral supporting condition for this BSP is as follows:
41
42| On-board Peripheral | **Support** | **Remark** |
43| :----------------------------- | :---------: | :--------------: |
44| USB TO UART | YES | |
45| PMIC | NO | |
46| CAMERA | NO | OV5640 |
47| MFX | NO | |
48| FMC | NO | MT25F8G08A8ACAH4 |
49| QSPI FLASH | NO | MX25L51245G |
50| OpenAMP | NO | |
51| POWER | NO | |
52| SD Card (SDMMC1) | NO | |
53| EMMC(SDMMC2) | NO | |
54| ETH | NO | |
55| AUDIO | NO | WM8994 |
56| **On-chip Peripheral Drivers** | **Support** | **Remark** |
57| GPIO | YES | |
58| UART | YES | UART4 (ST-Link) |
59| EXTI | YES | |
60| SPI | YES | |
61| TIM | YES | |
62| LPTIM | YES | |
63| I2C | YES | Software |
64| ADC | YES | |
65| DAC | YES | |
66| WWDG | YES | |
67| MDMA | NO | |
68| SPDIFRX | NO | |
69| DFSDM | NO | |
70| PWM | NO | |
71| FDCAN | NO | |
72| CRC | NO | |
73| RNG | NO | |
74| HASH | NO | |
75
76## Execution Instruction
77
78### Quickly Get Started
79
80This BSP provides MDK4,MDK5 and IAR projects for developers. Also support GCC development environment,Here's an example of the MDK5 development environment, to introduce how to run the system.
81
82#### Hardware Connection
83
84Use a USB cable to connect the development board to the PC and turn on the power switch.
85
86#### Compile And Download
87
88Double-click the project.uvprojx file, to open the MDK5 project, compile and download the program to the board.
89
90> By default, the project uses ST_LINK simulator to download the program, when the ST_LINK connects the board, clicking the download button can download the program to the board.
91
92#### Running Results
93
94After the program is successfully downloaded, the system runs automatically. Observe the running results of the LED on the development board, the orange LD4 will flash periodically.
95
96Connect the serial port of the board to PC, communicate with it via a serial terminal tool (115200-8-1-N). Restart the board and the startup information of RT-Thread will be observed:
97
98```bash
99 \ | /
100- RT - Thread Operating System
101 / | \ 3.1.1 build Nov 19 2018
102 2006 - 2018 Copyright by rt-thread team
103msh >
104```
105
106#### Drivers
107
108##### 1. DAC
109
110- Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP;
111- Enter the `menuconfig` command, enter the Hardware Drivers config and open DAC, save and exit;
112- Enter the `scons --target=iar` command to regenerate project.
113
114###### Finsh
115
116Before you use a device, you need to find out if the device exists, and you can use the name of the DAC device that is enrolled with the command `dac probe` . As shown as follows.
117
118```c
119msh />dac probe dac1
120probe dac1 success
121```
122
123Enable the channel of the device can use the command `dac enable` followed by the channel number.
124
125 ```c
126msh />dac probe dac1
127probe dac1 success
128 ```
129
130Set up the data of the channel for a DAC device can use the command `dac write` followed by the channel number.
131
132```c
133msh />dac write 1 1000
134dac1 channel 1 write value is 1000
135```
136
137Disable the channel of the device can use the command `dac disable` followed by the channel number.
138
139```c
140msh />dac disable 1
141dac1 channel 1 disable success
142```
143
144### Advanced Features
145
146This BSP only enables GPIO and serial port 4 by default. If need more advanced features, you need to configure the BSP with RT-Thread Env tools, as follows:
147
148- Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP;
149- Enter the `menuconfig` command to configure the project, then save and exit;
150- Enter the `pkgs --update` command to update the packages;
151- Enter the `scons --target=iar`command to regenerate the project.
152
153## Notes
154
155- Before downloading the program, set the board to the mode of "Engineering Mode". The BOOT switch sets to BOOT0=0,BOOT1 = 0 and BOOT2=1, as shown below:
156
157
158
159- If need to reburn the program, please reset the development board.
160
161## Contact Information
162
163accendant:
164
165- [liukang](https://github.com/thread-liu)
166
README_zh.md
1# STM32MP157A-EV1 开发板 BSP 说明
2
3## 简介
4
5本文档为 RT-Thread 开发团队为 STM32MP157A-EV1 开发板提供的 BSP (板级支持包) 说明。
6
7主要内容如下:
8
9- 开发板资源介绍
10- BSP 快速上手
11- 进阶使用方法
12
13通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
14
15## 开发板介绍
16
17STM32MP157A-EV1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的开发板。Cortex-A7 核工作频率为 650MHZ,Cortex-M4 工作频率为 209MHZ。
18
19开发板外观如下图所示:
20
21 
22
23该开发板常用 **板载资源** 如下:
24
25- MCU:STM32MP157AAAx
26- 常用外设
27 - LED:4个 ,LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14)
28 - 按键,4个,WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14)
29- 常用接口:USB 转串口、SD 卡接口、以太网接口、MIPI接口、USB HOST、Audio、HDMI、Arduino
30- 调试接口,标准 JTAG/SWD
31
32开发板更多详细信息请参考 ST 官方文档 [STM32MP157A-DK1 开发板介绍](https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32mp157a-dk1.html)。
33
34## 外设支持
35
36本 BSP 目前对外设的支持情况如下:
37
38| **板载外设** | **支持情况** | **备注** |
39| :------------- | :----------: | :-------------: |
40| USB 转串口 | 支持 | |
41| PMIC | 暂不支持 | ST 电源管理 IC |
42| 摄像头 | 暂不支持 | OV5640 |
43| MFX | 暂不支持 | ST 多功能拓展器 |
44| FMC | 暂不支持 | NAND FLASH |
45| QSPI FLASH | 暂不支持 | MX25L51245G |
46| OpenAMP | 暂不支持 | 双核通讯 |
47| 低功耗电源管理 | 暂不支持 | |
48| SD卡 | 暂不支持 | SDMMC1 |
49| eMMC | 暂不支持 | SDMMC2 |
50| 以太网 | 暂不支持 | 千兆以太网卡 |
51| 音频接口 | 暂不支持 | |
52| **片上外设** | **支持情况** | **备注** |
53| GPIO | 支持 | |
54| UART | 支持 | UART4 (ST-Link) |
55| EXTI | 支持 | |
56| SPI | 支持 | |
57| TIM | 支持 | |
58| LPTIM | 支持 | |
59| I2C | 支持 | 软件 |
60| ADC | 支持 | |
61| DAC | 支持 | |
62| WWDG | 支持 | |
63| MDMA | 暂不支持 | |
64| SPDIFRX | 暂不支持 | |
65| DFSDM | 暂不支持 | |
66| PWM | 暂不支持 | |
67| FDCAN | 暂不支持 | |
68| CRC | 暂不支持 | |
69| RNG | 暂不支持 | |
70| HASH | 暂不支持 | |
71
72
73## 使用说明
74
75使用说明分为如下两个章节:
76
77- 快速上手
78
79 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
80
81- 进阶使用
82
83 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
84
85
86### 快速上手
87
88本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
89
90#### 硬件连接
91
92使用数据线连接开发板到 PC,打开电源开关。
93
94#### 编译下载
95
96双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
97
98> 工程默认配置使用 ST-LINK 下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
99
100#### 运行结果
101
102下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,橙色 LD4 会周期性闪烁。
103
104连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),可以看到 RT-Thread 的输出信息:
105
106> 注:正点原子开发板 在使用终端工具如:PuTTy、XShell 时,会出现系统不能启动的问题,推荐使用串口调试助手如:sscom
107
108```bash
109 \ | /
110- RT - Thread Operating System
111 / | \ 3.1.1 build Nov 19 2018
112 2006 - 2018 Copyright by rt-thread team
113msh >
114```
115#### 驱动使用
116##### 1. DAC
117
1181. 在 bsp 下打开 env 工具;
1192. 输入`menuconfig`命令, 进入 Hardware Drivers config 打开 dac,保存并退出;
1203. 输入 `scons --target=iar` 命令重新生成工程;
121
122###### Finsh
123
124在使用设备前,需要先查找设备是否存在,可以使用命令 `dac probe` 后面跟注册的 DAC 设备的名称。如下所示:
125
126```c
127msh />dac probe dac1
128probe dac1 success
129```
130
131使能设备的某个通道可以使用命令 `dac enable` 后面跟通道号。
132
133```c
134msh />dac enable 1
135dac1 channel 1 enables success
136```
137
138设置 DAC 设备某个通道的数据可以使用命令 `dac write` 后面跟通道号。
139
140```c
141msh />dac write 1 1000
142dac1 channel 1 write value is 1000
143```
144
145关闭设备的某个通道可以使用命令 `dac disable` 后面跟通道号。
146
147```c
148msh />dac disable 1
149dac1 channel 1 disable success
150```
151
152### 进阶使用
153
154此 BSP 默认只开启了 GPIO 和 串口4 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
155
1561. 在 bsp 下打开 env 工具。
157
1582. 输入`menuconfig`命令配置工程,配置好之后保存退出。
159
1603. 输入`pkgs --update`命令更新软件包。
161
1624. 输入`scons --target=iar` 命令重新生成工程。
163
164本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
165
166## 注意事项
167
1681. 下载程序前,将开发板设置为 "Engineering Mode" 模式。 在 DK1 开发板上,将底下的BOOT开关设成 BOOT0=0,BOOT2=1状态,就进入"Engineering Mode",如下图所示:
169
170 <img src="figures\boot.png" alt="boot" style="zoom:50%;" />
171
1722. 再次烧写程序时,需要复位开发板。
173
174## 联系人信息
175
176维护人:
177
178- [liukang](https://github.com/thread-liu)
179
180