Update BSP README with EN Version.
This commit is contained in:
parent
bb49360a78
commit
c73d0a7466
|
@ -1,105 +1,80 @@
|
||||||
# i.MX RT1050 EVK 开发板 BSP 说明
|
# NXP i. MX RT1050 EVK BSP(Board Support Package) Execution Instruction.
|
||||||
|
|
||||||
## 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
本文档为 RT-Thread 开发团队为 NXP i.MX RT1050 EVK 开发板提供的 BSP (板级支持包) 说明。
|
## Introduction
|
||||||
|
|
||||||
主要内容如下:
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the NXP i. MX RT1050 EVK development board.
|
||||||
|
|
||||||
- 开发板资源介绍
|
The document is covered in three parts:
|
||||||
- BSP 快速上手
|
|
||||||
- 进阶使用方法
|
|
||||||
|
|
||||||
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
- NXP i. MX RT1050 EVK Board Resources Introduction
|
||||||
|
- Quickly Get Started
|
||||||
|
- Advanced Features
|
||||||
|
|
||||||
## 开发板介绍
|
By 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.
|
||||||
|
|
||||||
i.MX RT1050 EVK 是 NXP 官方推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 600MHz,该开发板具有丰富的板载资源,可以充分发挥 RT1052 的芯片性能。
|
## Board Resources Introduction
|
||||||
|
|
||||||
开发板外观如下图所示:
|
The i.MX RT1050 EVK is a development board based on ARM Cortex-M7. The maximum main frequency is 600 MHz, and it has a wealth of on-board resources that can take full advantage of the RT1052's chip performance.
|
||||||
|
|
||||||
![board](figures/board.jpg)
|
[![board](https://github.com/RT-Thread/rt-thread/raw/master/bsp/imxrt/imxrt1052-nxp-evk/figures/board.jpg)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/imxrt/imxrt1052-nxp-evk/figures/board.jpg)
|
||||||
|
|
||||||
该开发板常用**板载资源**如下:
|
The mainly-used resources of this board are shown as follows:
|
||||||
|
|
||||||
- MCU:MIMXRT1052DVL6A,主频 600MHz
|
- MCU: MIMXRT1052DVL6A. Main Frequency 600MHz,
|
||||||
- 存储:256MB SDRAM、512MB Hyper FLASH
|
- Memory: 256MB SDRAM、512MB Hyper FLASH
|
||||||
- 常用外设
|
- Common-used peripherals:
|
||||||
- 运动传感器:FXOS8700CQ
|
- Motion Sensors: FXOS8700CQ
|
||||||
- LED
|
- LED
|
||||||
- 常用接口:USB 转串口、SD 卡接口、以太网接口、LCD 接口、摄像头接口
|
- Common-used interfaces: USB、SD Card、Ethernet、LCD、Camera.
|
||||||
- 调试接口:标准 JTAG/SWD
|
- Debug interface: Standard JTAG/SWD. For more details about this board, please refer to [nxp.com](https://www.nxp.com/)
|
||||||
|
|
||||||
开发板更多的详细信息请参考 NXP [i.MX RT1050 EVK 开发板介绍](https://www.nxp.com)。
|
## Peripheral Condition
|
||||||
|
|
||||||
## 外设支持
|
Each peripheral supporting condition for this BSP is as follows:
|
||||||
|
|
||||||
本 BSP 目前对外设的支持情况如下:
|
| **On-chip Peripheral** | **Support** | **Remark** |
|
||||||
|
| ---------------------- | ----------- | ---------- |
|
||||||
|
| GPIO | Support | |
|
||||||
|
| UART | Support | UART1 |
|
||||||
|
|
||||||
| **片上外设** | **支持情况** | **备注** |
|
## Execution Instruction
|
||||||
| :---------------- | :----------: | :------------------------------------------------------ |
|
|
||||||
| GPIO | 支持 | |
|
|
||||||
| UART | 支持 | UART1 |
|
|
||||||
|
|
||||||
## 使用说明
|
### Quickly Get Started
|
||||||
|
|
||||||
使用说明分为如下两个章节:
|
This BSP provides MDK 5 and IAR projects for developers and it supports the GCC development environment. Here's an example of the MDK5 development environment, to introduce how to run the system.
|
||||||
|
|
||||||
- 快速上手
|
#### Hardware Connection
|
||||||
|
|
||||||
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
Use a USB cable to connect the development board to the PC and turn on the power switch.
|
||||||
|
|
||||||
- 进阶使用
|
#### Compile and Download
|
||||||
|
|
||||||
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
Double-click the project.uvprojx file, to open the MDK 5 project, compile and download the project to the board.
|
||||||
|
|
||||||
|
> By default, the project uses the CMSIS-DAP to download the program, when the CMSIS-DAP connects the board, clicking the download button can download the program to the board.
|
||||||
|
|
||||||
### 快速上手
|
### **Running Results**
|
||||||
|
|
||||||
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
Once the project is successfully downloaded, the system runs automatically. The green LED on the board will flash periodically.
|
||||||
|
|
||||||
#### 硬件连接
|
Connect the serial port of the board to the PC, communicate with it via a serial terminal tool(115200-8-1-N). Reset the board and the startup information of RT-Thread will be observed:
|
||||||
|
|
||||||
使用数据线连接开发板到 PC,打开电源开关。
|
```
|
||||||
|
|
||||||
#### 编译下载
|
|
||||||
|
|
||||||
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
|
||||||
|
|
||||||
> 工程默认配置使用 CMSIS-DAP 下载程序,在通过 CMSIS-DAP 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
|
||||||
|
|
||||||
#### 运行结果
|
|
||||||
|
|
||||||
下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,绿色 LED 会周期性闪烁。
|
|
||||||
|
|
||||||
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
\ | /
|
\ | /
|
||||||
- RT - Thread Operating System
|
- RT - Thread Operating System
|
||||||
/ | \ 4.0.1 build May 5 2019
|
/ | \ 4.0.1 build May 5 2019
|
||||||
2006 - 2019 Copyright by rt-thread team
|
2006 - 2019 Copyright by rt-thread team
|
||||||
```
|
```
|
||||||
### 进阶使用
|
|
||||||
|
|
||||||
此 BSP 默认只开启了 GPIO 和 串口 1 的功能,如果需使用更多高级外设功能,需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
## **Advanced Features**
|
||||||
|
|
||||||
1. 在 bsp 下打开 env 工具。
|
This BSP only enables GPIO and serial port 1 by default. If you need more advanced features, you need to configure the BSP with RT-Thread [Env tools](https://www.rt-thread.io/download.html?download=Env), as follows:
|
||||||
|
|
||||||
2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
|
1. Open the env tool under BSP;
|
||||||
|
2. Enter menuconfig command to configure the project, then save and exit;
|
||||||
|
3. Enter pkgs --update command to update the package;
|
||||||
|
4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project.
|
||||||
|
|
||||||
3. 输入 `pkgs --update` 命令更新软件包。
|
Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md).
|
||||||
|
|
||||||
4. 输入 `scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
|
||||||
|
|
||||||
本章节更多详细的介绍请参考 [i.MXRT 系列 BSP 外设驱动使用教程](../docs/IMXRT系列BSP外设驱动使用教程.md)。
|
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
暂无
|
|
||||||
|
|
||||||
## 联系人信息
|
|
||||||
|
|
||||||
维护人:
|
|
||||||
|
|
||||||
- [tyustli](https://github.com/tyustli)
|
|
|
@ -0,0 +1,105 @@
|
||||||
|
# i.MX RT1050 EVK 开发板 BSP 说明
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
本文档为 RT-Thread 开发团队为 NXP i.MX RT1050 EVK 开发板提供的 BSP (板级支持包) 说明。
|
||||||
|
|
||||||
|
主要内容如下:
|
||||||
|
|
||||||
|
- 开发板资源介绍
|
||||||
|
- BSP 快速上手
|
||||||
|
- 进阶使用方法
|
||||||
|
|
||||||
|
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
||||||
|
|
||||||
|
## 开发板介绍
|
||||||
|
|
||||||
|
i.MX RT1050 EVK 是 NXP 官方推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 600MHz,该开发板具有丰富的板载资源,可以充分发挥 RT1052 的芯片性能。
|
||||||
|
|
||||||
|
开发板外观如下图所示:
|
||||||
|
|
||||||
|
![board](figures/board.jpg)
|
||||||
|
|
||||||
|
该开发板常用**板载资源**如下:
|
||||||
|
|
||||||
|
- MCU:MIMXRT1052DVL6A,主频 600MHz
|
||||||
|
- 存储:256MB SDRAM、512MB Hyper FLASH
|
||||||
|
- 常用外设
|
||||||
|
- 运动传感器:FXOS8700CQ
|
||||||
|
- LED
|
||||||
|
- 常用接口:USB 转串口、SD 卡接口、以太网接口、LCD 接口、摄像头接口
|
||||||
|
- 调试接口:标准 JTAG/SWD
|
||||||
|
|
||||||
|
开发板更多的详细信息请参考 NXP [i.MX RT1050 EVK 开发板介绍](https://www.nxp.com)。
|
||||||
|
|
||||||
|
## 外设支持
|
||||||
|
|
||||||
|
本 BSP 目前对外设的支持情况如下:
|
||||||
|
|
||||||
|
| **片上外设** | **支持情况** | **备注** |
|
||||||
|
| :---------------- | :----------: | :------------------------------------------------------ |
|
||||||
|
| GPIO | 支持 | |
|
||||||
|
| UART | 支持 | UART1 |
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
使用说明分为如下两个章节:
|
||||||
|
|
||||||
|
- 快速上手
|
||||||
|
|
||||||
|
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
||||||
|
|
||||||
|
- 进阶使用
|
||||||
|
|
||||||
|
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
||||||
|
|
||||||
|
|
||||||
|
### 快速上手
|
||||||
|
|
||||||
|
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
||||||
|
|
||||||
|
#### 硬件连接
|
||||||
|
|
||||||
|
使用数据线连接开发板到 PC,打开电源开关。
|
||||||
|
|
||||||
|
#### 编译下载
|
||||||
|
|
||||||
|
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
||||||
|
|
||||||
|
> 工程默认配置使用 CMSIS-DAP 下载程序,在通过 CMSIS-DAP 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
||||||
|
|
||||||
|
#### 运行结果
|
||||||
|
|
||||||
|
下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,绿色 LED 会周期性闪烁。
|
||||||
|
|
||||||
|
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.1 build May 5 2019
|
||||||
|
2006 - 2019 Copyright by rt-thread team
|
||||||
|
```
|
||||||
|
### 进阶使用
|
||||||
|
|
||||||
|
此 BSP 默认只开启了 GPIO 和 串口 1 的功能,如果需使用更多高级外设功能,需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
||||||
|
|
||||||
|
1. 在 bsp 下打开 env 工具。
|
||||||
|
|
||||||
|
2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
|
||||||
|
|
||||||
|
3. 输入 `pkgs --update` 命令更新软件包。
|
||||||
|
|
||||||
|
4. 输入 `scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
||||||
|
|
||||||
|
本章节更多详细的介绍请参考 [i.MXRT 系列 BSP 外设驱动使用教程](../docs/IMXRT系列BSP外设驱动使用教程.md)。
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
暂无
|
||||||
|
|
||||||
|
## 联系人信息
|
||||||
|
|
||||||
|
维护人:
|
||||||
|
|
||||||
|
- [tyustli](https://github.com/tyustli)
|
|
@ -1,107 +1,96 @@
|
||||||
# Raspberry PI 3B(32位)板级支持包说明
|
# Raspberry PI 3B 32 BSP (Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 1. 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,莓派3采用4核Broadcom BCM2837 (ARMv8)芯片、双核VideoCore IV GPU和1GB内存。
|
## Introduction
|
||||||
|
|
||||||
这份RT-Thread BSP是针对 Raspberry Pi 3B (32位)的一份移植,树莓派价格便宜, 使用者甚众,是研究和运行RT-Thread的可选平台之一。
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the Raspberry PI 3B 32 development board.
|
||||||
|
|
||||||
随着RT-Thread的发展,它越来越多的向一些Cortex-A等AP类处理器提供支持,例如全志的ARM9、Cortex-A处理器,Xilinx的Zynq处理器等。
|
[![raspi3_f](https://github.com/RT-Thread/rt-thread/raw/master/bsp/raspberry-pi/raspi3-32/figures/raspi3_f.jpg)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/raspberry-pi/raspi3-32/figures/raspi3_f.jpg)
|
||||||
|
|
||||||
而RT-Thread也是一套高度社区化发展的操作系统,所以在一些方向推进上希望以社区化方式,大家一起来推动的方式向前发展,在这个过程中RT-Thread得到了不同开发者、不同领域的应用,一步步把RT-Thread推向成熟。而在Cortex-A平台上,目前最流行的硬件平台是树莓派,分树莓派[2B](https://www.raspberrypi.org/products/raspberry-pi-2-model-b/)、[3B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)以及最新的[4B](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)等。
|
[![raspi3_b](https://github.com/RT-Thread/rt-thread/raw/master/bsp/raspberry-pi/raspi3-32/figures/raspi3_b.jpg)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/raspberry-pi/raspi3-32/figures/raspi3_b.jpg)
|
||||||
|
|
||||||
RT-Thread对树莓派的支持主要从树莓派2B开始,它是一个四核Cortex-A7的平台,以32位单核的模式运行。后续将推动着RT-Thread向树莓派3,四核Cortex-A53 64位模式发展(中间当然也可能出现四核Cortex-A7模式执行的过渡性版本)。
|
## Hardware Features
|
||||||
|
|
||||||
![raspi3_f](figures/raspi3_f.jpg)
|
| Hardware | Description |
|
||||||
|
| -------------- | ----------------------------------------- |
|
||||||
|
| CPU | quad-core ARM Cortex A53(ARMv8) |
|
||||||
|
| Main Frequency | 1.2 GHz |
|
||||||
|
| GPU | VideoCore IV |
|
||||||
|
| GPU Frequency | 400MHz |
|
||||||
|
| Memory | 1GB (0x0000000 - 0x40000000) |
|
||||||
|
| | 0x3f000000 - 0x40000000 is for peripheral |
|
||||||
|
|
||||||
![raspi3_b](figures/raspi3_b.jpg)
|
**The description of functional pins is as shown as follow:**
|
||||||
|
|
||||||
当前Raspberry Pi 3B对应的硬件特性:
|
[![GPIO-Pinout-Diagram-2](https://github.com/RT-Thread/rt-thread/raw/master/bsp/raspberry-pi/raspi3-32/figures/GPIO-Pinout-Diagram-2.png)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/raspberry-pi/raspi3-32/figures/GPIO-Pinout-Diagram-2.png)
|
||||||
|
|
||||||
| 硬件 | 描述 |
|
## **Compilation Instruction**
|
||||||
|------- | ------------------------------- |
|
|
||||||
| CPU | quad-core ARM Cortex A53(ARMv8) |
|
|
||||||
| 主频 | 1.2 GHz |
|
|
||||||
| GPU | VideoCore IV |
|
|
||||||
| GPU频率 | 400MHz |
|
|
||||||
| Memory | 1GB (0x0000000 - 0x40000000) |
|
|
||||||
| | 其中0x3f000000 - 0x40000000为peripheral |
|
|
||||||
|
|
||||||
硬件引脚分布情况
|
The [env](https://www.rt-thread.io/download.html?download=Env) tool is recommended for compiling in Windows environments.
|
||||||
|
|
||||||
![GPIO-Pinout-Diagram-2](figures/GPIO-Pinout-Diagram-2.png)
|
The cross-compiler gcc-arm-none-eabi-4_8-2014q1_linux is recommended in Linux environment. If you don’t have compiling tool, please uncompress the downloaded package like this:
|
||||||
|
|
||||||
## 2. 编译说明
|
|
||||||
|
|
||||||
Windows环境下推荐使用[env工具][1]进行编译。
|
|
||||||
|
|
||||||
Linux下推荐使用gcc工具 gcc-arm-none-eabi-5_4-2016q3,如果还没有编译工具,下载后,解开文件。
|
|
||||||
|
|
||||||
```
|
```
|
||||||
tar vxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
|
tar vxf gcc-arm-none-eabi-4_8-2014q1_linux.tar.bz2
|
||||||
```
|
```
|
||||||
|
|
||||||
Linux环境下需要修改编译器目录设置,修改`bsp/raspi3-32/rtconfig.py`中的
|
In Linux environment, you need to modify the settings of the compiler directory, and modify the actual directory of the compiling tool in bsp/raspi3-32/rtconfig. py, remember to add the suffix /bin here.
|
||||||
|
|
||||||
```
|
```
|
||||||
EXEC_PATH = r'/opt/gcc-arm-none-eabi-5_4-2016q3/bin'
|
EXEC_PATH = r'/opt/gcc-arm-none-eabi-4_8-2014q1_gri/bin'
|
||||||
```
|
```
|
||||||
|
|
||||||
为编译工具的实际所在目录,这里注意要加上后缀 `/bin`
|
Enter the rt-thread/bsp/raspi3-32 directory and run the following command to compile this BSP:
|
||||||
|
|
||||||
进入到`rt-thread/bsp/raspi3-32`目录中,运行以下命令:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
scons
|
scons
|
||||||
```
|
```
|
||||||
|
|
||||||
来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、kernel7.img文件。
|
If everything goes well, a new 'rtthread.elf' and 'kernel7.img' file will be generated. ‘kernel7.img' is what we need to put into the root directory of the Raspberry PI 3B SD card.
|
||||||
kernel7.img即是要cp到raspberry SD卡中根目录的文件
|
|
||||||
|
|
||||||
### 2.1 eclipse 编码环境 ###
|
### **Eclipse compiling environment**
|
||||||
第一步: 安装 eclipse cdt
|
|
||||||
第二步: 打开 eclipse cdt 设置workspace ,推荐设置于xxx\xxx\rt-thread\bsp
|
|
||||||
第三步: Import 工程 General-> Existing Peojects into Workspace 然后 Browse.. 你的raspi3目录,点击Finish
|
|
||||||
|
|
||||||
btw:编译依旧使用scons,目前不支持qemu debug,后期如果有大佬实现ARM JTAG调试
|
- Step 1: Install the eclipse plugin 'cdt'.
|
||||||
|
- Step 2: Open eclipse cdt and set workspace, and set the workspace to 'rt-thread/bsp/raspberry-pi/raspi3-32'.
|
||||||
|
- Step 3: Import the project by selecting 'General->Existing Projects into Workspace' and then 'Browse ...'. Noted that the compiling only supports scons now.
|
||||||
|
|
||||||
## 3. 执行
|
|
||||||
|
|
||||||
### 3.1 下载[raspbian镜像][3],生成可以运行的raspbian SD卡
|
## **Running**
|
||||||
|
|
||||||
Windows下,去[etcher.io][4]下载etcher,这是个可以烧写img的工具
|
### **Prepare the [Raspbian](https://downloads.raspberrypi.org/raspbian_lite_latest) SD card**
|
||||||
|
|
||||||
解开下载的镜像文件, linux下使用如下的命令
|
Download the raspbian image, for example, "2018-06-27-raspbian-stretch-lite.zip". Unpack it.
|
||||||
|
|
||||||
|
**Burn the SD card on Windows**
|
||||||
|
|
||||||
|
On Windows, download the burning tool " [etcher.io](https://www.balena.io/etcher/) ", run it and choose the unpacked image "2018-06-27-raspbian-stretch-lite.img".
|
||||||
|
|
||||||
|
When the burning process is completed, put "kernel8.img" into the boot partition to replace the file wit the same name.
|
||||||
|
|
||||||
|
**Burn the SD card on Linux**
|
||||||
|
|
||||||
|
Prepare an empty SD card, plug it in the computer and then execute the command below:
|
||||||
|
|
||||||
|
"sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync"
|
||||||
|
|
||||||
|
Note that the device file "/dev/xxx" should be replaced with the real SD card.
|
||||||
|
|
||||||
|
### **Prepare the serial port wire**
|
||||||
|
|
||||||
|
The BSP uses GPIO 14 & GPIO 15 of raspi 3 as the communication ports, as shown in the following image:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[![raspberrypi-console](https://github.com/RT-Thread/rt-thread/raw/master/bsp/raspberry-pi/raspi3-32/figures/raspberrypi-console.png)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/raspberry-pi/raspi3-32/figures/raspberrypi-console.png)
|
||||||
|
|
||||||
|
The serial port parameters: 115200 8N1, hardware and software flow control is off.
|
||||||
|
|
||||||
|
## **Running Result**
|
||||||
|
|
||||||
|
Insert the burned SD card into Raspberry Pi, power up, the output information on the serial port should be like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
unzip 2018-06-27-raspbian-stretch-lite.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
准备一张空SD卡,linux环境下,插入电脑并执行
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync
|
|
||||||
```
|
|
||||||
|
|
||||||
**注意: /dev/xxx 要换成真实环境中的SD卡所在设置,千万不要弄错。**
|
|
||||||
|
|
||||||
Windows环境下,执行etcher选择解压后的2018-06-27-raspbian-stretch-lite.img文件和SD卡就可以开始烧写了。
|
|
||||||
|
|
||||||
最后把kernel7.img放入SD boot分区,覆盖原来的文件。
|
|
||||||
|
|
||||||
### 3.2 准备好串口线
|
|
||||||
|
|
||||||
目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
![raspberrypi-console](figures/raspberrypi-console.png)
|
|
||||||
|
|
||||||
串口参数: 115200 8N1 ,硬件和软件流控为关。
|
|
||||||
|
|
||||||
按上面的方法做好SD卡后,插入树莓派3B,通电可以在串口上看到如下所示的输出信息:
|
|
||||||
|
|
||||||
```text
|
|
||||||
heap: 0x0005d784 - 0x0045d784
|
heap: 0x0005d784 - 0x0045d784
|
||||||
|
|
||||||
\ | /
|
\ | /
|
||||||
|
@ -131,23 +120,14 @@ Hello RT-Thread!
|
||||||
msh />
|
msh />
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. 支持情况
|
## **Peripheral Condition**
|
||||||
|
|
||||||
| 驱动 | 支持情况 | 备注 |
|
| Drive | Support | Remark |
|
||||||
| ------ | ---- | :------: |
|
| -------------- | ------- | ------ |
|
||||||
| UART | 支持 | UART0|
|
| UART | Support | UART0 |
|
||||||
| GPIO | 支持 | |
|
| GPIO | Support | |
|
||||||
| IIC | 支持 | |
|
| IIC | Support | |
|
||||||
| SPI | 支持 | |
|
| SPI | Support | |
|
||||||
| CPU Timer | 支持 | |
|
| CPU Timer | Support | |
|
||||||
| SD卡驱动 | 支持 | |
|
| SD card driver | Support | |
|
||||||
|
|
||||||
## 5. 联系人信息
|
|
||||||
|
|
||||||
维护人:[bernard][5]
|
|
||||||
|
|
||||||
[1]: https://www.rt-thread.org/page/download.html
|
|
||||||
[2]: https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-linux.tar.bz2
|
|
||||||
[3]: https://downloads.raspberrypi.org/raspbian_lite_latest
|
|
||||||
[4]: https://etcher.io
|
|
||||||
[5]: https://github.com/BernardXiong
|
|
||||||
|
|
|
@ -0,0 +1,153 @@
|
||||||
|
# Raspberry PI 3B(32位)板级支持包说明
|
||||||
|
|
||||||
|
## 1. 简介
|
||||||
|
|
||||||
|
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,莓派3采用4核Broadcom BCM2837 (ARMv8)芯片、双核VideoCore IV GPU和1GB内存。
|
||||||
|
|
||||||
|
这份RT-Thread BSP是针对 Raspberry Pi 3B (32位)的一份移植,树莓派价格便宜, 使用者甚众,是研究和运行RT-Thread的可选平台之一。
|
||||||
|
|
||||||
|
随着RT-Thread的发展,它越来越多的向一些Cortex-A等AP类处理器提供支持,例如全志的ARM9、Cortex-A处理器,Xilinx的Zynq处理器等。
|
||||||
|
|
||||||
|
而RT-Thread也是一套高度社区化发展的操作系统,所以在一些方向推进上希望以社区化方式,大家一起来推动的方式向前发展,在这个过程中RT-Thread得到了不同开发者、不同领域的应用,一步步把RT-Thread推向成熟。而在Cortex-A平台上,目前最流行的硬件平台是树莓派,分树莓派[2B](https://www.raspberrypi.org/products/raspberry-pi-2-model-b/)、[3B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)以及最新的[4B](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)等。
|
||||||
|
|
||||||
|
RT-Thread对树莓派的支持主要从树莓派2B开始,它是一个四核Cortex-A7的平台,以32位单核的模式运行。后续将推动着RT-Thread向树莓派3,四核Cortex-A53 64位模式发展(中间当然也可能出现四核Cortex-A7模式执行的过渡性版本)。
|
||||||
|
|
||||||
|
![raspi3_f](figures/raspi3_f.jpg)
|
||||||
|
|
||||||
|
![raspi3_b](figures/raspi3_b.jpg)
|
||||||
|
|
||||||
|
当前Raspberry Pi 3B对应的硬件特性:
|
||||||
|
|
||||||
|
| 硬件 | 描述 |
|
||||||
|
|------- | ------------------------------- |
|
||||||
|
| CPU | quad-core ARM Cortex A53(ARMv8) |
|
||||||
|
| 主频 | 1.2 GHz |
|
||||||
|
| GPU | VideoCore IV |
|
||||||
|
| GPU频率 | 400MHz |
|
||||||
|
| Memory | 1GB (0x0000000 - 0x40000000) |
|
||||||
|
| | 其中0x3f000000 - 0x40000000为peripheral |
|
||||||
|
|
||||||
|
硬件引脚分布情况
|
||||||
|
|
||||||
|
![GPIO-Pinout-Diagram-2](figures/GPIO-Pinout-Diagram-2.png)
|
||||||
|
|
||||||
|
## 2. 编译说明
|
||||||
|
|
||||||
|
Windows环境下推荐使用[env工具][1]进行编译。
|
||||||
|
|
||||||
|
Linux下推荐使用gcc工具 gcc-arm-none-eabi-5_4-2016q3,如果还没有编译工具,下载后,解开文件。
|
||||||
|
|
||||||
|
```
|
||||||
|
tar vxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
|
||||||
|
```
|
||||||
|
|
||||||
|
Linux环境下需要修改编译器目录设置,修改`bsp/raspi3-32/rtconfig.py`中的
|
||||||
|
|
||||||
|
```
|
||||||
|
EXEC_PATH = r'/opt/gcc-arm-none-eabi-5_4-2016q3/bin'
|
||||||
|
```
|
||||||
|
|
||||||
|
为编译工具的实际所在目录,这里注意要加上后缀 `/bin`
|
||||||
|
|
||||||
|
进入到`rt-thread/bsp/raspi3-32`目录中,运行以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
scons
|
||||||
|
```
|
||||||
|
|
||||||
|
来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、kernel7.img文件。
|
||||||
|
kernel7.img即是要cp到raspberry SD卡中根目录的文件
|
||||||
|
|
||||||
|
### 2.1 eclipse 编码环境 ###
|
||||||
|
第一步: 安装 eclipse cdt
|
||||||
|
第二步: 打开 eclipse cdt 设置workspace ,推荐设置于xxx\xxx\rt-thread\bsp
|
||||||
|
第三步: Import 工程 General-> Existing Peojects into Workspace 然后 Browse.. 你的raspi3目录,点击Finish
|
||||||
|
|
||||||
|
btw:编译依旧使用scons,目前不支持qemu debug,后期如果有大佬实现ARM JTAG调试
|
||||||
|
|
||||||
|
## 3. 执行
|
||||||
|
|
||||||
|
### 3.1 下载[raspbian镜像][3],生成可以运行的raspbian SD卡
|
||||||
|
|
||||||
|
Windows下,去[etcher.io][4]下载etcher,这是个可以烧写img的工具
|
||||||
|
|
||||||
|
解开下载的镜像文件, linux下使用如下的命令
|
||||||
|
|
||||||
|
```
|
||||||
|
unzip 2018-06-27-raspbian-stretch-lite.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
准备一张空SD卡,linux环境下,插入电脑并执行
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync
|
||||||
|
```
|
||||||
|
|
||||||
|
**注意: /dev/xxx 要换成真实环境中的SD卡所在设置,千万不要弄错。**
|
||||||
|
|
||||||
|
Windows环境下,执行etcher选择解压后的2018-06-27-raspbian-stretch-lite.img文件和SD卡就可以开始烧写了。
|
||||||
|
|
||||||
|
最后把kernel7.img放入SD boot分区,覆盖原来的文件。
|
||||||
|
|
||||||
|
### 3.2 准备好串口线
|
||||||
|
|
||||||
|
目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
![raspberrypi-console](figures/raspberrypi-console.png)
|
||||||
|
|
||||||
|
串口参数: 115200 8N1 ,硬件和软件流控为关。
|
||||||
|
|
||||||
|
按上面的方法做好SD卡后,插入树莓派3B,通电可以在串口上看到如下所示的输出信息:
|
||||||
|
|
||||||
|
```text
|
||||||
|
heap: 0x0005d784 - 0x0045d784
|
||||||
|
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.2 build Jan 9 2020
|
||||||
|
2006 - 2019 Copyright by rt-thread team
|
||||||
|
[I/I2C] I2C bus [i2c0] registered
|
||||||
|
[I/I2C] I2C bus [i2c1] registered
|
||||||
|
[I/SDIO] SD card capacity 15558144 KB.
|
||||||
|
found part[0], begin: 1048576, size: 63.0MB
|
||||||
|
found part[1], begin: 67108864, size: 14.793GB
|
||||||
|
file system initialization done!
|
||||||
|
boot cpu:3
|
||||||
|
msh />cpu = 0x00000003
|
||||||
|
cpu 3 startup.
|
||||||
|
start OK: CPU 3
|
||||||
|
boot cpu:2
|
||||||
|
cpu = 0x00000002
|
||||||
|
cpu 2 startup.
|
||||||
|
start OK: CPU 2
|
||||||
|
boot cpu:1
|
||||||
|
cpu = 0x00000001
|
||||||
|
cpu 1 startup.
|
||||||
|
start OK: CPU 1
|
||||||
|
Hello RT-Thread!
|
||||||
|
|
||||||
|
msh />
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 支持情况
|
||||||
|
|
||||||
|
| 驱动 | 支持情况 | 备注 |
|
||||||
|
| ------ | ---- | :------: |
|
||||||
|
| UART | 支持 | UART0|
|
||||||
|
| GPIO | 支持 | |
|
||||||
|
| IIC | 支持 | |
|
||||||
|
| SPI | 支持 | |
|
||||||
|
| CPU Timer | 支持 | |
|
||||||
|
| SD卡驱动 | 支持 | |
|
||||||
|
|
||||||
|
## 5. 联系人信息
|
||||||
|
|
||||||
|
维护人:[bernard][5]
|
||||||
|
|
||||||
|
[1]: https://www.rt-thread.org/page/download.html
|
||||||
|
[2]: https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-linux.tar.bz2
|
||||||
|
[3]: https://downloads.raspberrypi.org/raspbian_lite_latest
|
||||||
|
[4]: https://etcher.io
|
||||||
|
[5]: https://github.com/BernardXiong
|
|
@ -1,88 +1,68 @@
|
||||||
# Raspberry PI 3-64板级支持包说明
|
# Raspberry PI 3–64 BSP (Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 1. 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,莓派3有三个发行版本:
|
## Introduction
|
||||||
|
|
||||||
* B : 4核 Broadcom BCM2837 (ARMv8-A) 1.2GHz,双核VideoCore IV GPU,1GB内存,100 Base-T Ethernet
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the Raspberry PI 3–64 development board.
|
||||||
* B+: 4核 Broadcom BCM2837B0 Cortex-A53 (ARMv8) 1.4GHz, 1GB LPDDR2 SDRAM, GigaE over USB 2.0
|
|
||||||
* A+: 4核 Broadcom BCM2837B0 Cortex-A53 (ARMv8) 1.4GHz, 512MB LPDDR2 SDRAM
|
|
||||||
|
|
||||||
这份RT-Thread BSP是针对 Raspberry Pi 3 64位模式的一份移植,树莓派价格便宜, 使用者甚众,是研究和运行RT-Thread的可选平台之一。
|
## **Compilation Instruction**
|
||||||
|
|
||||||
|
### Build Environment on Windows
|
||||||
|
|
||||||
## 2. 编译说明
|
It's recommended to use the [env tool ](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md)to compile the Raspberry PI 3–64 BSP on Windows. Firstly, download the compiler GCC on Windows, from the official ARM website. You can refer to [Here](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads).
|
||||||
|
|
||||||
### 2.1 Window上的环境搭建
|
Here we choose the version "[gcc-arm-8.3–2019.03-i686-mingw32-aarch64-elf].
|
||||||
|
|
||||||
Windows环境下推荐使用[env工具][1]进行编译。
|
Unzip the compressed package to the local directory, like "E:/env/tools/gnu_gcc/arm_gcc".
|
||||||
|
|
||||||
首先下载windows上的aarch64的gcc交叉编译工具,版本为gcc-arm-8.3选择aarch64-elf就可以。
|
Then edit the file "<rt-thread_directory>/bsp/raspberry-pi/raspi3–64/rtconfig. py", modify the variable "EXEC_PATH" to the compiler path:
|
||||||
|
|
||||||
将推荐将gcc解压到`\env\tools\gnu_gcc\arm_gcc`目录下。
|
|
||||||
|
|
||||||
接着修改`bsp\raspberry-pi\raspi3-64\rtconfig.py`
|
|
||||||
|
|
||||||
修改路径:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
EXEC_PATH = r'E:/env_released_1.1.2/env/tools/gnu_gcc/arm_gcc/gcc-arm-8.3-2019.03-i686-mingw32-aarch64-elf/bin'
|
EXEC_PATH = r'E:/env/tools/gnu_gcc/arm_gcc/gcc-arm-8.3–2019.03-i686-mingw32-aarch64-elf/bin'
|
||||||
```
|
```
|
||||||
|
|
||||||
然后在`bsp\raspberry-pi\raspi3-64\`下输入scons编译即可。
|
Finally, enter the BSP directory "<rt-thread_directory>/bsp/raspberry-pi/raspi3–64/" and execute the "scons" command.
|
||||||
|
|
||||||
**window环境搭建注意**
|
### Build Environment on Linux
|
||||||
|
|
||||||
下载完成`gcc-arm-8.3-2019.03-i686-mingw32-aarch64-elf.tar.xz`交叉编译工具链后,最好采用7-zip解压工具进行两次解压。
|
The steps to build Raspberry PI 3–64 BSP on Linux is pretty similar to that on Windows, the only difference is that we need to download the GCC on Linux instead, such as the version "gcc-arm-8.3–2019.03-x86_64-aarch64-elf".
|
||||||
确保解压目录下的`/bin/aarch64-elf-ld.exe`文件的size不为0。
|
|
||||||
否则编译会出现如下错误:
|
Then we unpack the compiler package, modify the file "rtconfig.h" and run "scons".
|
||||||
|
|
||||||
|
## Execution
|
||||||
|
|
||||||
|
### Prepare the raspbian SD card
|
||||||
|
|
||||||
|
- Download the raspbian image, for example, "2018–06–27-raspbian-stretch-lite.zip". Unpack it.
|
||||||
|
|
||||||
|
- Burn the SD card on Windows
|
||||||
|
|
||||||
|
On Windows, download the burning tool "[etcher.io](http://etcher.io/)", run it and choose the unpacked image "2018–06–27-raspbian-stretch-lite.img".
|
||||||
|
|
||||||
|
When the burning process is completed, put "kernel8.img" into the boot partition to replace the file wit the same name.
|
||||||
|
|
||||||
|
- Burn the SD card on Linux
|
||||||
|
|
||||||
|
Prepare an empty SD card, plug it in the computer and then execute the command below: "sudo dd if=2018–06–27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync"
|
||||||
|
|
||||||
|
Note that the device file "/dev/xxx" should be replaced with the real SD card.
|
||||||
|
|
||||||
|
### Prepare the serial port wire
|
||||||
|
|
||||||
|
The BSP uses GPIO 14 & GPIO 15 of raspi 3 as the communication ports, as shown in the following image (The board is raspberry-pi2, which uses the same pins as raspi-3):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[![raspi2](https://github.com/RT-Thread/rt-thread/raw/master/bsp/raspberry-pi/raspi3-64/figures/raspi_uart.png)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/raspberry-pi/raspi3-64/figures/raspi_uart.png)
|
||||||
|
|
||||||
|
The serial port parameters: 115200 8N1, hardware and software flow control is off.
|
||||||
|
|
||||||
|
## Running Result
|
||||||
|
|
||||||
|
Insert the burned SD card into Raspberry Pi, power up, the output information on serial port should be like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
collect2.exe:fatal error:CreateProcess:No such file or directory
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.2 Linux上的环境搭建
|
|
||||||
|
|
||||||
Linux下推荐使用[gcc工具][2]。Linux版本下gcc版本可采用`gcc-arm-8.3-2019.03-x86_64-aarch64-elf`。
|
|
||||||
|
|
||||||
直接进入`bsp\raspberry-pi\raspi3-64`,输入scons编译即可。
|
|
||||||
|
|
||||||
|
|
||||||
## 3. 执行
|
|
||||||
|
|
||||||
### 3.1 下载[raspbian镜像][3],生成可以运行的raspbian SD卡
|
|
||||||
|
|
||||||
Windows下,去[etcher.io][4]下载etcher,这是个可以烧写img的工具
|
|
||||||
|
|
||||||
解开下载的镜像文件, linux下使用如下的命令
|
|
||||||
|
|
||||||
```
|
|
||||||
unzip 2018-06-27-raspbian-stretch-lite.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
准备一张空SD卡,linux环境下,插入电脑并执行
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync
|
|
||||||
```
|
|
||||||
|
|
||||||
**注意: /dev/xxx 要换成真实环境中的SD卡所在设置,千万不要弄错。**
|
|
||||||
|
|
||||||
Windows环境下,执行etcher选择解压后的2018-06-27-raspbian-stretch-lite.img文件和SD卡就可以开始烧写了。
|
|
||||||
|
|
||||||
最后把kernel8.img放入SD boot分区,删除其它 kernel*.img。
|
|
||||||
|
|
||||||
### 3.2 准备好串口线
|
|
||||||
|
|
||||||
目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示(图片中的板子是pi2,GPIO引脚是一样的):
|
|
||||||
|
|
||||||
![raspi2](figures/raspi_uart.png)
|
|
||||||
|
|
||||||
串口参数: 115200 8N1 ,硬件和软件流控为关。
|
|
||||||
|
|
||||||
按上面的方法做好SD卡后,插入树莓派,通电可以在串口上看到如下所示的输出信息:
|
|
||||||
|
|
||||||
```text
|
|
||||||
heap: 0x00020b20 - 0x00400000
|
heap: 0x00020b20 - 0x00400000
|
||||||
|
|
||||||
\ | /
|
\ | /
|
||||||
|
@ -93,18 +73,9 @@ Hello RT-Thread!
|
||||||
msh >
|
msh >
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. 支持情况
|
## Peripheral Condition
|
||||||
|
|
||||||
| 驱动 | 支持情况 | 备注 |
|
| Drive | Support | Remark |
|
||||||
| ------ | ---- | :------: |
|
| ----- | ------- | ------ |
|
||||||
| UART | 支持 | UART0|
|
| UART | Support | UART0 |
|
||||||
|
|
||||||
## 5. 联系人信息
|
|
||||||
|
|
||||||
维护人:[bernard][5]
|
|
||||||
|
|
||||||
[1]: https://www.rt-thread.org/page/download.html
|
|
||||||
[2]: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
|
|
||||||
[3]: https://downloads.raspberrypi.org/raspbian_lite_latest
|
|
||||||
[4]: https://etcher.io
|
|
||||||
[5]: https://github.com/BernardXiong
|
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
# Raspberry PI 3-64板级支持包说明
|
||||||
|
|
||||||
|
## 1. 简介
|
||||||
|
|
||||||
|
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,莓派3有三个发行版本:
|
||||||
|
|
||||||
|
* B : 4核 Broadcom BCM2837 (ARMv8-A) 1.2GHz,双核VideoCore IV GPU,1GB内存,100 Base-T Ethernet
|
||||||
|
* B+: 4核 Broadcom BCM2837B0 Cortex-A53 (ARMv8) 1.4GHz, 1GB LPDDR2 SDRAM, GigaE over USB 2.0
|
||||||
|
* A+: 4核 Broadcom BCM2837B0 Cortex-A53 (ARMv8) 1.4GHz, 512MB LPDDR2 SDRAM
|
||||||
|
|
||||||
|
这份RT-Thread BSP是针对 Raspberry Pi 3 64位模式的一份移植,树莓派价格便宜, 使用者甚众,是研究和运行RT-Thread的可选平台之一。
|
||||||
|
|
||||||
|
|
||||||
|
## 2. 编译说明
|
||||||
|
|
||||||
|
### 2.1 Window上的环境搭建
|
||||||
|
|
||||||
|
Windows环境下推荐使用[env工具][1]进行编译。
|
||||||
|
|
||||||
|
首先下载windows上的aarch64的gcc交叉编译工具,版本为gcc-arm-8.3选择aarch64-elf就可以。
|
||||||
|
|
||||||
|
将推荐将gcc解压到`\env\tools\gnu_gcc\arm_gcc`目录下。
|
||||||
|
|
||||||
|
接着修改`bsp\raspberry-pi\raspi3-64\rtconfig.py`
|
||||||
|
|
||||||
|
修改路径:
|
||||||
|
|
||||||
|
```
|
||||||
|
EXEC_PATH = r'E:/env_released_1.1.2/env/tools/gnu_gcc/arm_gcc/gcc-arm-8.3-2019.03-i686-mingw32-aarch64-elf/bin'
|
||||||
|
```
|
||||||
|
|
||||||
|
然后在`bsp\raspberry-pi\raspi3-64\`下输入scons编译即可。
|
||||||
|
|
||||||
|
**window环境搭建注意**
|
||||||
|
|
||||||
|
下载完成`gcc-arm-8.3-2019.03-i686-mingw32-aarch64-elf.tar.xz`交叉编译工具链后,最好采用7-zip解压工具进行两次解压。
|
||||||
|
确保解压目录下的`/bin/aarch64-elf-ld.exe`文件的size不为0。
|
||||||
|
否则编译会出现如下错误:
|
||||||
|
|
||||||
|
```
|
||||||
|
collect2.exe:fatal error:CreateProcess:No such file or directory
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.2 Linux上的环境搭建
|
||||||
|
|
||||||
|
Linux下推荐使用[gcc工具][2]。Linux版本下gcc版本可采用`gcc-arm-8.3-2019.03-x86_64-aarch64-elf`。
|
||||||
|
|
||||||
|
直接进入`bsp\raspberry-pi\raspi3-64`,输入scons编译即可。
|
||||||
|
|
||||||
|
|
||||||
|
## 3. 执行
|
||||||
|
|
||||||
|
### 3.1 下载[raspbian镜像][3],生成可以运行的raspbian SD卡
|
||||||
|
|
||||||
|
Windows下,去[etcher.io][4]下载etcher,这是个可以烧写img的工具
|
||||||
|
|
||||||
|
解开下载的镜像文件, linux下使用如下的命令
|
||||||
|
|
||||||
|
```
|
||||||
|
unzip 2018-06-27-raspbian-stretch-lite.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
准备一张空SD卡,linux环境下,插入电脑并执行
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/dev/xxx bs=32M conv=fsync
|
||||||
|
```
|
||||||
|
|
||||||
|
**注意: /dev/xxx 要换成真实环境中的SD卡所在设置,千万不要弄错。**
|
||||||
|
|
||||||
|
Windows环境下,执行etcher选择解压后的2018-06-27-raspbian-stretch-lite.img文件和SD卡就可以开始烧写了。
|
||||||
|
|
||||||
|
最后把kernel8.img放入SD boot分区,删除其它 kernel*.img。
|
||||||
|
|
||||||
|
### 3.2 准备好串口线
|
||||||
|
|
||||||
|
目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示(图片中的板子是pi2,GPIO引脚是一样的):
|
||||||
|
|
||||||
|
![raspi2](figures/raspi_uart.png)
|
||||||
|
|
||||||
|
串口参数: 115200 8N1 ,硬件和软件流控为关。
|
||||||
|
|
||||||
|
按上面的方法做好SD卡后,插入树莓派,通电可以在串口上看到如下所示的输出信息:
|
||||||
|
|
||||||
|
```text
|
||||||
|
heap: 0x00020b20 - 0x00400000
|
||||||
|
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 3.1.0 build Aug 23 2019
|
||||||
|
2006 - 2019 Copyright by rt-thread team
|
||||||
|
Hello RT-Thread!
|
||||||
|
msh >
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 支持情况
|
||||||
|
|
||||||
|
| 驱动 | 支持情况 | 备注 |
|
||||||
|
| ------ | ---- | :------: |
|
||||||
|
| UART | 支持 | UART0|
|
||||||
|
|
||||||
|
## 5. 联系人信息
|
||||||
|
|
||||||
|
维护人:[bernard][5]
|
||||||
|
|
||||||
|
[1]: https://www.rt-thread.org/page/download.html
|
||||||
|
[2]: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
|
||||||
|
[3]: https://downloads.raspberrypi.org/raspbian_lite_latest
|
||||||
|
[4]: https://etcher.io
|
||||||
|
[5]: https://github.com/BernardXiong
|
|
@ -1,45 +1,49 @@
|
||||||
# RV32M1_VEGA 板级支持包
|
# RISC-V RV32M1 VEGA Board BSP(Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 1. 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
RV32M1_VEGA开发板是一款多核异构的RISC-V 32开发板,包含了两个RISC-V 32位核心,同时也包括了BLE外设。
|
## Introduction
|
||||||
|
|
||||||
| 硬件 | 描述 |
|
RV32M1_VEGA board is a heterogeneous multi-core RISC-V 32 development board that contains two RISC-V 32-bit cores, as well as BLE peripherals.
|
||||||
| -- | -- |
|
|
||||||
|芯片型号| RV32M1 |
|
|
||||||
|CPU| RV32IMC, with extensons for post-incrementing load and stores, |
|
|
||||||
| | multiply-accumulate extensions, ALU extensions, hardware loops. |
|
|
||||||
| | RV32IEMC |
|
|
||||||
|主频| 48MHz或72MHz |
|
|
||||||
| | 48MHz或72MHz |
|
|
||||||
|片内SRAM| 256kB + 128kB |
|
|
||||||
|片内Flash| 1MB + 256kB |
|
|
||||||
|
|
||||||
## 2. 编译说明
|
| Hardware | Description |
|
||||||
|
| -------------- | ------------------------------------------------------------ |
|
||||||
|
| Chip Model | RV32M1 |
|
||||||
|
| CPU | RV32IMC, with extensons for post-incrementing load and stores, |
|
||||||
|
| | multiply-accumulate extensions, ALU extensions, hardware loops. |
|
||||||
|
| | RV32IEMC |
|
||||||
|
| Main Frequency | 48MHz or 72MHz |
|
||||||
|
| | 48MHz or 72MHz |
|
||||||
|
| On-chip SRAM | 256kB + 128kB |
|
||||||
|
| On-chip Flash | 1MB + 256kB |
|
||||||
|
|
||||||
当前测试的工具链是以标准的GNU GCC 7.2.0 & newlib 2.5.0方式,并以标准的RV32IMC构架进行编译,所以RV32M1的扩展指令未支持,RT-Thread ENV版本是1.0。
|
## **Compilation**
|
||||||
|
|
||||||
Windows上编译推荐使用[env工具][1],可以在console下进入到`bsp/rv32m1_vega/ri5cy`目录中,运行以下命令:
|
The toolchain currently used for test is built from the standard GNU GCC 7.2.0 and newlib 2.5.0 and for the standard RV32IMC architecture, so the extension instructions of RV32M1 is not supported, note that the version of RT-Thread ENV used in this BSP is 1.0.
|
||||||
|
|
||||||
scons
|
It's recommended to use the [env tool](https://www.rt-thread.io/download.html?download=Env) to compile programs on Windows. Switch to the directory `bsp/rv32m1_vega/ri5cy` in the console and run the following command to compile this BSP:
|
||||||
|
|
||||||
来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、rtthread.bin文件。其中rtthread.bin需要烧写到设备中进行运行。
|
```
|
||||||
|
scons
|
||||||
|
```
|
||||||
|
|
||||||
## 3. 烧写及执行
|
If successfully compiled, a new 'rtthread.elf' and 'rtthread.bin' file will be generated. ‘rtthread.bin' needs to be burned to the device and run.
|
||||||
|
|
||||||
请使用JLink接入到RV32M1_VEGA开发板的RISC-V核的JTAG接口上,同时把JLink在PC上的驱动更改为WinUSB模式。JTAG接口位于RV32M1芯片和天线座子旁边,小的20pin JTAG接口。
|
## Burn and Execution
|
||||||
|
|
||||||
使用USB线连接到标记了SDA的USB口上,在PC上会出现一个串口设备,可以使用115200-N-8-1的配置方式打开这个串口。设备使用的串口引脚是:`[PTC7/PTC8]`
|
Please use JLink to connect to the JTAG interface of the RISC-V core on the RV32M1_VEGA board, and change the JLink driver to WinUSB mode. The JTAG interface is located next to the RV32M1 chip and the antenna seat, with a small 20pin JTAG interface.
|
||||||
|
|
||||||
当正确编译产生出rtthread.bin映像文件后,可以使用gdb连接到openocd,并以`load`命令烧写到flash中。
|
Use a USB cable to connect to a USB port marked with SDA, then a serial device is recognized by PC, which can be opened with the configuration of 115200-N-8-1. The serial pins used by the device are: `[PTC7/PTC8]`
|
||||||
|
|
||||||
关于更多使用JTAG,使用gdb调试RV32M1_VEGA开发板的情况,建议参考开发板的[开发环境搭建](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_Vega_Develop_Environment_Setup.pdf)的文档。
|
When the rtthread.bin image file is generated after being correctly compiled, you can use gdb to connect to openocd and burn it to flash with the `load` command.
|
||||||
|
|
||||||
### 3.1 运行结果
|
For more information about how to use JTAG and how to use gdb to debug the RV32M1_VEGA development board, please refer to [Development Environment Construction](https://github.com/open-isa-org/open-isa-org/open-isa.org/blob/master/RV32M1_Vega_Develop_Environment_Setup.pdf).
|
||||||
|
|
||||||
如果编译 & 烧写无误,当按`SW1`复位按钮复位设备后,会在串口上看到RT-Thread的启动logo信息:
|
## Running Results
|
||||||
|
|
||||||
``` text
|
When the compiling and burning are done correctly, press the reset button `SW1` to reset the device, the startup message of RT-Thread can be observed via the serial port :
|
||||||
|
|
||||||
|
```
|
||||||
\ | /
|
\ | /
|
||||||
- RT - Thread Operating System
|
- RT - Thread Operating System
|
||||||
/ | \ 4.0.0 build Dec 5 2018
|
/ | \ 4.0.0 build Dec 5 2018
|
||||||
|
@ -49,35 +53,34 @@ Hello RT-Thread!
|
||||||
msh />
|
msh />
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. 驱动支持情况及计划
|
## Peripheral Condition
|
||||||
|
|
||||||
| 驱动 | 支持情况 | 备注 |
|
| Drive | Support | Remark |
|
||||||
| ------ | ---- | :------ |
|
| ------ | ------------------------------------------------------------ | --------------------------- |
|
||||||
| UART | 支持 | UART0, RX(PTC7), TX(PTC8) |
|
| UART | Support | UART0, RX(PTC7), TX(PTC8) |
|
||||||
| | 支持 | UART1, RX(PTA25), TX(PTA26) |
|
| | Support | UART1, RX(PTA25), TX(PTA26) |
|
||||||
| clock | 支持 | |
|
| clock | Support | |
|
||||||
| GPIO | 支持(列表可能不完善,同时也需要按照使用到的IO调整pinmux、clock) | |
|
| GPIO | Support(The list may not complete, also you need to modify pinmux, clock according to the IO being used.) | |
|
||||||
| MMC/SD | 支持 | |
|
| MMC/SD | Support | |
|
||||||
|
|
||||||
### 4.1 IO在板级支持包中的映射情况
|
## **IO mapping in BSP**
|
||||||
|
|
||||||
| IO号 | 板级代码中的定义 |
|
| IO Number | BSP Code Definition |
|
||||||
| -- | -- |
|
| --------- | ------------------- |
|
||||||
| PTA22 | LED_BLUE |
|
| PTA22 | LED_BLUE |
|
||||||
| PTA23 | LED_GREEN |
|
| PTA23 | LED_GREEN |
|
||||||
| PTA24 | LED_RED |
|
| PTA24 | LED_RED |
|
||||||
| PTA24 | LED_STS |
|
| PTA24 | LED_STS |
|
||||||
| PTA25 | UART1_RX |
|
| PTA25 | UART1_RX |
|
||||||
| PTA26 | UART1_TX |
|
| PTA26 | UART1_TX |
|
||||||
| PTE8 | BTN_SW3 |
|
| PTE8 | BTN_SW3 |
|
||||||
| PTE9 | BTN_SW4 |
|
| PTE9 | BTN_SW4 |
|
||||||
| PTE12 | BTN_SW5 |
|
| PTE12 | BTN_SW5 |
|
||||||
| PTA0 | BTN_SW2/BTN_NMI |
|
| PTA0 | BTN_SW2/BTN_NMI |
|
||||||
|
|
||||||
## 5. 参考
|
## References
|
||||||
|
|
||||||
* [开发板用户手册](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_VEGA_Board_User_Guide.pdf)
|
- [User Guide](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_VEGA_Board_User_Guide.pdf)
|
||||||
* 芯片[数据手册](https://github.com/open-isa-org/open-isa.org/blob/master/Reference%20Manual%20and%20Data%20Sheet/RV32M1DS_Rev.1.1.pdf)
|
- Chip [Reference Manual and Data Sheet](https://github.com/open-isa-org/open-isa.org/blob/master/Reference Manual and Data Sheet/RV32M1DS_Rev.1.1.pdf)
|
||||||
* [open-isa链接](https://github.com/open-isa-org/open-isa.org)
|
- [open-isa](https://github.com/open-isa-org/open-isa.org)
|
||||||
|
|
||||||
[1]: https://www.rt-thread.org/page/download.html
|
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
# RV32M1_VEGA 板级支持包
|
||||||
|
|
||||||
|
## 1. 简介
|
||||||
|
|
||||||
|
RV32M1_VEGA开发板是一款多核异构的RISC-V 32开发板,包含了两个RISC-V 32位核心,同时也包括了BLE外设。
|
||||||
|
|
||||||
|
| 硬件 | 描述 |
|
||||||
|
| -- | -- |
|
||||||
|
|芯片型号| RV32M1 |
|
||||||
|
|CPU| RV32IMC, with extensons for post-incrementing load and stores, |
|
||||||
|
| | multiply-accumulate extensions, ALU extensions, hardware loops. |
|
||||||
|
| | RV32IEMC |
|
||||||
|
|主频| 48MHz或72MHz |
|
||||||
|
| | 48MHz或72MHz |
|
||||||
|
|片内SRAM| 256kB + 128kB |
|
||||||
|
|片内Flash| 1MB + 256kB |
|
||||||
|
|
||||||
|
## 2. 编译说明
|
||||||
|
|
||||||
|
当前测试的工具链是以标准的GNU GCC 7.2.0 & newlib 2.5.0方式,并以标准的RV32IMC构架进行编译,所以RV32M1的扩展指令未支持,RT-Thread ENV版本是1.0。
|
||||||
|
|
||||||
|
Windows上编译推荐使用[env工具][1],可以在console下进入到`bsp/rv32m1_vega/ri5cy`目录中,运行以下命令:
|
||||||
|
|
||||||
|
scons
|
||||||
|
|
||||||
|
来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、rtthread.bin文件。其中rtthread.bin需要烧写到设备中进行运行。
|
||||||
|
|
||||||
|
## 3. 烧写及执行
|
||||||
|
|
||||||
|
请使用JLink接入到RV32M1_VEGA开发板的RISC-V核的JTAG接口上,同时把JLink在PC上的驱动更改为WinUSB模式。JTAG接口位于RV32M1芯片和天线座子旁边,小的20pin JTAG接口。
|
||||||
|
|
||||||
|
使用USB线连接到标记了SDA的USB口上,在PC上会出现一个串口设备,可以使用115200-N-8-1的配置方式打开这个串口。设备使用的串口引脚是:`[PTC7/PTC8]`
|
||||||
|
|
||||||
|
当正确编译产生出rtthread.bin映像文件后,可以使用gdb连接到openocd,并以`load`命令烧写到flash中。
|
||||||
|
|
||||||
|
关于更多使用JTAG,使用gdb调试RV32M1_VEGA开发板的情况,建议参考开发板的[开发环境搭建](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_Vega_Develop_Environment_Setup.pdf)的文档。
|
||||||
|
|
||||||
|
### 3.1 运行结果
|
||||||
|
|
||||||
|
如果编译 & 烧写无误,当按`SW1`复位按钮复位设备后,会在串口上看到RT-Thread的启动logo信息:
|
||||||
|
|
||||||
|
``` text
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.0 build Dec 5 2018
|
||||||
|
2006 - 2018 Copyright by rt-thread team
|
||||||
|
File System initialized!
|
||||||
|
Hello RT-Thread!
|
||||||
|
msh />
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 驱动支持情况及计划
|
||||||
|
|
||||||
|
| 驱动 | 支持情况 | 备注 |
|
||||||
|
| ------ | ---- | :------ |
|
||||||
|
| UART | 支持 | UART0, RX(PTC7), TX(PTC8) |
|
||||||
|
| | 支持 | UART1, RX(PTA25), TX(PTA26) |
|
||||||
|
| clock | 支持 | |
|
||||||
|
| GPIO | 支持(列表可能不完善,同时也需要按照使用到的IO调整pinmux、clock) | |
|
||||||
|
| MMC/SD | 支持 | |
|
||||||
|
|
||||||
|
### 4.1 IO在板级支持包中的映射情况
|
||||||
|
|
||||||
|
| IO号 | 板级代码中的定义 |
|
||||||
|
| -- | -- |
|
||||||
|
| PTA22 | LED_BLUE |
|
||||||
|
| PTA23 | LED_GREEN |
|
||||||
|
| PTA24 | LED_RED |
|
||||||
|
| PTA24 | LED_STS |
|
||||||
|
| PTA25 | UART1_RX |
|
||||||
|
| PTA26 | UART1_TX |
|
||||||
|
| PTE8 | BTN_SW3 |
|
||||||
|
| PTE9 | BTN_SW4 |
|
||||||
|
| PTE12 | BTN_SW5 |
|
||||||
|
| PTA0 | BTN_SW2/BTN_NMI |
|
||||||
|
|
||||||
|
## 5. 参考
|
||||||
|
|
||||||
|
* [开发板用户手册](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_VEGA_Board_User_Guide.pdf)
|
||||||
|
* 芯片[数据手册](https://github.com/open-isa-org/open-isa.org/blob/master/Reference%20Manual%20and%20Data%20Sheet/RV32M1DS_Rev.1.1.pdf)
|
||||||
|
* [open-isa链接](https://github.com/open-isa-org/open-isa.org)
|
||||||
|
|
||||||
|
[1]: https://www.rt-thread.org/page/download.html
|
|
@ -1,116 +1,91 @@
|
||||||
# NUCLEO-F091RC 开发板 BSP 说明
|
# STM32F091RC-Nucleo BSP (Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
本文档为 RT-Thread 开发团队为 STM32F091RC-NUCLEO 开发板提供的 BSP (板级支持包) 说明。
|
## Introduction
|
||||||
|
|
||||||
主要内容如下:
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32F091RC-Nucleo development board.
|
||||||
|
|
||||||
- 开发板资源介绍
|
The document is covered in three parts:
|
||||||
- BSP 快速上手
|
|
||||||
- 进阶使用方法
|
|
||||||
|
|
||||||
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
- STM32F091RC-Nucleo Board Resources Introduction
|
||||||
|
- Quickly Get Started
|
||||||
|
- Advanced Features
|
||||||
|
|
||||||
## 开发板介绍
|
By 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.
|
||||||
|
|
||||||
STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内核的开发板,最高主频为 48Mhz,该开发板具有丰富的扩展接口,可以方便验证 STM32F091 的芯片性能。
|
## STM32F091RC-Nucleo Resources Introduction
|
||||||
|
|
||||||
开发板外观如下图所示:
|
The STM32F091RC-Nucleo is a development board that contains a ARM Cortex-M0. The maximum main frequency is 48 MHz, and it has a wealth of on-board resources that can take full advantage of the STM32F091's chip performance.
|
||||||
|
|
||||||
![board](figures/board.jpg)
|
[![board](https://github.com/RT-Thread/rt-thread/raw/master/bsp/stm32/stm32f091-st-nucleo/figures/board.jpg)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/stm32f091-st-nucleo/figures/board.jpg)
|
||||||
|
|
||||||
该开发板常用 **板载资源** 如下:
|
The mainly-used resources of this board are shown as follows:
|
||||||
|
|
||||||
- MCU:STM32F091RC,主频 48MHz,256KB FLASH ,32KB RAM
|
- MCU: STM32F091, Main Frequency 48MHz, 256KB FLASH, 32KB RAM
|
||||||
- 外部 RAM:无
|
- External RAM: None
|
||||||
- 外部 FLASH:无
|
- External FLASH: None
|
||||||
- 常用外设
|
- Common peripherals -Button: one, user (has the wake-up feature, PC13)
|
||||||
- 按键:1个,user(兼具唤醒功能,PC13)
|
- Common-used interfaces: USB, Arduino interface, etc.
|
||||||
- 常用接口:USB 转串口、arduino 接口等
|
- Debug interface: standard SWD For more details about this board, please refer to [ST official](https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html?querycriteria=productId=LN1847).
|
||||||
- 调试接口,标准 SWD
|
|
||||||
|
|
||||||
开发板更多详细信息请参考意法半导体[NUCLEO-F091RC](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f091rc.html)。
|
## **Peripheral Condition**
|
||||||
|
|
||||||
## 外设支持
|
Each peripheral supporting condition for this BSP is as follows:
|
||||||
|
|
||||||
本 BSP 目前对外设的支持情况如下:
|
| **On-board Peripherals** | **Support** | **Remark** |
|
||||||
|
| --------------------------- | ----------- | ------------------------------------------------------------ |
|
||||||
|
| ST-LINK Virtual Serial Port | Support | Using USART2 |
|
||||||
|
| **On-chip Peripherals** | **Support** | **Remark** |
|
||||||
|
| GPIO | Support | PA0, PA1... PC15 ---> PIN: 0, 1...64 |
|
||||||
|
| UART | Support | USART1/2 |
|
||||||
|
| SPI | Support | SPI1 |
|
||||||
|
| I2C | Support | |
|
||||||
|
| TIMER | Support | |
|
||||||
|
| ADC | Support | |
|
||||||
|
| RTC | Support | Support for external crystal oscillator and internal low-speed clocks |
|
||||||
|
| PWM | Support | |
|
||||||
|
| FLASH | Support | |
|
||||||
|
| IWGSupport | | |
|
||||||
|
|
||||||
| **板载外设** | **支持情况** | **备注** |
|
## Execution Instruction
|
||||||
| :----------------- | :----------: | :------------------------------------- |
|
|
||||||
| ST-LINK 虚拟串口 | 支持 | 使用 USART2 |
|
|
||||||
| **片上外设** | **支持情况** | **备注** |
|
|
||||||
| GPIO | 支持 | PA0, PA1... PC15 ---> PIN: 0, 1...64 |
|
|
||||||
| UART | 支持 | USART1/2 |
|
|
||||||
| SPI | 支持 | SPI1 |
|
|
||||||
| I2C | 支持 | |
|
|
||||||
| TIMER | 支持 | |
|
|
||||||
| ADC | 支持 | |
|
|
||||||
| RTC | 支持 | 支持外部晶振和内部低速时钟 |
|
|
||||||
| PWM | 支持 | |
|
|
||||||
| FLASH | 支持 | |
|
|
||||||
| IWG | 支持 | |
|
|
||||||
|
|
||||||
## 使用说明
|
### Quickly Get Started
|
||||||
|
|
||||||
使用说明分为如下两个章节:
|
This BSP provides MDK4, MDK5, and IAR projects for developers and it supports the GCC development environment. Here's an example of the MDK5 development environment, to introduce how to run the system.
|
||||||
|
|
||||||
- 快速上手
|
#### Hardware connection
|
||||||
|
|
||||||
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
Use a USB cable to connect the development board to the PC and turn on the power switch.
|
||||||
|
|
||||||
- 进阶使用
|
#### Compile and Download
|
||||||
|
|
||||||
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
Double-click the project.uvprojx file, to open the MDK5 project, compile and download the project to the board.
|
||||||
|
|
||||||
|
> By default, the executable file will be downloaded to the board by the simulator, which is connected to PC via the USB cable.
|
||||||
|
|
||||||
### 快速上手
|
### Running Results
|
||||||
|
|
||||||
本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
Once the project is successfully downloaded, the system runs automatically.
|
||||||
|
|
||||||
#### 硬件连接
|
Connect the serial port of the board to PC, communicate with it via a serial terminal tool (115200bps, 8N1). Restart the board and the startup information of RT-Thread will be observed:
|
||||||
|
|
||||||
使用数据线连接开发板到 PC,打开电源开关。
|
```
|
||||||
|
|
||||||
#### 编译下载
|
|
||||||
|
|
||||||
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
|
||||||
|
|
||||||
> 工程默认配置使用 xxx 仿真器下载程序,在通过 xxx 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
|
||||||
|
|
||||||
#### 运行结果
|
|
||||||
|
|
||||||
下载程序成功之后,系统会自动运行。
|
|
||||||
|
|
||||||
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
\ | /
|
\ | /
|
||||||
- RT - Thread Operating System
|
- RT - Thread Operating System
|
||||||
/ | \ 4.0.0 build Dec 21 2018
|
/ | \ 4.0.0 build Dec 21 2018
|
||||||
2006 - 2018 Copyright by rt-thread team
|
2006 - 2018 Copyright by rt-thread team
|
||||||
msh >
|
msh >
|
||||||
```
|
```
|
||||||
### 进阶使用
|
|
||||||
|
|
||||||
此 BSP 默认只开启了 GPIO 和 串口 2 的功能,如果需使用 SPI,I2C 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
|
### **Advanced Features**
|
||||||
|
|
||||||
1. 在 bsp 下打开 env 工具。
|
This BSP only enables GPIO and serial port 2 by default. If you need more advanced features such as SPI, I2C, you need to configure the BSP with RT-Thread [ENV tools](https://www.rt-thread.io/download.html?download=Env) , as follows:
|
||||||
|
|
||||||
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
1. Open the env tool under BSP;
|
||||||
|
2. Enter menuconfig command to configure the project, then save and exit;
|
||||||
|
3. Enter pkgs --update command to update the package;
|
||||||
|
4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project.
|
||||||
|
|
||||||
3. 输入`pkgs --update`命令更新软件包。
|
Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md).
|
||||||
|
|
||||||
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
|
||||||
|
|
||||||
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
|
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
- 无
|
|
||||||
|
|
||||||
## 联系人信息
|
|
||||||
|
|
||||||
维护人:
|
|
||||||
|
|
||||||
- [zylx](https://github.com/qgyhd1234)
|
|
|
@ -0,0 +1,116 @@
|
||||||
|
# NUCLEO-F091RC 开发板 BSP 说明
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
本文档为 RT-Thread 开发团队为 STM32F091RC-NUCLEO 开发板提供的 BSP (板级支持包) 说明。
|
||||||
|
|
||||||
|
主要内容如下:
|
||||||
|
|
||||||
|
- 开发板资源介绍
|
||||||
|
- BSP 快速上手
|
||||||
|
- 进阶使用方法
|
||||||
|
|
||||||
|
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
||||||
|
|
||||||
|
## 开发板介绍
|
||||||
|
|
||||||
|
STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内核的开发板,最高主频为 48Mhz,该开发板具有丰富的扩展接口,可以方便验证 STM32F091 的芯片性能。
|
||||||
|
|
||||||
|
开发板外观如下图所示:
|
||||||
|
|
||||||
|
![board](figures/board.jpg)
|
||||||
|
|
||||||
|
该开发板常用 **板载资源** 如下:
|
||||||
|
|
||||||
|
- MCU:STM32F091RC,主频 48MHz,256KB FLASH ,32KB RAM
|
||||||
|
- 外部 RAM:无
|
||||||
|
- 外部 FLASH:无
|
||||||
|
- 常用外设
|
||||||
|
- 按键:1个,user(兼具唤醒功能,PC13)
|
||||||
|
- 常用接口:USB 转串口、arduino 接口等
|
||||||
|
- 调试接口,标准 SWD
|
||||||
|
|
||||||
|
开发板更多详细信息请参考意法半导体[NUCLEO-F091RC](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f091rc.html)。
|
||||||
|
|
||||||
|
## 外设支持
|
||||||
|
|
||||||
|
本 BSP 目前对外设的支持情况如下:
|
||||||
|
|
||||||
|
| **板载外设** | **支持情况** | **备注** |
|
||||||
|
| :----------------- | :----------: | :------------------------------------- |
|
||||||
|
| ST-LINK 虚拟串口 | 支持 | 使用 USART2 |
|
||||||
|
| **片上外设** | **支持情况** | **备注** |
|
||||||
|
| GPIO | 支持 | PA0, PA1... PC15 ---> PIN: 0, 1...64 |
|
||||||
|
| UART | 支持 | USART1/2 |
|
||||||
|
| SPI | 支持 | SPI1 |
|
||||||
|
| I2C | 支持 | |
|
||||||
|
| TIMER | 支持 | |
|
||||||
|
| ADC | 支持 | |
|
||||||
|
| RTC | 支持 | 支持外部晶振和内部低速时钟 |
|
||||||
|
| PWM | 支持 | |
|
||||||
|
| FLASH | 支持 | |
|
||||||
|
| IWG | 支持 | |
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
使用说明分为如下两个章节:
|
||||||
|
|
||||||
|
- 快速上手
|
||||||
|
|
||||||
|
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
||||||
|
|
||||||
|
- 进阶使用
|
||||||
|
|
||||||
|
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
||||||
|
|
||||||
|
|
||||||
|
### 快速上手
|
||||||
|
|
||||||
|
本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
||||||
|
|
||||||
|
#### 硬件连接
|
||||||
|
|
||||||
|
使用数据线连接开发板到 PC,打开电源开关。
|
||||||
|
|
||||||
|
#### 编译下载
|
||||||
|
|
||||||
|
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
||||||
|
|
||||||
|
> 工程默认配置使用 xxx 仿真器下载程序,在通过 xxx 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
||||||
|
|
||||||
|
#### 运行结果
|
||||||
|
|
||||||
|
下载程序成功之后,系统会自动运行。
|
||||||
|
|
||||||
|
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.0 build Dec 21 2018
|
||||||
|
2006 - 2018 Copyright by rt-thread team
|
||||||
|
msh >
|
||||||
|
```
|
||||||
|
### 进阶使用
|
||||||
|
|
||||||
|
此 BSP 默认只开启了 GPIO 和 串口 2 的功能,如果需使用 SPI,I2C 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
|
||||||
|
|
||||||
|
1. 在 bsp 下打开 env 工具。
|
||||||
|
|
||||||
|
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
||||||
|
|
||||||
|
3. 输入`pkgs --update`命令更新软件包。
|
||||||
|
|
||||||
|
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
||||||
|
|
||||||
|
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
- 无
|
||||||
|
|
||||||
|
## 联系人信息
|
||||||
|
|
||||||
|
维护人:
|
||||||
|
|
||||||
|
- [zylx](https://github.com/qgyhd1234)
|
|
@ -1,119 +1,106 @@
|
||||||
# STM32F401 Nucleo-64 开发板 BSP 说明
|
# STM32F401 Nucleo-64 BSP (Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
本文档为 STM32F401 Nucleo-64 开发板的 BSP (板级支持包) 说明。
|
## Introduction
|
||||||
|
|
||||||
主要内容如下:
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32F401 Nucleo-64 development board.
|
||||||
|
|
||||||
- 开发板资源介绍
|
The document is covered in three parts:
|
||||||
- BSP 快速上手
|
|
||||||
- 进阶使用方法
|
|
||||||
|
|
||||||
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
- STM32F401 Nucleo-64 Board Resources Introduction
|
||||||
|
- Quickly Get Started
|
||||||
|
- Advanced Features
|
||||||
|
|
||||||
## 开发板介绍
|
By 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.
|
||||||
|
|
||||||
STM32 Nucleo-64 是 ST 官方推出的开发板,搭载 STM32F401RE 芯片,基于 ARM Cortex-M4 内核,最高主频 84 MHz,具有丰富的板载资源,可以充分发挥 STM32F401RE 的芯片性能。
|
## Board Resources Introduction
|
||||||
|
|
||||||
开发板外观如下图所示:
|
The STM32 Nucleo-64 is a development board based on STM32F401RE, which contains a Cortex-M4 core. The maximum main frequency is 84 MHz, and it has a wealth of on-board resources that can take full advantage of the STM32F401RE's chip performance.
|
||||||
|
|
||||||
![board](figures/board.jpg)
|
![board.jpg](https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/stm32f401-st-nucleo/figures/board.jpg?raw=true)
|
||||||
|
|
||||||
STM32F401 Nucleo-64 开发板常用 **板载资源** 如下:
|
|
||||||
|
|
||||||
- MCU:STM32F401RET6,主频 84MHz,512KB FLASH ,96KB RAM
|
|
||||||
- 常用外设
|
|
||||||
- LED:3 个,USB communication (LD1), user LED (LD2), power LED (LD3) 。
|
|
||||||
- 按键:2 个,USER and RESET 。
|
|
||||||
- 常用接口:USB 转串口、Arduino Uno 和 ST morpho 两类扩展接口
|
|
||||||
- 调试接口:板载 ST-LINK/V2-1 调试器。
|
|
||||||
|
|
||||||
快速入门:[Getting started with STM32 Nucleo board software development tools](https://www.st.com/resource/en/user_manual/dm00105928.pdf)
|
|
||||||
|
|
||||||
原理图下载:[STM32 Nucleo (64 pins) schematics](https://www.st.com/resource/en/schematic_pack/nucleo_64pins_sch.zip)
|
|
||||||
|
|
||||||
*更多相关信息资料见 ST 官网详情页:[STM32 Nucleo-64 development board with STM32F401RE MCU](https://www.st.com/zh/evaluation-tools/nucleo-f401re.html)*
|
|
||||||
|
|
||||||
## 外设支持
|
|
||||||
|
|
||||||
本 BSP 目前对外设的支持情况如下:
|
|
||||||
|
|
||||||
| **片上外设** | **支持情况** | **备注** |
|
|
||||||
| :------------ | :----------: | :-----------------------------------: |
|
|
||||||
| GPIO | 支持 | PA0, PA1... PH1 ---> PIN: 0, 1...63 |
|
|
||||||
| UART | 支持 | UART2 |
|
|
||||||
| SPI | 支持 | SPI1 |
|
|
||||||
|
|
||||||
## 使用说明
|
|
||||||
|
|
||||||
使用说明分为如下两个章节:
|
|
||||||
|
|
||||||
- 快速上手
|
|
||||||
|
|
||||||
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
|
||||||
|
|
||||||
- 进阶使用
|
|
||||||
|
|
||||||
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
|
||||||
|
|
||||||
|
|
||||||
### 快速上手
|
|
||||||
|
|
||||||
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
The mainly-used **on-board resources** are shown as follows:
|
||||||
|
|
||||||
#### 硬件连接
|
- MCU: STM32F401RET6
|
||||||
|
- Main Frequency: 84MHz
|
||||||
|
- Memory: 512KB FLASH , 96KB RAM
|
||||||
|
- Common-used peripherals:
|
||||||
|
- 3 LEDs: USB communication (LD1), user LED (LD2), power LED (LD3)
|
||||||
|
- 2 Buttons: USER and RESET
|
||||||
|
- Common-used interface: USB, Arduino Uno, and ST morpho
|
||||||
|
- Debug interface: ST-LINK/V2-1
|
||||||
|
|
||||||
使用 Type-A to Mini-B 线连接开发板和 PC 供电,红色 LED LD3 (PWR) 和 LD1 (COM) 会点亮。
|
For more details about this board, please refer to the ST official documentation: [STM32 Nucleo-64 development board with STM32F401RE MCU](https://www.st.com/zh/evaluation-tools/nucleo-f401re.html)
|
||||||
|
|
||||||
#### 编译下载
|
## Peripheral Condition
|
||||||
|
|
||||||
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
Each peripheral supporting condition for this BSP is as follows:
|
||||||
|
|
||||||
> 工程默认配置使用 ST-LINK 下载程序,点击下载按钮即可下载程序到开发板。
|
| **On-chip Peripheral Drivers** | **Support** | **Remark** |
|
||||||
|
| ------------------------------ | ----------- | ----------------------------------- |
|
||||||
|
| GPIO | Support | PA0, PA1... PH1 ---> PIN: 0, 1...63 |
|
||||||
|
| UART | Support | UART2 |
|
||||||
|
| SPI | Support | SPI1 |
|
||||||
|
|
||||||
#### 运行结果
|
## Execution Instruction
|
||||||
|
|
||||||
下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、绿色 LD2 会周期性闪烁。
|
### Quickly Get Started
|
||||||
|
|
||||||
USB 虚拟 COM 端口默认连接串口 2,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
This BSP provides 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.
|
||||||
|
|
||||||
```bash
|
#### Hardware Connection
|
||||||
|
|
||||||
|
Use a Type-A to Mini-B cable to connect the development board to the PC and turn on the power switch. The red LED LD3 (PWR) and LD1 (COM) will lit.
|
||||||
|
|
||||||
|
#### Compile And Download
|
||||||
|
|
||||||
|
Double-click the project.uvprojx file, to open the MDK5 project, compile and download the program to the board.
|
||||||
|
|
||||||
|
> 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.
|
||||||
|
|
||||||
|
### Running Results
|
||||||
|
|
||||||
|
After the program is successfully downloaded, the system runs automatically. Observe the running results of the LED on the development board, the red LD3 and LD1 will lit all the time, green LD2 will flash periodically.
|
||||||
|
|
||||||
|
The USB virtual COM port connects to serial port 2 by default, and when the corresponding serial port (115200-8-1-N) is opened in the terminal tool, the output information of RT-Thread can be seen when the device is reset:
|
||||||
|
|
||||||
|
```
|
||||||
\ | /
|
\ | /
|
||||||
- RT - Thread Operating System
|
- RT - Thread Operating System
|
||||||
/ | \ 4.0.1 build Mar 7 2019
|
/ | \ 4.0.1 build Mar 7 2019
|
||||||
2006 - 2019 Copyright by rt-thread team
|
2006 - 2019 Copyright by rt-thread team
|
||||||
msh >
|
msh >
|
||||||
```
|
```
|
||||||
### 进阶使用
|
|
||||||
|
|
||||||
此 BSP 默认只开启了 GPIO 和 串口 2 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
### Advanced Features
|
||||||
|
|
||||||
1. 在 BSP 下打开 env 工具。
|
This BSP only enables GPIO and serial port 2 by default. If need more advanced features, you need to configure the BSP with RT-Thread Env tools, as follows:
|
||||||
|
|
||||||
2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
|
- Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP;
|
||||||
|
|
||||||
3. 输入 `pkgs --update` 命令更新软件包。
|
- Enter the `menuconfig` command to configure the project, then save and exit;
|
||||||
|
|
||||||
4. 输入 `scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
- Enter the `pkgs --update` command to update the packages;
|
||||||
|
|
||||||
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32 系列 BSP 外设驱动使用教程. md)。
|
- Enter the `scons --target=mdk4/mdk5/iar` command to regenerate the project.
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
关于 pin 序号规则,与旧 bsp 使用封装管脚序号不同,在新的 stm32 bsp 框架中,统一采用顺序编号的方式,对 GPIO 驱动进行管理,在移植旧 bsp 时特别要注意这点。
|
|
||||||
|
|
||||||
pin 序号与引脚名对应关系如下表:
|
## Notes
|
||||||
|
|
||||||
| STM32 引脚名 | 管脚序号 pin |
|
According to the pin number specification, in the new stm32 bsp framework, the GPIO driver is managed in a sequential numbering manner.
|
||||||
|--------------|--------------|
|
|
||||||
| PA0 - PA15 | 0 - 15 |
|
|
||||||
| PB0 - PB15 | 16 - 31 |
|
|
||||||
| PC0 - PC15 | 32 - 47 |
|
|
||||||
| PD0 - ... | 48 - ... |
|
|
||||||
|
|
||||||
## 联系人信息
|
## Notes
|
||||||
|
|
||||||
维护人:
|
The pin serial number corresponds to the pin name as shown in the following table:
|
||||||
|
|
||||||
|
| STM32 Pin Name | Pin Sequence Number |
|
||||||
|
| -------------- | ------------------- |
|
||||||
|
| PA0 - PA15 | 0 - 15 |
|
||||||
|
| PB0 - PB15 | 16 - 31 |
|
||||||
|
| PC0 - PC15 | 32 - 47 |
|
||||||
|
| PD0 - ... | 48 - ... |
|
||||||
|
|
||||||
- [shaoguoji](https://github.com/shaoguoji) ,邮箱:<752147916@qq.com>
|
|
|
@ -0,0 +1,119 @@
|
||||||
|
# STM32F401 Nucleo-64 开发板 BSP 说明
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
本文档为 STM32F401 Nucleo-64 开发板的 BSP (板级支持包) 说明。
|
||||||
|
|
||||||
|
主要内容如下:
|
||||||
|
|
||||||
|
- 开发板资源介绍
|
||||||
|
- BSP 快速上手
|
||||||
|
- 进阶使用方法
|
||||||
|
|
||||||
|
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
||||||
|
|
||||||
|
## 开发板介绍
|
||||||
|
|
||||||
|
STM32 Nucleo-64 是 ST 官方推出的开发板,搭载 STM32F401RE 芯片,基于 ARM Cortex-M4 内核,最高主频 84 MHz,具有丰富的板载资源,可以充分发挥 STM32F401RE 的芯片性能。
|
||||||
|
|
||||||
|
开发板外观如下图所示:
|
||||||
|
|
||||||
|
![board](figures/board.jpg)
|
||||||
|
|
||||||
|
STM32F401 Nucleo-64 开发板常用 **板载资源** 如下:
|
||||||
|
|
||||||
|
- MCU:STM32F401RET6,主频 84MHz,512KB FLASH ,96KB RAM
|
||||||
|
- 常用外设
|
||||||
|
- LED:3 个,USB communication (LD1), user LED (LD2), power LED (LD3) 。
|
||||||
|
- 按键:2 个,USER and RESET 。
|
||||||
|
- 常用接口:USB 转串口、Arduino Uno 和 ST morpho 两类扩展接口
|
||||||
|
- 调试接口:板载 ST-LINK/V2-1 调试器。
|
||||||
|
|
||||||
|
快速入门:[Getting started with STM32 Nucleo board software development tools](https://www.st.com/resource/en/user_manual/dm00105928.pdf)
|
||||||
|
|
||||||
|
原理图下载:[STM32 Nucleo (64 pins) schematics](https://www.st.com/resource/en/schematic_pack/nucleo_64pins_sch.zip)
|
||||||
|
|
||||||
|
*更多相关信息资料见 ST 官网详情页:[STM32 Nucleo-64 development board with STM32F401RE MCU](https://www.st.com/zh/evaluation-tools/nucleo-f401re.html)*
|
||||||
|
|
||||||
|
## 外设支持
|
||||||
|
|
||||||
|
本 BSP 目前对外设的支持情况如下:
|
||||||
|
|
||||||
|
| **片上外设** | **支持情况** | **备注** |
|
||||||
|
| :------------ | :----------: | :-----------------------------------: |
|
||||||
|
| GPIO | 支持 | PA0, PA1... PH1 ---> PIN: 0, 1...63 |
|
||||||
|
| UART | 支持 | UART2 |
|
||||||
|
| SPI | 支持 | SPI1 |
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
使用说明分为如下两个章节:
|
||||||
|
|
||||||
|
- 快速上手
|
||||||
|
|
||||||
|
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
||||||
|
|
||||||
|
- 进阶使用
|
||||||
|
|
||||||
|
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
||||||
|
|
||||||
|
|
||||||
|
### 快速上手
|
||||||
|
|
||||||
|
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
||||||
|
|
||||||
|
#### 硬件连接
|
||||||
|
|
||||||
|
使用 Type-A to Mini-B 线连接开发板和 PC 供电,红色 LED LD3 (PWR) 和 LD1 (COM) 会点亮。
|
||||||
|
|
||||||
|
#### 编译下载
|
||||||
|
|
||||||
|
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
||||||
|
|
||||||
|
> 工程默认配置使用 ST-LINK 下载程序,点击下载按钮即可下载程序到开发板。
|
||||||
|
|
||||||
|
#### 运行结果
|
||||||
|
|
||||||
|
下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、绿色 LD2 会周期性闪烁。
|
||||||
|
|
||||||
|
USB 虚拟 COM 端口默认连接串口 2,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.1 build Mar 7 2019
|
||||||
|
2006 - 2019 Copyright by rt-thread team
|
||||||
|
msh >
|
||||||
|
```
|
||||||
|
### 进阶使用
|
||||||
|
|
||||||
|
此 BSP 默认只开启了 GPIO 和 串口 2 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
||||||
|
|
||||||
|
1. 在 BSP 下打开 env 工具。
|
||||||
|
|
||||||
|
2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
|
||||||
|
|
||||||
|
3. 输入 `pkgs --update` 命令更新软件包。
|
||||||
|
|
||||||
|
4. 输入 `scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
||||||
|
|
||||||
|
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32 系列 BSP 外设驱动使用教程. md)。
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
关于 pin 序号规则,与旧 bsp 使用封装管脚序号不同,在新的 stm32 bsp 框架中,统一采用顺序编号的方式,对 GPIO 驱动进行管理,在移植旧 bsp 时特别要注意这点。
|
||||||
|
|
||||||
|
pin 序号与引脚名对应关系如下表:
|
||||||
|
|
||||||
|
| STM32 引脚名 | 管脚序号 pin |
|
||||||
|
|--------------|--------------|
|
||||||
|
| PA0 - PA15 | 0 - 15 |
|
||||||
|
| PB0 - PB15 | 16 - 31 |
|
||||||
|
| PC0 - PC15 | 32 - 47 |
|
||||||
|
| PD0 - ... | 48 - ... |
|
||||||
|
|
||||||
|
## 联系人信息
|
||||||
|
|
||||||
|
维护人:
|
||||||
|
|
||||||
|
- [shaoguoji](https://github.com/shaoguoji) ,邮箱:<752147916@qq.com>
|
|
@ -1,109 +1,93 @@
|
||||||
# STM32H747-ST-DISCOVERY 开发板 BSP 说明
|
# STM32H747-ST-DISCOVERY BSP (Board Support Package) Execution Instruction
|
||||||
|
|
||||||
## 简介
|
[中文页](README_zh.md) |
|
||||||
|
|
||||||
本文档为 [SummerGift](https://github.com/SummerLife) 为 STM32H747-ST-DISCOVERY 开发板提供的 BSP (板级支持包) 说明。
|
## Introduction
|
||||||
|
|
||||||
主要内容如下:
|
This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32H747-ST-DISCOVERY development board.
|
||||||
|
|
||||||
- 开发板资源介绍
|
The document is covered in three parts:
|
||||||
- BSP 快速上手
|
|
||||||
- 进阶使用方法
|
|
||||||
|
|
||||||
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
- STM32H747-ST-DISCOVERY Board Resources Introduction
|
||||||
|
- Quickly Get Started
|
||||||
|
- Advanced Features
|
||||||
|
|
||||||
## 开发板介绍
|
By 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.
|
||||||
|
|
||||||
STM32H747I-DISCO 是 ST 推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 480Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H747 的芯片性能。
|
## Board Resources Introduction
|
||||||
|
|
||||||
开发板外观如下图所示:
|
The STM32H747-ST-DISCOVERY is a development board that contains a ARM Cortex-M7. The maximum main frequency is 480 MHz, and it has a wealth of on-board resources that can take full advantage of the STM32H747's chip performance.
|
||||||
|
|
||||||
![board](figures/board.png)
|
|
||||||
|
|
||||||
该开发板常用 **板载资源** 如下:
|
|
||||||
|
|
||||||
- MCU:STM32H747,主频 480MHz,2MB FLASH ,1MB RAM
|
|
||||||
- 常用接口:USB 转串口、以太网接口、arduino 接口等
|
|
||||||
- 调试接口,标准 JTAG/SWD
|
|
||||||
|
|
||||||
开发板更多详细信息请参考 ST 官方介绍页面 [STM32H747I-DISCO](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32h747i-disco.html)。
|
|
||||||
|
|
||||||
## 外设支持
|
|
||||||
|
|
||||||
本 BSP 目前对外设的支持情况如下:
|
|
||||||
|
|
||||||
| **板载外设** | **支持情况** | **备注** |
|
|
||||||
| :----------------- | :----------: | :------------------------------------- |
|
|
||||||
| USB 转串口 | 支持 ||
|
|
||||||
| **片上外设** | **支持情况** | **备注** |
|
|
||||||
| GPIO | 支持 | |
|
|
||||||
| UART | 支持 | UART1 |
|
|
||||||
|
|
||||||
|
|
||||||
## 使用说明
|
|
||||||
|
|
||||||
使用说明分为如下两个章节:
|
[![board](https://github.com/RT-Thread/rt-thread/raw/master/bsp/stm32/stm32h747-st-discovery/figures/board.png)](https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/stm32h747-st-discovery/figures/board.png)
|
||||||
|
|
||||||
- 快速上手
|
The mainly-used resources of this board are shown as follows:
|
||||||
|
|
||||||
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
- MCU: STM32H747
|
||||||
|
- Main Frequency 480MHz
|
||||||
|
- Memory: 2MB FLASH, 1MB RAM
|
||||||
|
- Common-used peripherals: USB、Ethernet、arduino API etc.
|
||||||
|
- Debug interface: Standard JTAG/SWD.
|
||||||
|
|
||||||
- 进阶使用
|
For more details about this board, please refer to the ST official documentation [STM32H747I-DISCO](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32h747i-disco.html)。
|
||||||
|
|
||||||
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
## Peripheral Condition
|
||||||
|
|
||||||
|
Each peripheral supporting condition for this BSP is as follows:
|
||||||
|
|
||||||
### 快速上手
|
| **On-board Peripheral** | **Support** | **Remark** |
|
||||||
|
| ----------------------- | ----------- | ---------- |
|
||||||
|
| USB | Support | |
|
||||||
|
| **On-chip Peripheral** | **Support** | **Remark** |
|
||||||
|
| GPIO | Support | |
|
||||||
|
| UART | Support | UART1 |
|
||||||
|
|
||||||
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
## Execution Instruction
|
||||||
|
|
||||||
#### 硬件连接
|
### Quickly Get Started
|
||||||
|
|
||||||
使用数据线连接开发板到 PC,打开电源开关。
|
This BSP provides MDK 5 and IAR projects for developers and it supports the GCC development environment. Here's an example of the MDK5 development environment, to introduce how to run the system.
|
||||||
|
|
||||||
#### 编译下载
|
#### **Hardware Connection**
|
||||||
|
|
||||||
双击 project.uvprojx 文件,打开 MDK5 (MDK 需要 5.29 版本以上才支持 ST-LINK V3)工程,编译并下载程序到开发板。
|
Use a USB cable to connect the development board to the PC and turn on the power switch.
|
||||||
|
|
||||||
> 工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
#### **Compile and Download**
|
||||||
|
|
||||||
#### 运行结果
|
Double-click the project.uvprojx file, to open the MDK 5 project (MDK requires to download V 5.29 and above to support ST-LINK V3), compile and download the project to the board.
|
||||||
|
|
||||||
下载程序成功之后,系统会自动运行,LED 闪烁。
|
> By default, the project uses the 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.
|
||||||
|
|
||||||
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
### **Running Results**
|
||||||
|
|
||||||
```bash
|
Once the project is successfully downloaded, the system runs automatically, and LED will flash.
|
||||||
|
|
||||||
|
Connect 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:
|
||||||
|
|
||||||
|
```
|
||||||
\ | /
|
\ | /
|
||||||
- RT - Thread Operating System
|
- RT - Thread Operating System
|
||||||
/ | \ 4.0.3 build Feb 24 2020
|
/ | \ 4.0.3 build Feb 24 2020
|
||||||
2006 - 2020 Copyright by rt-thread team
|
2006 - 2020 Copyright by rt-thread team
|
||||||
msh >
|
msh >
|
||||||
```
|
```
|
||||||
### 进阶使用
|
|
||||||
|
|
||||||
此 BSP 默认只开启了 GPIO 和 串口 1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
### **Advanced Features**
|
||||||
|
|
||||||
1. 在 bsp 下打开 env 工具。
|
This BSP only enables GPIO and serial port 1 by default. If you need more advanced features, you need to configure the BSP with [RT-Thread ENV tools](https://www.rt-thread.io/download.html?download=Env) , as follows:
|
||||||
|
|
||||||
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
1. Open the env tool under BSP.
|
||||||
|
2. Enter menuconfig command to configure the project, then save and exit.
|
||||||
|
3. Enter pkgs --update command to update the package.
|
||||||
|
4. Enter scons --target=mdk4/mdk5/iar command to regenerate the project.
|
||||||
|
|
||||||
3. 输入`pkgs --update`命令更新软件包。
|
Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md).
|
||||||
|
|
||||||
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
## **Notes**
|
||||||
|
|
||||||
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
|
- Debug serial port has the mapping description for serial port 1.
|
||||||
|
|
||||||
## 注意事项
|
PA9 ------> USART1_TX
|
||||||
|
|
||||||
- 调试串口为串口 1 映射说明
|
PA10 ------> USART1_RX
|
||||||
|
|
||||||
PA9 ------> USART1_TX
|
|
||||||
|
|
||||||
PA10 ------> USART1_RX
|
|
||||||
|
|
||||||
## 联系人信息
|
|
||||||
|
|
||||||
维护人:
|
|
||||||
|
|
||||||
- [SummerGift](https://github.com/SummerLife)
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
# STM32H747-ST-DISCOVERY 开发板 BSP 说明
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
本文档为 [SummerGift](https://github.com/SummerLife) 为 STM32H747-ST-DISCOVERY 开发板提供的 BSP (板级支持包) 说明。
|
||||||
|
|
||||||
|
主要内容如下:
|
||||||
|
|
||||||
|
- 开发板资源介绍
|
||||||
|
- BSP 快速上手
|
||||||
|
- 进阶使用方法
|
||||||
|
|
||||||
|
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
||||||
|
|
||||||
|
## 开发板介绍
|
||||||
|
|
||||||
|
STM32H747I-DISCO 是 ST 推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 480Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H747 的芯片性能。
|
||||||
|
|
||||||
|
开发板外观如下图所示:
|
||||||
|
|
||||||
|
![board](figures/board.png)
|
||||||
|
|
||||||
|
该开发板常用 **板载资源** 如下:
|
||||||
|
|
||||||
|
- MCU:STM32H747,主频 480MHz,2MB FLASH ,1MB RAM
|
||||||
|
- 常用接口:USB 转串口、以太网接口、arduino 接口等
|
||||||
|
- 调试接口,标准 JTAG/SWD
|
||||||
|
|
||||||
|
开发板更多详细信息请参考 ST 官方介绍页面 [STM32H747I-DISCO](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32h747i-disco.html)。
|
||||||
|
|
||||||
|
## 外设支持
|
||||||
|
|
||||||
|
本 BSP 目前对外设的支持情况如下:
|
||||||
|
|
||||||
|
| **板载外设** | **支持情况** | **备注** |
|
||||||
|
| :----------------- | :----------: | :------------------------------------- |
|
||||||
|
| USB 转串口 | 支持 ||
|
||||||
|
| **片上外设** | **支持情况** | **备注** |
|
||||||
|
| GPIO | 支持 | |
|
||||||
|
| UART | 支持 | UART1 |
|
||||||
|
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
使用说明分为如下两个章节:
|
||||||
|
|
||||||
|
- 快速上手
|
||||||
|
|
||||||
|
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
||||||
|
|
||||||
|
- 进阶使用
|
||||||
|
|
||||||
|
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
||||||
|
|
||||||
|
|
||||||
|
### 快速上手
|
||||||
|
|
||||||
|
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
||||||
|
|
||||||
|
#### 硬件连接
|
||||||
|
|
||||||
|
使用数据线连接开发板到 PC,打开电源开关。
|
||||||
|
|
||||||
|
#### 编译下载
|
||||||
|
|
||||||
|
双击 project.uvprojx 文件,打开 MDK5 (MDK 需要 5.29 版本以上才支持 ST-LINK V3)工程,编译并下载程序到开发板。
|
||||||
|
|
||||||
|
> 工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
||||||
|
|
||||||
|
#### 运行结果
|
||||||
|
|
||||||
|
下载程序成功之后,系统会自动运行,LED 闪烁。
|
||||||
|
|
||||||
|
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
\ | /
|
||||||
|
- RT - Thread Operating System
|
||||||
|
/ | \ 4.0.3 build Feb 24 2020
|
||||||
|
2006 - 2020 Copyright by rt-thread team
|
||||||
|
msh >
|
||||||
|
```
|
||||||
|
### 进阶使用
|
||||||
|
|
||||||
|
此 BSP 默认只开启了 GPIO 和 串口 1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
||||||
|
|
||||||
|
1. 在 bsp 下打开 env 工具。
|
||||||
|
|
||||||
|
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
||||||
|
|
||||||
|
3. 输入`pkgs --update`命令更新软件包。
|
||||||
|
|
||||||
|
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
||||||
|
|
||||||
|
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
- 调试串口为串口 1 映射说明
|
||||||
|
|
||||||
|
PA9 ------> USART1_TX
|
||||||
|
|
||||||
|
PA10 ------> USART1_RX
|
||||||
|
|
||||||
|
## 联系人信息
|
||||||
|
|
||||||
|
维护人:
|
||||||
|
|
||||||
|
- [SummerGift](https://github.com/SummerLife)
|
Loading…
Reference in New Issue