1.. zephyr:board:: stm3210c_eval
2
3Overview
4********
5The STM3210C-EVAL evaluation board is a complete development platform for STMicroelectronic's
6ARM Cortex-M3 core-based STM32F107VCT microcontroller.
7
8The range of hardware features on the board help you to evaluate all peripherals
9(USB-OTG FS, ethernet, motor control, CAN, microSD CardTM, smartcard, USART,
10audio DAC, MEMS, EEPROM and more) and develop your own applications.
11
12Extension headers make it easy to connect a daughterboard or wrapping board for your specific
13application.
14
15More information about the board can be found at the `STM3210C-EVAL website`_.
16
17Hardware
18********
19
20STM3210C-EVAL provides the following hardware components:
21
22- Three 5 V power supply options:
23    - Power jack
24    - USB connector
25    - daughterboard
26- Boot from user Flash, system memory or SRAM.
27- I2S audio DAC, stereo audio jack.
28- 2 GByte (or more) microSD CardTM.
29- Both type A and B smartcard support.
30- I2C compatible serial interface 64 Kbit EEPROM, MEMS and I/O expander.
31- RS-232 communication.
32- IrDA transceiver.
33- USB-OTG full speed, USB microAB connector.
34- IEEE-802.3-2002 compliant ethernet connector.
35- Two channels of CAN2.0A/B compliant connection.
36- Inductor motor control connector.
37- JTAG and trace debug support.
38- 3.2" 240x320 TFT color LCD with touch screen.
39- Joystick with 4-direction control and selector.
40- Reset, Wakeup, Tamper and User button.
41- 4 color LEDs.
42- RTC with backup battery.
43- MCU consumption measurement circuit.
44- Extension connector for daughterboard or wrapping board.
45
46More information about STM32F107VCT can be found here:
47       - `STM32F107VCT reference manual`_
48
49
50Supported Features
51==================
52
53The Zephyr stm3210c_eval board configuration supports the following hardware features:
54
55+-----------+------------+-------------------------------------+
56| Interface | Controller | Driver/Component                    |
57+===========+============+=====================================+
58| NVIC      | on-chip    | nested vector interrupt controller  |
59+-----------+------------+-------------------------------------+
60| UART      | on-chip    | serial port-polling;                |
61|           |            | serial port-interrupt               |
62+-----------+------------+-------------------------------------+
63| PINMUX    | on-chip    | pinmux                              |
64+-----------+------------+-------------------------------------+
65| GPIO      | on-chip    | gpio                                |
66+-----------+------------+-------------------------------------+
67| CLOCK     | on-chip    | reset and clock control             |
68+-----------+------------+-------------------------------------+
69| FLASH     | on-chip    | flash memory                        |
70+-----------+------------+-------------------------------------+
71| WATCHDOG  | on-chip    | independent watchdog                |
72+-----------+------------+-------------------------------------+
73
74Other hardware features are not yet supported in this Zephyr port.
75
76The default configuration can be found in
77:zephyr_file:`boards/st/stm3210c_eval/stm3210c_eval_defconfig`.
78
79Connections and IOs
80===================
81
82Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as
83input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the
84GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current
85capable except for analog inputs.
86
87Board connectors:
88-----------------
89.. image:: img/stm3210c_eval_connectors.jpg
90     :align: center
91     :alt: STM3210C_EVAL connectors
92
93Default Zephyr Peripheral Mapping:
94----------------------------------
95- UART_2_TX : PD5
96- UART_2_RX : PD6
97- USER_PB   : PB9
98- LED2      : PD13
99
100Programming and Debugging
101*************************
102
103Flashing
104========
105
106STM3210C-EVAL board includes an ST-LINK/V2-1 embedded debug tool interface.
107At power-on, the board is in firmware-upgrade mode (also called DFU for
108"Device Firmware Upgrade"), allowing the firmware to be updated through the USB.
109This interface is supported by the openocd version included in Zephyr SDK.
110
111Applications for the ``stm3210c_eval`` board configuration can be built and
112flashed in the usual way (see :ref:`build_an_application` and
113:ref:`application_run` for more details).
114
115Flashing an application to STM3210C-EVAL
116----------------------------------------
117
118Connect the STM3210C-EVAL to your host computer using the USB port, then build
119and flash an application in the usual way.
120
121Here is an example for the :zephyr:code-sample:`blinky` application.
122
123.. zephyr-app-commands::
124   :zephyr-app: samples/basic/blinky
125   :board: stm3210c_eval
126   :goals: build flash
127
128You will see the LED blinking every second.
129
130Debugging
131=========
132
133You can run a serial host program to connect with your STM3210C-EVAL board. For
134example, on Linux:
135
136.. code-block:: console
137
138   $ minicom -D /dev/ttyACM0
139
140You can debug an application in the usual way.  Here is an example for the
141:zephyr:code-sample:`hello_world` application.
142
143.. zephyr-app-commands::
144   :zephyr-app: samples/hello_world
145   :board: stm3210c_eval
146   :maybe-skip-config:
147   :goals: debug
148
149References
150**********
151
152.. target-notes::
153
154.. _STM3210C-EVAL website:
155   https://www.st.com/en/evaluation-tools/stm3210c-eval.html
156
157.. _STM32F107VCT reference manual:
158   https://www.st.com/resource/en/reference_manual/CD00171190.pdf
159