|
@@ -1,113 +1,104 @@
|
|
|
-# NUCLEO-L476RG 开发板的 BSP 说明
|
|
|
-
|
|
|
-## 简介
|
|
|
-
|
|
|
-本文档为 ST 官方 (64)NUCLEO-L476RG 开发板的 BSP (板级支持包) 说明。
|
|
|
-
|
|
|
-主要内容如下:
|
|
|
-
|
|
|
-- 开发板资源介绍
|
|
|
-- BSP 快速上手
|
|
|
-- 进阶使用方法
|
|
|
-
|
|
|
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
|
|
|
-
|
|
|
-## 开发板介绍
|
|
|
-
|
|
|
-对于 NUCLEO-L476RG,内核是 Cortex-M4,绿色的 Nucleo 标志显示了这款芯片是低功耗系列,板载 ST-LINK/V2-1 调试器/编程器,迷你尺寸,mirco USB 接口,可数的外设,Arduino™ nano 兼容的接口。
|
|
|
-
|
|
|
-开发板外观如下图所示:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-该开发板常用 **板载资源** 如下:
|
|
|
-
|
|
|
-- MCU:STM32L476RG,主频 80MHz,1024KB FLASH ,128KB RAM(96+32)。
|
|
|
-- 常用外设
|
|
|
- - LED:3个,USB communication(LD1 双色),power LED(LD3 红色),user LED(LD2 黄绿色)
|
|
|
- - 按键:1个,复位按键(B1)。
|
|
|
-- 常用接口:USB 支持 3 种不同接口:虚拟 COM 端口、大容量存储和调试端口。
|
|
|
-- 调试接口:板载 ST-LINK/V2-1 调试器。
|
|
|
-
|
|
|
-开发板更多详细信息请参考【STMicroelectronics】 [NUCLEO-L476RG](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-l476rg.html)。
|
|
|
-
|
|
|
-## 外设支持
|
|
|
-
|
|
|
-本 BSP 目前对外设的支持情况如下:
|
|
|
-
|
|
|
-| **板载外设** | **支持情况** | **备注** |
|
|
|
-| :----------------- | :----------: | :------------------------------------- |
|
|
|
-| 板载 ST-LINK 转串口 | 支持 | UART2 |
|
|
|
-| **片上外设** | **支持情况** | **备注** |
|
|
|
-| GPIO | 支持 | |
|
|
|
-| UART | 支持 | UART2 |
|
|
|
-| IIC | 支持 | 软件模拟 |
|
|
|
-| RTC | 支持 | 支持外部晶振和内部低速时钟 |
|
|
|
-| SPI | 支持 | SPI1/2/3 |
|
|
|
-| ADC | 支持 | ADC1_IN1/ADC2_IN2/ADC3_IN3 |
|
|
|
-| TIME | 支持 | TIME15/16/17 |
|
|
|
-| **扩展模块** | **支持情况** | **备注** |
|
|
|
-
|
|
|
-## 使用说明
|
|
|
-
|
|
|
-使用说明分为如下两个章节:
|
|
|
-
|
|
|
-- 快速上手
|
|
|
-
|
|
|
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
|
|
-
|
|
|
-- 进阶使用
|
|
|
-
|
|
|
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
|
|
-
|
|
|
-
|
|
|
-### 快速上手
|
|
|
-
|
|
|
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
|
|
|
-
|
|
|
-#### 硬件连接
|
|
|
-
|
|
|
-使用数据线连接开发板到 PC,打开电源开关。
|
|
|
-
|
|
|
-#### 编译下载
|
|
|
-
|
|
|
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
|
|
|
-
|
|
|
-> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 microUSB 连接开发板的基础上,点击下载按钮即可下载程序到开发板
|
|
|
-
|
|
|
-#### 运行结果
|
|
|
-
|
|
|
-下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD1 和 LD3 常亮、黄绿色 LD2 会周期性闪烁。
|
|
|
-
|
|
|
-USB 虚拟 COM 端口默认连接串口 2,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
|
|
|
-
|
|
|
-```bash
|
|
|
- \ | /
|
|
|
-- RT - Thread Operating System
|
|
|
- / | \ 4.0.0 build Jan 9 2019
|
|
|
- 2006 - 2018 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)。
|
|
|
-
|
|
|
-## 注意事项
|
|
|
-
|
|
|
-- 开机时如果不能打印 RT-Thread 版本信息,请重新选择 PC 端串口调试软件的串口号或将 BSP 中串口的 GPIO 速率调低
|
|
|
-
|
|
|
-## 联系人信息
|
|
|
-
|
|
|
-维护人:
|
|
|
-
|
|
|
-- [GW] 邮箱:<gycgwzw@gmail.com>
|
|
|
+# STM32L476-Nucleo BSP Introduction
|
|
|
+
|
|
|
+[中文](README_zh.md)
|
|
|
+
|
|
|
+## MCU: STM32L476RG @80MHz, 1024KB FLASH, 128KB RAM
|
|
|
+
|
|
|
+The STM32L476xx devices are the ultra-low-power microcontrollers based on the high-performance Arm® Cortex®-M4 32-bit RISC core operating at a frequency of up to 80 MHz. The 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.
|
|
|
+
|
|
|
+The STM32L476xx devices embed high-speed memories (Flash memory up to 1 Mbyte, up to 128 Kbyte of SRAM), a flexible external memory controller (FSMC) for static memories (for devices with packages of 100 pins and more), a Quad SPI flash memories interface (available on all packages) and 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 STM32L476xx devices embed several protection mechanisms for embedded Flash memory and SRAM: readout protection, write protection, proprietary code readout protection and Firewall.
|
|
|
+The devices offer up to three fast 12-bit ADCs (5 Msps), two comparators, two operational amplifiers, two DAC channels, an internal voltage reference buffer, a low-power RTC, two general-purpose 32-bit timer, two 16-bit PWM timers dedicated to motor control, seven general-purpose 16-bit timers, and two 16-bit low-power timers. The devices support four digital filters for external sigma delta modulators (DFSDM).
|
|
|
+In addition, up to 24 capacitive sensing channels are available. The devices also embed an integrated LCD driver 8x40 or 4x44, with internal step-up converter.
|
|
|
+They also feature standard and advanced communication interfaces.
|
|
|
+The STM32L476xx operates in the -40 to +85 °C (+105 °C junction), -40 to +105 °C (+125 °C junction) and -40 to +125 °C (+130 °C junction) temperature ranges from a 1.71 to 3.6 V VDD power supply when using internal LDO regulator and a 1.05 to 1.32V VDD12 power supply when using external SMPS supply. A comprehensive set of power-saving modes allows the design of low-power applications.
|
|
|
+Some independent power supplies are supported: analog independent supply input for ADC, DAC, OPAMPs and comparators, 3.3 V dedicated supply input for USB and up to 14 I/Os can be supplied independently down to 1.08V. A VBAT input allows to backup the RTC and backup registers. Dedicated VDD12 power supplies can be used to bypass the internal LDO regulator when connected to an external SMPS.
|
|
|
+The STM32L476xx family offers six packages from 64-pin to 144-pin packages.
|
|
|
+
|
|
|
+#### KEY FEATURES
|
|
|
+
|
|
|
+- Ultra-low-power with FlexPowerControl
|
|
|
+ - 1.71 V to 3.6 V power supply
|
|
|
+ - -40 °C to 85/105/125 °C temperature range
|
|
|
+ - 300 nA in VBAT mode: supply for RTC and 32x32-bit backup registers
|
|
|
+ - 30 nA Shutdown mode (5 wakeup pins)
|
|
|
+ - 120 nA Standby mode (5 wakeup pins)
|
|
|
+ - 420 nA Standby mode with RTC
|
|
|
+ - 1.1 μA Stop 2 mode, 1.4 μA with RTC
|
|
|
+ - 100 μA/MHz run mode (LDO Mode)
|
|
|
+ - 39 μA/MHz run mode (@3.3 V SMPS Mode)
|
|
|
+ - Batch acquisition mode (BAM)
|
|
|
+ - 4 μs wakeup from Stop mode
|
|
|
+ - Brown out reset (BOR)
|
|
|
+ - Interconnect matrix
|
|
|
+- 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 80 MHz, MPU, 100DMIPS and DSP instructions
|
|
|
+- Performance benchmark
|
|
|
+ - 1.25 DMIPS/MHz (Drystone 2.1)
|
|
|
+ - 273.55 CoreMark® (3.42 CoreMark/MHz @ 80 MHz)
|
|
|
+- Energy benchmark
|
|
|
+ - 294 ULPMark™ CP score
|
|
|
+ - 106 ULPMark™ PP score
|
|
|
+- Clock Sources
|
|
|
+ - 4 to 48 MHz crystal oscillator
|
|
|
+ - 32 kHz crystal oscillator for RTC (LSE)
|
|
|
+ - Internal 16 MHz factory-trimmed RC (±1%)
|
|
|
+ - Internal low-power 32 kHz RC (±5%)
|
|
|
+ - Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by LSE (better than ±0.25 % accuracy)
|
|
|
+ - 3 PLLs for system clock, USB, audio, ADC
|
|
|
+- Up to 114 fast I/Os, most 5 V-tolerant, up to 14 I/Os with independent supply down to 1.08 V
|
|
|
+- RTC with HW calendar, alarms and calibration
|
|
|
+- LCD 8× 40 or 4× 44 with step-up converter
|
|
|
+- Up to 24 capacitive sensing channels: support touchkey, linear and rotary touch sensors
|
|
|
+- 16x timers: 2x 16-bit advanced motor-control, 2x 32-bit and 5x 16-bit general purpose, 2x 16-bit basic, 2x low-power 16-bit timers (available in Stop mode), 2x watchdogs, SysTick timer
|
|
|
+
|
|
|
+- Memories
|
|
|
+ - Up to 1 MB Flash, 2 banks read-while-write, proprietary code readout protection
|
|
|
+ - Up to 128 KB of SRAM including 32 KB with hardware parity check
|
|
|
+ - External memory interface for static memories supporting SRAM, PSRAM, NOR and NAND memories
|
|
|
+ - Quad SPI memory interface
|
|
|
+- 4x digital filters for sigma delta modulator
|
|
|
+- Rich analog peripherals (independent supply)
|
|
|
+ - 3x 12-bit ADC 5 Msps, up to 16-bit with hardware oversampling, 200 μA/Msps
|
|
|
+ - 2x 12-bit DAC output channels, low-power sample and hold
|
|
|
+ - 2x operational amplifiers with built-in PGA
|
|
|
+ - 2x ultra-low-power comparators
|
|
|
+- 20x communication interfaces
|
|
|
+ - USB OTG 2.0 full-speed, LPM and BCD
|
|
|
+ - 2x SAIs (serial audio interface)
|
|
|
+ - 3x I2C FM+(1 Mbit/s), SMBus/PMBus
|
|
|
+ - 5x USARTs (ISO 7816, LIN, IrDA, modem)
|
|
|
+ - 1x LPUART (Stop 2 wake-up)
|
|
|
+ - 3x SPIs (and 1x Quad SPI)
|
|
|
+ - CAN (2.0B Active) and SDMMC interface
|
|
|
+ - SWPMI single wire protocol master I/F
|
|
|
+ - IRTIM (Infrared interface)
|
|
|
+- 14-channel DMA controller
|
|
|
+- True random number generator
|
|
|
+- CRC calculation unit, 96-bit unique ID
|
|
|
+- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell™
|
|
|
+- All packages are ECOPACK2® compliant
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## 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**) |
|
|
|
+| [STM32L476RG ST Official Website](https://www.st.com/en/microcontrollers-microprocessors/stm32l476rg.html#documentation) | STM32L476RG datasheet and other resources |
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Maintained By
|
|
|
+
|
|
|
+<gycgwzw@gmail.com>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Translated By
|
|
|
+
|
|
|
+Meco Man @ RT-Thread Community
|
|
|
+
|
|
|
+> jiantingman@foxmail.com
|
|
|
+>
|
|
|
+> https://github.com/mysterywolf
|