README ====== This README discusses issues unique to NuttX configurations for the STMicro Nucleo-64 board family Contents ======== - Nucleo-64 Boards - Nucleo-F303RE - Nucleo-F334R8 - Nucleo-L476RG - Development Environment - Basic configuaration & build steps - Hardware - Button - LED - U[S]ARTs and Serial Consoles - SPI - SDIO - MMC - Configurations Nucleo-64 Boards: ================= The Nucleo-64 is a standard board for use with several STM32 parts in the LQFP64 package. Variants include Order code Targeted STM32 ------------- -------------- NUCLEO-F030R8 STM32F030R8T6 NUCLEO-F070RB STM32F070RBT6 NUCLEO-F072RB STM32F072RBT6 NUCLEO-F091RC STM32F091RCT6 NUCLEO-F103RB STM32F103RBT6 NUCLEO-F302R8 STM32F302R8T6 NUCLEO-F303RE STM32F303RET6 NUCLEO-F334R8 STM32F334R8T6 NUCLEO-F401RE STM32F401RET6 NUCLEO-F410RB STM32F410RBT6 NUCLEO-F411RE STM32F411RET6 NUCLEO-F446RE STM32F446RET6 NUCLEO-L053R8 STM32L053R8T6 NUCLEO-L073RZ STM32L073RZT6 NUCLEO-L152RE STM32L152RET6 NUCLEO-L452RE STM32L452RET6 NUCLEO-L476RG STM32L476RGT6 This directory is intended to support all Nucleo-64 variants since the boards are identical, differing only in the installed part. This common board design provides uniformity in the documentation from ST and should allow us to quickly change configurations by just cloning a configuration and changing the CPU choice and board initialization. Unfortunately for the developer, the CPU specific information must be extracted from the common information in the documentation. Please read the User Manaul UM1727: Getting started with STM32 Nucleo board software development tools and take note of the Powering options for the board (6.3 Power supply and power selection) and the Solder bridges based hardware configuration changes that are configurable (6.11 Solder bridges). Common Board Features: --------------------- The STM32 Nucleo board offers the following features: - STM32 microcontroller in LQFP64 package - Two types of extension resources Arduino™ Uno V3 connectivity ST morpho extension pin headers for full access to all STM32 I/Os - ARM® mbed™ (see http://mbed.org) - On-board ST-LINK/V2-1 debugger and programmer with SWD connector Selection-mode switch to use the kit as a standalone ST-LINK/V2-1 - Flexible board power supply: USB VBUS or external source (3.3V, 5V, 7 - 12V) Power management access point - Three LEDs: USB communication (LD1), user LED (LD2), power LED (LD3) - Two push-buttons: USER and RESET - USB re-enumeration capability. Three different interfaces supported on USB: Virtual COM port Mass storage Debug port - Comprehensive free software HAL library including a variety of software examples Peripherals: 8 leds, 2 push button (3 LEDs, 1 button) under software control Debug: STLINK/V2-1 debugger/programmer Uses a STM32F103CB to provide a ST-Link for programming, debug similar to the OpenOcd FTDI function - USB to JTAG front-end. Expansion I/F: ST Zio and Extended Ardino and Morpho Headers Nucleo-F303RE ============= Nucleo-F334R8 ============= Nucleo-L476RG ============= Development Environment ======================= Either Linux or Cygwin on Windows can be used for the development environment. The source has been built only using the GNU toolchain (see below). Other toolchains will likely cause problems. All testing has been conducted using the GNU toolchain from ARM for Linux. found here https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2 If you change the default toolchain, then you may also have to modify the PATH in the setenv.h file if your make cannot find the tools. Basic configuration & build steps ================================== A GNU GCC-based toolchain is assumed. The files */setenv.sh should be modified to point to the correct path to the Cortex-M4 GCC toolchain (if different from the default in your PATH variable). - Configures nuttx creating .config file in the nuttx directory. cd tools && ./configure.sh nucleo-f746zg/nsh && cd .. - Refreshes the .config file with the latest available configurations. make oldconfig - Select the features you want in the build. make menuconfig - Builds Nuttx with the features you selected. make Hardware ======== Serial Console ============== Configurations ==============