1.. _nucleo_l4a6zg_board: 2 3ST Nucleo L4A6ZG 4################ 5 6Overview 7******** 8 9The Nucleo L4A6ZG board features an ARM Cortex-M4 based STM32L4A6ZG MCU 10with a wide range of connectivity support and configurations. Here are 11some highlights of the Nucleo L4A6ZG board: 12 13 14- STM32 microcontroller in QFP144 package 15- USB OTG FS with Micro-AB connector 16- Two types of extension resources: 17 18 - Arduino Uno V3 connectivity 19 - ST morpho extension pin headers for full access to all STM32 I/Os 20 21- On-board ST-LINK/V2-1 debugger/programmer with SWD connector 22- Flexible board power supply: 23 24 - USB VBUS or external source(3.3V, 5V, 7 - 12V) 25 - Power management access point 26 27- 8 LEDs: user LEDs (LD1, LD2, LD3), communication LED (LD4), USB 28 power fault(LD5), power LED (LD6), USB FS OTG (LD7, LD8) 29- 2 push buttons: USER and RESET 30 31.. image:: ../../nucleo_l496zg/doc/img/nucleo_l496zg.jpg 32 :align: center 33 :alt: Nucleo L4A6ZG 34 35More information about the board can be found at the `Nucleo L4A6ZG website`_. 36 37Hardware 38******** 39 40The STM32L4A6ZG SoC provides the following hardware capabilities: 41 42- Ultra-low-power with FlexPowerControl (down to 108 nA Standby mode and 91 uA/MHz run mode) 43- Core: ARM |reg| 32-bit Cortex |reg|-M4 CPU with FPU, frequency up to 80 MHz, 100DMIPS/1.25DMIPS/MHz (Dhrystone 2.1) 44- Clock Sources: 45 46 - 4 to 48 MHz crystal oscillator 47 - 32 kHz crystal oscillator for RTC (LSE) 48 - Internal 16 MHz factory-trimmed RC ( |plusminus| 1%) 49 - Internal low-power 32 kHz RC ( |plusminus| 5%) 50 - Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by 51 LSE (better than |plusminus| 0.25 % accuracy) 52 - 3 PLLs for system clock, USB, audio, ADC 53 54- RTC with HW calendar, alarms and calibration 55- LCD 8 x 40 or 4 x 44 with step-up converter 56- Up to 24 capacitive sensing channels: support touchkey, linear and rotary touch sensors 57- 16x timers: 58 59 - 2x 16-bit advanced motor-control 60 - 2x 32-bit and 5x 16-bit general purpose 61 - 2x 16-bit basic 62 - 2x low-power 16-bit timers (available in Stop mode) 63 - 2x watchdogs 64 - SysTick timer 65 66- Up to 136 fast I/Os, most 5 V-tolerant, up to 14 I/Os with independent supply down to 1.08 V 67- Memories 68 69 - Up to 1 MB Flash, 2 banks read-while-write, proprietary code readout protection 70 - Up to 320 KB of SRAM including 64 KB with hardware parity check 71 - External memory interface for static memories supporting SRAM, PSRAM, NOR and NAND memories 72 - Quad SPI memory interface 73 74- 4x digital filters for sigma delta modulator 75- Rich analog peripherals (independent supply) 76 77 - 3x 12-bit ADC 5 MSPS, up to 16-bit with hardware oversampling, 200 uA/MSPS 78 - 2x 12-bit DAC, low-power sample and hold 79 - 2x operational amplifiers with built-in PGA 80 - 2x ultra-low-power comparators 81 82- 20x communication interfaces 83 84 - USB OTG 2.0 full-speed, LPM and BCD 85 - 2x SAIs (serial audio interface) 86 - 4x I2C FM+(1 Mbit/s), SMBus/PMBus 87 - 5x U(S)ARTs (ISO 7816, LIN, IrDA, modem) 88 - 1x LPUART 89 - 3x SPIs (4x SPIs with the Quad SPI) 90 - 2x CAN (2.0B Active) and SDMMC interface 91 - SWPMI single wire protocol master I/F 92 - IRTIM (Infrared interface) 93 94- 14-channel DMA controller 95- True random number generator 96- CRC calculation unit, 96-bit unique ID 97- AES and HASH hardware accelerators 98- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade| 99 100 101More information about STM32L4A6ZG can be found here: 102 103- `STM32L4A6ZG on www.st.com`_ 104- `STM32L4A6 reference manual`_ 105 106Supported Features 107================== 108 109The Zephyr nucleo_l4a6zg board configuration supports the following hardware features: 110 111+-----------+------------+-------------------------------------+ 112| Interface | Controller | Driver/Component | 113+===========+============+=====================================+ 114| AES | on-chip | crypto | 115+-----------+------------+-------------------------------------+ 116| FLASH | on-chip | flash memory | 117+-----------+------------+-------------------------------------+ 118| GPIO | on-chip | gpio | 119+-----------+------------+-------------------------------------+ 120| I2C | on-chip | i2c | 121+-----------+------------+-------------------------------------+ 122| NVIC | on-chip | nested vector interrupt controller | 123+-----------+------------+-------------------------------------+ 124| PINMUX | on-chip | pinmux | 125+-----------+------------+-------------------------------------+ 126| PWM | on-chip | pwm | 127+-----------+------------+-------------------------------------+ 128| RTC | on-chip | rtc | 129+-----------+------------+-------------------------------------+ 130| SPI | on-chip | spi | 131+-----------+------------+-------------------------------------+ 132| UART | on-chip | serial port-polling; | 133| | | serial port-interrupt | 134+-----------+------------+-------------------------------------+ 135| WATCHDOG | on-chip | System Window Watchdog | 136+-----------+------------+-------------------------------------+ 137 138Other hardware features are not yet supported on this Zephyr port. 139 140The default configuration can be found in the defconfig file: 141``boards/arm/nucleo_l4a6zg/nucleo_l4a6zg_defconfig`` 142 143 144Connections and IOs 145=================== 146 147Nucleo L4A6ZG Board has 8 GPIO controllers. These controllers are responsible for pin muxing, 148input/output, pull-up, etc. 149 150For mode details please refer to `STM32 Nucleo-144 board User Manual`_. 151 152Default Zephyr Peripheral Mapping: 153---------------------------------- 154 155- LPUART_1 TX/RX : PG7/PG8 (ST-Link Virtual COM Port) 156- UART_3 TX/RX : PD8/PD9 (Arduino Serial) 157- I2C_1 SCL/SDA : PB8/PB7 (Arduino I2C) 158- SPI_1 SCK/MISO/MOSI/NSS : PA5/PA6/PA7/PD14 (Arduino SPI) 159- USER_PB : PC13 160- PWM_15_CH1 : PB14 (Red LED) 161- LD1 : PC7 (Green LED) 162- LD2 : PB7 (Blue LED) 163- LD3 : PB14 (Red LED) 164 165System Clock 166------------ 167 168Nucleo L4A6ZG system clock could be driven by internal or external oscillator, 169as well as main PLL clock. By default, system clock is driven by PLL at 80MHz, which is 170driven by 16MHz high speed internal oscillator (HSI). High speed external oscillator 171(HSE) is not soldered on the board, so it cannot be used to drive the PLL. 172 173Serial Port 174----------- 175 176Nucleo L4A6ZG board has 5 UARTs. The Zephyr console output is assigned to LPUART1, 177which is connected to the onboard ST-LINK/V2-1. Virtual COM port interface. 178Default settings are 115200 8N1. 179 180 181Programming and Debugging 182************************* 183 184Applications for the ``nucleo_l4a6zg`` board configuration can be built and 185flashed in the usual way (see :ref:`build_an_application` and 186:ref:`application_run` for more details). 187 188Flashing 189======== 190 191Nucleo L4A6ZG board includes an ST-LINK/V2-1 embedded debug tool 192interface. This interface is supported by the OpenOCD version 193included in the Zephyr SDK since v0.9.5. 194 195Flashing an application to Nucleo L4A6ZG 196---------------------------------------- 197 198Connect the Nucleo L4A6ZG to your host computer using the ST-LINK USB port. 199Then build and flash an application. Here is an example for the 200:ref:`hello_world` application. 201 202Run a serial host program to connect with your Nucleo board: 203 204.. code-block:: console 205 206 $ minicom -D /dev/ttyUSB0 207 208Then build and flash the application. 209 210.. zephyr-app-commands:: 211 :zephyr-app: samples/hello_world 212 :board: nucleo_l4a6zg 213 :goals: build flash 214 215You should see the following message on the console: 216 217.. code-block:: console 218 219 Hello World! nucleo_l4a6zg 220 221Debugging 222========= 223 224You can debug an application in the usual way. Here is an example for the 225:ref:`hello_world` application. 226 227.. zephyr-app-commands:: 228 :zephyr-app: samples/hello_world 229 :board: nucleo_l4a6zg 230 :maybe-skip-config: 231 :goals: debug 232 233.. _Nucleo L4A6ZG website: 234 https://www.st.com/en/evaluation-tools/nucleo-l4a6zg.html 235 236.. _STM32 Nucleo-144 board User Manual: 237 https://www.st.com/resource/en/user_manual/dm00368330.pdf 238 239.. _STM32L4A6ZG on www.st.com: 240 https://www.st.com/en/microcontrollers-microprocessors/stm32l4a6zg.html 241 242.. _STM32L4A6 reference manual: 243 https://www.st.com/resource/en/reference_manual/dm00083560.pdf 244