1.. zephyr:board:: steval_fcu001v1 2 3Overview 4******** 5 6The STEVAL-FCU001V1 is a Cortex M4 MCU-based flight controller unit for toy quad-copter drones. 7 8Hardware 9******** 10 11STM32 Flight Controller Unit provides the following hardware components: 12 13- STM32F401CC in UFQFPN48 package 14- ARM |reg| 32-bit Cortex |reg|-M4 MCU with FPU 15- 84MHz max MCU frequency 16- VDD from 1.7 V to 3.6 V 17- 256 KB FLASH 18- 64 KB SRAM 19- General Purpose Timers 20- Watchdog Timers (2) 21- On board sensors: 22 23 - 3D Accelerometer and 3D Gyroscope: LSM6DSL 24 - 3D Magnetometer: LIS2MDL 25 - MEMS Pressure sensor: LPS22HD 26 27- 2 User LEDS 28- USART/UART (1) 29- I2C (1) 30- Bluetooth LE over SPI 31 32More information about the STM32 Flight Controller Unit 33can be found in these documents: 34 35- `STEVAL_FCU001V1 website`_ 36- `STM32F401 reference manual`_ 37- `STM32F401CC on www.st.com`_ 38 39Supported Features 40================== 41 42The Zephyr steval_fcu001v1 board configuration supports the following hardware features: 43 44+-----------+------------+------------------------------------+ 45| Interface | Controller | Driver/Component | 46+===========+============+====================================+ 47| NVIC | on-chip | nested vector interrupt controller | 48+-----------+------------+------------------------------------+ 49| UART | on-chip | serial port-polling; | 50| | | serial port-interrupt | 51+-----------+------------+------------------------------------+ 52| PINMUX | on-chip | pinmux | 53+-----------+------------+------------------------------------+ 54| GPIO | on-chip | gpio | 55+-----------+------------+------------------------------------+ 56| PWM | on-chip | pwm | 57+-----------+------------+------------------------------------+ 58| I2C | on-chip | i2c | 59+-----------+------------+------------------------------------+ 60 61 62The default configuration can be found in 63:zephyr_file:`boards/st/steval_fcu001v1/steval_fcu001v1_defconfig` 64 65Default Zephyr Peripheral Mapping: 66---------------------------------- 67 68- UART_1 TX/RX : PA9/PA10 69- I2C2 SCL/SDA : PB10/PB3 70- PWM_2_CH1 : PA0 71- LD1 : PB5 72- LD2 : PB4 73 74System Clock 75============ 76 77The steval_fcu001v1 system clock can be driven by an internal or external oscillator, 78as well as by the main PLL clock. By default, the system clock is driven by the PLL clock at 84MHz, 79driven by a 16MHz high-speed external clock. 80 81Serial Port 82=========== 83 84The steval_fcu001v1 board has one UART. The Zephyr console output is assigned to UART1. 85Default settings are 115200 8N1. 86 87I2C 88=== 89 90The steval_fcu001v1 board has one I2C. The default I2C mapping for Zephyr is: 91 92- I2C2_SCL : PB10 93- I2C2_SDA : PB3 94 95Programming and Debugging 96************************* 97 98Applications for the ``steval_fcu001v1`` board configuration can be built and 99flashed in the usual way (see :ref:`build_an_application` and 100:ref:`application_run` for more details). 101 102Flashing 103======== 104 105Flashing Zephyr onto the steval_fcu001v1 board requires an external ST-LINK/V2-1 programmer. 106The programmer is attached to the P8 programming header with ARM-JTAG-20-10-Plug-in Adapter. 107 108Flashing an application to STEVAL_FCU001V1 109------------------------------------------ 110 111Connect the FT232-to-USB port to host system, and RX, TX, Gnd pins to 112the P7 header of the steval_fcu001v1 board. Then run a serial host 113program to connect with your steval_fcu001v1 via the FT232 board: 114 115.. code-block:: console 116 117 $ minicom -D /dev/ttyUSB0 118 119Now build and flash an application. Here is an example for :zephyr:code-sample:`hello_world` 120 121.. zephyr-app-commands:: 122 :zephyr-app: samples/hello_world 123 :board: steval_fcu001v1 124 :goals: build flash 125 126You should see the following message on the console: 127 128.. code-block:: console 129 130 Hello World! steval_fcu001v1 131 132Debugging 133========= 134 135You can debug an application in the usual way. Here is an example for the 136:zephyr:code-sample:`hello_world` application. 137 138.. zephyr-app-commands:: 139 :zephyr-app: samples/hello_world 140 :board: steval_fcu001v1 141 :maybe-skip-config: 142 :goals: debug 143 144.. _STEVAL_FCU001V1 website: 145 https://www.st.com/en/evaluation-tools/steval-fcu001v1.html 146 147.. _STM32F401CC on www.st.com: 148 https://www.st.com/en/microcontrollers-microprocessors/stm32f401cc.html 149 150.. _STM32F401 reference manual: 151 https://www.st.com/resource/en/reference_manual/dm00096844.pdf 152