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