1# STM32 Nucleo-144 BSP Introduction 2 3This document records the instruction of the BSP (board support package) that provided by the RT-Thread development team for the STM32 Nucleo-144 development boards. 4 5The document is covered in three parts: 6 7- Resources Introduction 8- Quickly Get Started 9- Advanced Features 10 11By 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. 12 13 14 15## Resources Introduction 16 17[<img src="figures_en/stm32-nucleo-144.png" alt="board" style="zoom:50%;" />](figures/stm32-nucleo-144.jpg) 18 19### Description 20 21The STM32 Nucleo-144 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 internal or external SMPS significantly reduces power consumption in Run mode. The ST Zio connector, which extends the ARDUINO® Uno V3 connectivity, and the ST morpho headers provide an easy means of expanding the functionality of the Nucleo open development platform with a wide choice of specialized shields. The STM32 Nucleo-144 board does not require any separate probe as it integrates the ST-LINK debugger/programmer. The STM32 Nucleo-144 board comes with the STM32 comprehensive free software libraries and examples available with the STM32Cube MCU Package. 22 23### Features 24 25- Common features 26 - STM32 microcontroller in LQFP144 package 27 - 3 user LEDs 28 - 2 user and reset push-buttons 29 - 32.768 kHz crystal oscillator 30 - Board connectors: 31 - SWD 32 - ST Zio expansion connector including ARDUINO® Uno V3 33 - ST morpho expansion connector 34 - Flexible power-supply options: ST-LINK, USB VBUS or external sources 35 - On-board ST-LINK debugger/programmer with USB re-enumeration capability: mass storage, Virtual COM port, and debug port 36 - Comprehensive free software libraries and examples available with the STM32Cube MCU Package 37 - Support of a wide choice of Integrated Development Environments (IDEs) including IAR™, Keil®, and STM32CubeIDE 38- Board-specific features 39 - External or internal SMPS to generate Vcore logic supply 40 - Ethernet compliant with IEEE-802.3-2002 41 - USB OTG full speed or device only 42 - Board connectors: 43 - USB with Micro-AB or USB Type-C™ 44 - Ethernet RJ45 45 - Arm® Mbed Enabled™ compliant 46 47### **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).** 48 49 50 51## Quickly Get Started 52 53This 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. 54 55 56 57### Hardware connection 58 59Use 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. 60 61### Compile and Download 62 63- Double-click the `project.uvprojx` file to open the MDK-Keil5 project (**NOT** `template.uvprojx` file) 64- Click the “option for target” button 65 - Debug: Choose "ST-LINK Debugger" and Click "Setting" button: 66 - Port: choose "SW (Serial Wire)" 67 - Flash Download: check "Reset and Run" 68 69- Compile and download the program to the board 70 71### Running Results 72 73After the program is successfully downloaded, the system runs automatically. Observe the running results of the LED on the development board, the LD3 and LD1 will light all the time, and LD2 will flash periodically. 74 75The USB virtual COM port connects to **USART3 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: 76 77```shell 78 \ | / 79- RT - Thread Operating System 80 / | \ 4.0.0 build Dec 21 2018 81 2006 - 2018 Copyright by rt-thread team 82msh > 83``` 84 85### Terminal tool - PuTTy 86 87If you don't have a terminal tool software available, you can download *PuTTy*: 88 89> https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 90 91 92 93 94 95Follow these tutorial videos to learn PuTTy: 96 97> https://www.youtube.com/watch?v=ab4ilbsteWU 98> 99> https://www.youtube.com/watch?v=dO-BMOzNKcI 100 101 102 103## Advanced Features 104 105This BSP only enables GPIO and USART3 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: 106 1071. Open the Env tool under the specific BSP folder; 1082. Enter `menuconfig` command to configure the project, then save and exit; 1093. Enter `pkgs --update` command to update the package; 1104. Enter `scons --target=mdk4/mdk5/iar` command to regenerate the project. 111 112Learn how to use RT-Thread Env, click [Here](https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md). 113 114 115 116## Translated & Maintained By 117 118Cathy Lee @ RT-Thread Team 119 120> https://github.com/Cathy-lulu 121> 122> contact@rt-thread.org 123 124Meco Man @ RT-Thread Community 125 126> jiantingman@foxmail.com 127> 128> https://github.com/mysterywolf