This document records the guide of the BSP (board support package) provided by the RT-Thread development team for the STM32 Nucleo-64 development boards.
This document records the instruction of the BSP (board support package) that provided by the RT-Thread development team for the STM32 Nucleo-64 development boards.
The document is covered in three parts:
...
...
@@ -14,21 +14,35 @@ By reading the ***Quickly Get Started*** section developers can quickly get thei
## Resources Introduction
The STM32 Nucleo-64 development boards are produced by ST official for STM32 series.
The STM32 Nucleo-64 boards provide an affordable and flexible way for users to try out new concepts and build prototypes by choosing from the various combinations of performance and power consumption features, provided by the STM32 microcontroller. For the compatible boards, the external SMPS significantly reduces power consumption in Run mode.
### Description
### **For more details about these boards, please refer to [ST Nucleo official website](https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html?querycriteria=productId=LN1847).**
The STM32 Nucleo-64 board provides an affordable and flexible way for users to try out new concepts and build prototypes by choosing from the various combinations of performance and power consumption features, provided by the STM32 microcontroller. For the compatible boards, the external SMPS significantly reduces power consumption in Run mode. The ARDUINO® Uno V3 connectivity support and the ST morpho headers allow the easy expansion of the functionality of the STM32 Nucleo open development platform with a wide choice of specialized shields. The STM32 Nucleo-64 board does not require any separate probe as it integrates the ST-LINK debugger/programmer. The STM32 Nucleo-64 board comes with the STM32 comprehensive free software libraries and examples available with the STM32Cube MCU Package.
- Micro-AB or Mini-AB USB connector for the ST-LINK
- MIPI® debug connector
- Arm® Mbed Enabled™ compliant
- Common-used peripherals:
- 3 LEDs: USB communication (LD1), user LED (LD2), power LED (LD3)
- 2 Buttons: USER and RESET
- Common-used interfaces: USB, Arduino Uno interface, and ST morpho
- Debug interface: ST-LINK/V2-1
### **For more details about these boards, please refer to [ST Nucleo Official Website](https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html?querycriteria=productId=LN1847).**
...
...
@@ -36,6 +50,8 @@ The mainly-used resources of this board are shown as follows:
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.
![nucleo64_layout](figures/nucleo64_layout.jpg)
### 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 LD3 (PWR) and LD1 (COM) will light.
...
...
@@ -66,7 +82,7 @@ msh >
### Terminal tool - PuTTy
If you have no terminal tool software available, you can download *PuTTy*:
If you don't have a terminal tool software available, you can download *PuTTy*:
@@ -74,7 +90,7 @@ If you have no terminal tool software available, you can download *PuTTy*:
These two videos will show you how to use PuTTy:
Follow these tutorial videos to learn PuTTy:
> https://www.youtube.com/watch?v=ab4ilbsteWU
>
...
...
@@ -82,23 +98,29 @@ These two videos will show you how to use PuTTy:
## **Advanced Features**
## Advanced Features
This BSP only enables GPIO and USART2 by default. If you need more advanced features such as SPI, I2C, you need to configure the BSP with RT-Thread [ENV tool](https://www.rt-thread.io/download.html?download=Env) , as follows:
1. Open the ENV tool under the specific BSP folder;
1. Open the Env tool under the specific BSP folder;
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.
Learn how to use RT-Thread ENV, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md).
Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/env/env.md).
The STM32F410x8/B devices are based on the high-performance ARM®Cortex® -M4 32-bit RISC core operating at a frequency of up to 100 MHz. Their Cortex®-M4 core features a Floating point unit (FPU) single precision which supports all ARM single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances application security.
- 开发板资源介绍
- BSP 快速上手
- 进阶使用方法
The STM32F410x8/B belong to the STM32 Dynamic Efficiency™ product line (with products combining power efficiency, performance and integration) while adding a new innovative feature called Batch Acquisition Mode (BAM) allowing to save even more power consumption during data batching.
The STM32F410x8/B incorporate high-speed embedded memories (up to 128 Kbytes of Flash memory, 32 Kbytes of SRAM), and an extensive range of enhanced I/Os and peripherals connected to two APB buses, one AHB bus and a 32-bit multi-AHB bus matrix.
## 开发板介绍
All devices offer one 12-bit ADC, one 12-bit DAC, a low-power RTC, three general-purpose 16-bit timers, one PWM timer for motor control, one general-purpose 32-bit timers and one 16-bit low-power timer. They also feature standard and advanced communication interfaces.
探索者 STM32F410-Nucleo-64 是意法半导体推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 84Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F410RB 的芯片性能。
#### KEY FEATURES
开发板外观如下图所示:
- Dynamic Efficiency Line with BAM (Batch Acquisition Mode)
- 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 100 MHz, memory protection unit, 125 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
- Memories
- Up to 128 Kbytes of Flash memory
- 512 bytes of OTP memory
- 32 Kbytes of SRAM
- Clock, reset and supply management
- 1.7 V to 3.6 V application supply and I/Os
- POR, PDR, PVD and BOR
- 4-to-26 MHz crystal oscillator
- Internal 16 MHz factory-trimmed RC
- 32 kHz oscillator for RTC with calibration
- Internal 32 kHz RC with calibration
- Power consumption
- Run: 89 μA/MHz (peripheral off)
- Stop (Flash in Stop mode, fast wakeup time): 40 μA Typ @ 25 °C; 49 μA max @25 °C
- Stop (Flash in Deep power down mode, fast wakeup time): down to 6 μA @ 25 °C; 14 μA max @25 °C
- Standby: 2.4 μA @25 °C / 1.7 V without RTC; 12 μA @85 °C @1.7 V
- VBATsupply for RTC: 1 μA @25 °C
- 1×12-bit, 2.4 MSPS ADC: up to 16 channels
- 1×12-bit D/A converter
- General-purpose DMA: 16-stream DMA controllers with FIFOs and burst support
- Up to 9 timers
- One 16-bit advanced motor-control timer
- One low-power timer (available in Stop mode)
- Three 16-bit general purpose timers
- One 32-bit timer up to 100 MHz with up to four IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
- Two watchdog timers (independent window)
- SysTick timer
![board](figures/board.png)
- Debug mode
- Serial wire debug (SWD) & JTAG interfaces
- Cortex®-M4 Embedded Trace Macrocell™
- Up to 50 I/O ports with interrupt capability
- Up to 45 fast I/Os up to 100 MHz
- Up to 49 5 V-tolerant I/Os
- Up to 9 communication interfaces
- Up to 3x I2C interfaces (SMBus/PMBus) including 1x I2C Fast-mode at 1 MHz
- Up to 3 USARTs (2 x 12.5 Mbit/s, 1 x 6.25 Mbit/s), ISO 7816 interface, LIN, IrDA, modem control)
- Up to 3 SPI/I2Ss (up to 50 Mbit/s SPI or I2S audio protocol)
| [STM32_Nucleo-64_BSP_Introduction](../docs/STM32_Nucleo-64_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-64 boards (**Must-Read**) |
| [STM32F410RB ST Official Website](https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f4-series/stm32f410/stm32f410rb.html#documentation) | STM32F410RB datasheet and other resources |