|
@@ -1,106 +1,108 @@
|
|
|
-# NUCLEO-G431RB 开发板 BSP 说明
|
|
|
-
|
|
|
-## 简介
|
|
|
-
|
|
|
-本文档为 NUCLEO-G431RB 开发板的 BSP (板级支持包) 说明。
|
|
|
-
|
|
|
-主要内容如下:
|
|
|
-
|
|
|
-- 开发板资源介绍
|
|
|
-- BSP 快速上手
|
|
|
-- 进阶使用方法
|
|
|
-
|
|
|
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
|
|
-
|
|
|
-## 开发板介绍
|
|
|
-
|
|
|
-NUCLEO-G431RB 是 ST 公司推出的一款针对 STM32G4 系列设计的 Cortex-M4 Nucleo-64 开发板,支持 mbed,兼容 Arduino、还带有 ST Morpho 扩展接口,可连接微控制器的所有周边外设。
|
|
|
-
|
|
|
-开发板外观如下图所示:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-该开发板常用 **板载资源** 如下:
|
|
|
-
|
|
|
-- MCU:STM32G431RB,主频 170MHz,128KB FLASH ,22KB RAM
|
|
|
-- 常用外设
|
|
|
- - LED:1个,LD2(黄色,PA5)
|
|
|
-- 常用接口:USB 转串口
|
|
|
-- 调试接口,标准 ST-LINK/SWD
|
|
|
-
|
|
|
-开发板更多详细信息请参考【NUCLEO-G431RB】 [开发板介绍](https://www.st.com/zh/evaluation-tools/nucleo-g431rb.html)。
|
|
|
-
|
|
|
-## 外设支持
|
|
|
-
|
|
|
-本 BSP 目前对外设的支持情况如下:
|
|
|
-
|
|
|
-| **板载外设** | **支持情况** | **备注** |
|
|
|
-| :----------------- | :----------: | :------------------------------------- |
|
|
|
-| USB 转串口 | 支持 | |
|
|
|
-| **片上外设** | **支持情况** | **备注** |
|
|
|
-| GPIO | 支持 | |
|
|
|
-| UART | 支持 | LPUART1 USART1/3 UART4 |
|
|
|
-
|
|
|
-## 使用说明
|
|
|
-
|
|
|
-使用说明分为如下两个章节:
|
|
|
-
|
|
|
-- 快速上手
|
|
|
-
|
|
|
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
|
|
-
|
|
|
-- 进阶使用
|
|
|
-
|
|
|
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
|
|
-
|
|
|
-
|
|
|
-### 快速上手
|
|
|
-
|
|
|
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
|
|
-
|
|
|
-#### 硬件连接
|
|
|
-
|
|
|
-使用数据线连接开发板到 PC,通过数据线对开发板供电,下载,调试。
|
|
|
-
|
|
|
-#### 编译下载
|
|
|
-
|
|
|
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
|
|
-
|
|
|
-> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
|
|
-
|
|
|
-#### 运行结果
|
|
|
-
|
|
|
-下载程序成功之后,系统会自动运行,黄色的 LD2 以 500MS 周期闪烁。
|
|
|
-
|
|
|
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
|
|
-
|
|
|
-```bash
|
|
|
- \ | /
|
|
|
-- RT - Thread Operating System
|
|
|
- / | \ 4.0.2 build Oct 5 2019
|
|
|
- 2006 - 2019 Copyright by rt-thread team
|
|
|
-msh >
|
|
|
-```
|
|
|
-### 进阶使用
|
|
|
-
|
|
|
-此 BSP 默认只开启了 GPIO 和 LPUART1 的功能,如果需使用更多高级功能,需要利用 ENV 工具对 BSP 进行配置,步骤如下:
|
|
|
-
|
|
|
-1. 在 bsp 下打开 env 工具。
|
|
|
-
|
|
|
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
|
|
-
|
|
|
-3. 输入`pkgs --update`命令更新软件包。
|
|
|
-
|
|
|
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
|
|
|
-
|
|
|
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
|
|
|
-
|
|
|
-## 注意事项
|
|
|
-
|
|
|
-- 默认终端输出设备是 LPUART1
|
|
|
-
|
|
|
-## 联系人信息
|
|
|
-
|
|
|
-维护人:
|
|
|
-
|
|
|
-- [xuzhuoyi](https://github.com/xuzhuoyi), 邮箱:<xzy476386434@vip.qq.com>
|
|
|
+# STM32G431-Nucleo BSP Introduction
|
|
|
+
|
|
|
+[中文](README_zh.md)
|
|
|
+
|
|
|
+## MCU: STM32G431RB @170MHz, 128KB FLASH, 32KB RAM
|
|
|
+
|
|
|
+The STM32G431x6/x8/xB devices are based on the high-performance Arm® Cortex®-M4 32-bit RISC core. They operate at a frequency of up to 170 MHz.
|
|
|
+
|
|
|
+The Cortex-M4 core features a single-precision floating-point unit (FPU), which supports all the Arm single-precision data-processing instructions and all the data types. It also implements a full set of DSP (digital signal processing) instructions and a memory protection unit (MPU) which enhances the application’s security.
|
|
|
+These devices embed high-speed memories (128 Kbytes of Flash memory, and 32 Kbytes of SRAM), an extensive range of enhanced I/Os and peripherals connected to two APB buses, two AHB buses and a 32-bit multi-AHB bus matrix.
|
|
|
+The devices also embed several protection mechanisms for embedded Flash memory and SRAM: readout protection, write protection, securable memory area and proprietary code readout protection.
|
|
|
+The devices embed peripherals allowing mathematical/arithmetic function acceleration (CORDIC for trigonometric functions and FMAC unit for filter functions).
|
|
|
+They offer two fast 12-bit ADCs (5 Msps), four comparators, three operational amplifiers, four DAC channels (2 external and 2 internal), an internal voltage reference buffer, a low-power RTC, one general-purpose 32-bit timers, two 16-bit PWM timers dedicated to motor control, seven general-purpose 16-bit timers, and one 16-bit low-power timer.
|
|
|
+They also feature standard and advanced communication interfaces such as:
|
|
|
+\- Three I2Cs
|
|
|
+\- Three SPIs multiplexed with two half duplex I2Ss
|
|
|
+\- Three USARTs, one UART and one low-power UART.
|
|
|
+\- One FDCAN
|
|
|
+\- One SAI
|
|
|
+\- USB device
|
|
|
+\- UCPD
|
|
|
+The devices operate in the -40 to +85 °C (+105 °C junction) and -40 to +125 °C (+130 °C junction) temperature ranges from a 1.71 to 3.6 V power supply. A comprehensive set of power-saving modes allows the design of low-power applications.
|
|
|
+Some independent power supplies are supported including an analog independent supply input for ADC, DAC, OPAMPs and comparators. A VBAT input allows backup of the RTC and the registers.
|
|
|
+The STM32G431x6/x8/xB family offers 9 packages from 32-pin to 100-pin.
|
|
|
+
|
|
|
+#### KEY FEATURES
|
|
|
+
|
|
|
+- Core: Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator) allowing 0-wait-state execution from Flash memory, frequency up to 170 MHz with 213 DMIPS, MPU, DSP instructions
|
|
|
+- Operating conditions:
|
|
|
+ - VDD, VDDA voltage range: 1.71 V to 3.6 V
|
|
|
+- Mathematical hardware accelerators
|
|
|
+ - CORDIC for trigonometric functions acceleration
|
|
|
+ - FMAC: filter mathematical accelerator
|
|
|
+- Memories
|
|
|
+ - 128 Kbytes of Flash memory with ECC support, proprietary code readout protection (PCROP), securable memory area, 1 Kbyte OTP
|
|
|
+ - 22 Kbytes of SRAM, with hardware parity check implemented on the first 16 Kbytes
|
|
|
+ - Routine booster: 10 Kbytes of SRAM on instruction and data bus, with hardware parity check (CCM SRAM)
|
|
|
+- Reset and supply management
|
|
|
+ - Power-on/power-down reset (POR/PDR/BOR)
|
|
|
+ - Programmable voltage detector (PVD)
|
|
|
+ - Low-power modes: sleep, stop, standby and shutdown
|
|
|
+ - VBAT supply for RTC and backup registers
|
|
|
+- Clock management
|
|
|
+ - 4 to 48 MHz crystal oscillator
|
|
|
+ - 32 kHz oscillator with calibration
|
|
|
+ - Internal 16 MHz RC with PLL option (± 1%)
|
|
|
+ - Internal 32 kHz RC oscillator (± 5%)
|
|
|
+- Up to 86 fast I/Os
|
|
|
+ - All mappable on external interrupt vectors
|
|
|
+ - Several I/Os with 5 V tolerant capability
|
|
|
+- Interconnect matrix
|
|
|
+- 12-channel DMA controller
|
|
|
+- 2 x ADCs 0.25 µs (up to 23 channels). Resolution up to 16-bit with hardware oversampling, 0 to 3.6 V conversion range
|
|
|
+
|
|
|
+- 4 x 12-bit DAC channels
|
|
|
+ - 2 x buffered external channels 1 MSPS
|
|
|
+ - 2 x unbuffered internal channels 15 MSPS
|
|
|
+- 4 x ultra-fast rail-to-rail analog comparators
|
|
|
+- 3 x operational amplifiers that can be used in PGA mode, all terminals accessible
|
|
|
+- Internal voltage reference buffer (VREFBUF) supporting three output voltages (2.048 V, 2.5 V, 2.9 V)
|
|
|
+- 14 timers:
|
|
|
+ - 1 x 32-bit timer and 2 x 16-bit timers with up to four IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
|
|
|
+ - 2 x 16-bit 8-channel advanced motor control timers, with up to 8 x PWM channels, dead time generation and emergency stop
|
|
|
+ - 1 x 16-bit timer with 2 x IC/OCs, one OCN/PWM, dead time generation and emergency stop
|
|
|
+ - 2 x 16-bit timers with IC/OC/OCN/PWM, dead time generation and emergency stop
|
|
|
+ - 2 x watchdog timers (independent, window)
|
|
|
+ - 1 x SysTick timer: 24-bit downcounter
|
|
|
+ - 2 x 16-bit basic timers
|
|
|
+ - 1 x low-power timer
|
|
|
+- Calendar RTC with alarm, periodic wakeup from stop/standby
|
|
|
+- Communication interfaces
|
|
|
+ - 1 x FDCAN controller supporting flexible data rate
|
|
|
+ - 3 x I2C Fast mode plus (1 Mbit/s) with 20 mA current sink, SMBus/PMBus, wakeup from stop
|
|
|
+ - 4 x USART/UARTs (ISO 7816 interface, LIN, IrDA, modem control)
|
|
|
+ - 1 x LPUART
|
|
|
+ - 3 x SPIs, 4 to 16 programmable bit frames, 2 x with multiplexed half duplex I2S interface
|
|
|
+ - 1 x SAI (serial audio interface)
|
|
|
+ - USB 2.0 full-speed interface with LPM and BCD support
|
|
|
+ - IRTIM (infrared interface)
|
|
|
+ - USB Type-C™ /USB power delivery controller (UCPD)
|
|
|
+- True random number generator (RNG)
|
|
|
+- CRC calculation unit, 96-bit unique ID
|
|
|
+- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell™
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Read more
|
|
|
+
|
|
|
+| Documents | Description |
|
|
|
+| :----------------------------------------------------------: | :----------------------------------------------------------: |
|
|
|
+| [STM32_Nucleo-64_BSP_Introduction](../docs/STM32_Nucleo-64_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-64 boards (**Must-Read**) |
|
|
|
+| [STM32G431RB ST Official Website](https://www.st.com/en/microcontrollers-microprocessors/stm32g431rb.html#documentation) | STM32G431RB datasheet and other resources |
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Maintained By
|
|
|
+
|
|
|
+[xuzhuoyi](https://github.com/xuzhuoyi), <xzy476386434@vip.qq.com>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Translated By
|
|
|
+
|
|
|
+Meco Man @ RT-Thread Community
|
|
|
+
|
|
|
+> jiantingman@foxmail.com
|
|
|
+>
|
|
|
+> https://github.com/mysterywolf
|