| 1 | STMicroelectronics STM32 boards (``netduino2``, ``netduinoplus2``, ``olimex-stm32-h405``, ``stm32vldiscovery``) |
| 2 | =============================================================================================================== |
| 3 | |
| 4 | The `STM32`_ chips are a family of 32-bit Arm-based microcontrollers by |
| 5 | STMicroelectronics. |
| 6 | |
| 7 | .. _STM32: https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html |
| 8 | |
| 9 | The STM32F1 series is based on an Arm Cortex-M3 core. The following machines are |
| 10 | based on this chip : |
| 11 | |
| 12 | - ``stm32vldiscovery`` STM32VLDISCOVERY board with STM32F100RBT6 microcontroller |
| 13 | |
| 14 | The STM32F2 series is based on an Arm Cortex-M3 core. The following machines are |
| 15 | based on this chip : |
| 16 | |
| 17 | - ``netduino2`` Netduino 2 board with STM32F205RFT6 microcontroller |
| 18 | |
| 19 | The STM32F4 series is based on an Arm Cortex-M4F core, as well as the STM32L4 |
| 20 | ultra-low-power series. The STM32F4 series is pin-to-pin compatible with STM32F2 series. |
| 21 | The following machines are based on this Arm Cortex-M4F chip : |
| 22 | |
| 23 | - ``netduinoplus2`` Netduino Plus 2 board with STM32F405RGT6 microcontroller |
| 24 | - ``olimex-stm32-h405`` Olimex STM32 H405 board with STM32F405RGT6 microcontroller |
| 25 | - ``b-l475e-iot01a`` :doc:`B-L475E-IOT01A IoT Node </system/arm/b-l475e-iot01a>` board with STM32L475VG microcontroller |
| 26 | |
| 27 | There are many other STM32 series that are currently not supported by QEMU. |
| 28 | |
| 29 | Supported devices |
| 30 | ----------------- |
| 31 | |
| 32 | * Arm Cortex-M3, Cortex-M4F |
| 33 | * Analog to Digital Converter (ADC) |
| 34 | * EXTI interrupt |
| 35 | * Serial ports (USART) |
| 36 | * SPI controller |
| 37 | * System configuration (SYSCFG) |
| 38 | * Timer controller (TIMER) |
| 39 | * Reset and Clock Controller (RCC) (STM32F4 only, reset and enable only) |
| 40 | |
| 41 | Missing devices |
| 42 | --------------- |
| 43 | |
| 44 | * Camera interface (DCMI) |
| 45 | * Controller Area Network (CAN) |
| 46 | * Cycle Redundancy Check (CRC) calculation unit |
| 47 | * Digital to Analog Converter (DAC) |
| 48 | * DMA controller |
| 49 | * Ethernet controller |
| 50 | * Flash Interface Unit |
| 51 | * GPIO controller |
| 52 | * I2C controller |
| 53 | * Inter-Integrated Sound (I2S) controller |
| 54 | * Power supply configuration (PWR) |
| 55 | * Random Number Generator (RNG) |
| 56 | * Real-Time Clock (RTC) controller |
| 57 | * Reset and Clock Controller (RCC) (other features than reset and enable) |
| 58 | * Secure Digital Input/Output (SDIO) interface |
| 59 | * USB OTG |
| 60 | * Watchdog controller (IWDG, WWDG) |
| 61 | |
| 62 | Boot options |
| 63 | ------------ |
| 64 | |
| 65 | The STM32 machines can be started using the ``-kernel`` option to load a |
| 66 | firmware. Example: |
| 67 | |
| 68 | .. code-block:: bash |
| 69 | |
| 70 | $ qemu-system-arm -M stm32vldiscovery -kernel firmware.bin |