boards/olimex/stm32_h103/doc/index.html · boards/olimex/stm32_h103/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · OLIMEX · STM32F1

OLIMEX-STM32-H103

STM32F103RBT6의 모든 pin을 두 개의 26-pin connector로 노출한 Cortex-M3 development board입니다.

Official pathboards/olimex/stm32_h103/doc/index.html
Source fileboards/olimex/stm32_h103/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

지원 기능 9종, connector 45행, USB power/disconnect 제어와 ST-Link·Olimex·Black Magic probe 선택을 설명합니다.

MCU

STM32F103RBT6 · Cortex-M3

Console

UART2 · 115200 8N1

Debug

JTAG · SWD · external probe

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 2227C46605121D60D4287BB1A111F40068F80C25DD3A357CB5A5FBE731AE133C
.. _olimex_stm32_h103:

OLIMEX-STM32-H103
#################

Overview
********

The OLIMEX-STM32-H103 is a simple development board based on the
STMicroelectronics STM32F103RBT6 ARM Cortex-M3 CPU, with all the MCU pins
populated and accessible through two male 26-pin connectors.

.. figure:: ../../../../../../../boards/olimex/stm32_h103/doc/img/olimex_stm32_h103_top.jpg
   :align: center
   :alt: OLIMEX-STM32-H103 top

.. figure:: ../../../../../../../boards/olimex/stm32_h103/doc/img/olimex_stm32_h103_bottom.jpg
   :align: center
   :alt: OLIMEX-STM32-H103 bottom

   OLIMEX-STM32-H103

Hardware
********

Information about the board can be found at the
`OLIMEX-STM32-H103 website`_ and `OLIMEX-STM32-H103 user manual`_.
The `OLIMEX-STM32-H103 schematic`_ is also available.

The `ST STM32F103RB Datasheet`_ contains the processor's
information and the datasheet.

Supported Features
==================

The OLIMEX STM32-H103 supports the following hardware features:

+-----------+------------+----------------------+
| Interface | Controller | Driver/Component     |
+===========+============+======================+
| NVIC      | on-chip    | nested vectored      |
|           |            | interrupt controller |
+-----------+------------+----------------------+
| SYSTICK   | on-chip    | system clock         |
+-----------+------------+----------------------+
| UART      | on-chip    | serial port          |
+-----------+------------+----------------------+
| GPIO      | on-chip    | gpio                 |
+-----------+------------+----------------------+
| I2C       | on-chip    | i2c                  |
+-----------+------------+----------------------+
| PWM       | on-chip    | pwm                  |
+-----------+------------+----------------------+
| SPI       | on-chip    | spi                  |
+-----------+------------+----------------------+
| USB       | on-chip    | USB device           |
+-----------+------------+----------------------+
| ADC       | on-chip    | adc                  |
+-----------+------------+----------------------+

Other hardware features have not been enabled yet for this board.

Connections and IOs
===================

System Clock
------------

The on-board 8 MHz crystal is used to produce a 72 MHz system clock with PLL.

Zephyr Console
--------------

UART2 is used as Zephyr's console. Default settings are 115200 8N1.

On-Board LEDs
-------------

The board has one on-board green LED that is connected to PC12, which
is active low.

There is also a red power LED neither connected nor controlled by the MCU.

On-Board Button
---------------

The board has one user button connected to PA0.

USB
---

USB is not enabled by default.

PC4 can be configured as a GPIO input to detect power on the USB port. It is
possible to disconnect it by desoldering the appropriate pad in the PCB.

PC11 can be used to disconnect the pull-up resistor on the USB-DP line by
setting it high.

External Connectors
-------------------

JTAG/SWD debug

+-------+----------------------+-------+--------------+
| PIN # | Signal Name          | PIN # | Signal Name  |
+=======+======================+=======+==============+
| 1     | TVCC +3.3V           | 2     | TVCC 3.3V    |
+-------+----------------------+-------+--------------+
| 3     | PB4 / TRST           | 4     | GND          |
+-------+----------------------+-------+--------------+
| 5     | PA15 / TDI           | 6     | GND          |
+-------+----------------------+-------+--------------+
| 7     | PA13 / TMS / SWDIO   | 8     | GND          |
+-------+----------------------+-------+--------------+
| 9     | PA14 / TCK / SWCLK   | 10    | GND          |
+-------+----------------------+-------+--------------+
| 11    | NC                   | 12    | GND          |
+-------+----------------------+-------+--------------+
| 13    | PB3 / TDO            | 14    | GND          |
+-------+----------------------+-------+--------------+
| 15    | RST                  | 16    | GND          |
+-------+----------------------+-------+--------------+
| 17    | NC                   | 18    | GND          |
+-------+----------------------+-------+--------------+
| 19    | NC                   | 20    | GND          |
+-------+----------------------+-------+--------------+

EXTENSION 1

+-------+-----------------------+-------+-----------------------+
| PIN # | Name / STM32F103 Port | PIN # | Name / STM32F103 Port |
+=======+=======================+=======+=======================+
| 1     | PA11 / **USB_DM**     | 2     | PA8                   |
+-------+-----------------------+-------+-----------------------+
| 3     | PA12 / **USB_DP**     | 4     | PA9                   |
+-------+-----------------------+-------+-----------------------+
| 5     | +3.3V                 | 6     | GND                   |
+-------+-----------------------+-------+-----------------------+
| 7     | PA10                  | 8     | PC10                  |
+-------+-----------------------+-------+-----------------------+
| 9     | PC11 / **USB_DISC**   | 10    | PC12 / **LED**        |
+-------+-----------------------+-------+-----------------------+
| 11    | PD2                   | 12    | PB5                   |
+-------+-----------------------+-------+-----------------------+
| 13    | PB6                   | 14    | PA6                   |
+-------+-----------------------+-------+-----------------------+
| 15    | PB7                   | 16    | PB8                   |
+-------+-----------------------+-------+-----------------------+
| 17    | PB9                   | 18    | PA5                   |
+-------+-----------------------+-------+-----------------------+
| 19    | PC0                   | 20    | PC1                   |
+-------+-----------------------+-------+-----------------------+
| 21    | PB0                   | 22    | PA7                   |
+-------+-----------------------+-------+-----------------------+
| 23    | VBAT                  | 24    | PC13                  |
+-------+-----------------------+-------+-----------------------+
| 25    | RST                   | 26    | PB1                   |
+-------+-----------------------+-------+-----------------------+

EXTENSION 2

+-------+------------------------+-------+-----------------------+
| PIN # | Name / STM32F103 Port  | PIN # | Name / STM32F103 Port |
+=======+========================+=======+=======================+
| 1     | VDDA                   | 2     | PC2                   |
+-------+------------------------+-------+-----------------------+
| 3     | GNDA                   | 4     | PA0 / **BUTTON**      |
+-------+------------------------+-------+-----------------------+
| 5     | +3.3V                  | 6     | GND                   |
+-------+------------------------+-------+-----------------------+
| 7     | PA2 / **USART2_TX**    | 8     | PA1                   |
+-------+------------------------+-------+-----------------------+
| 9     | PC3                    | 10    | PA3 / **USART2_RX**   |
+-------+------------------------+-------+-----------------------+
| 11    | PA4                    | 12    | PC4 / **USB_POWER**   |
+-------+------------------------+-------+-----------------------+
| 13    | PC5                    | 14    | PB10                  |
+-------+------------------------+-------+-----------------------+
| 15    | P11                    | 16    | PB13                  |
+-------+------------------------+-------+-----------------------+
| 17    | PB12                   | 18    | PB14                  |
+-------+------------------------+-------+-----------------------+
| 19    | PB15                   | 20    | PC6                   |
+-------+------------------------+-------+-----------------------+
| 21    | PC7                    | 22    | PC8                   |
+-------+------------------------+-------+-----------------------+
| 23    | +5V USB                | 24    | PC9                   |
+-------+------------------------+-------+-----------------------+
| 25    | GND                    | 26    | VIN                   |
+-------+------------------------+-------+-----------------------+


Programming and Debugging
*************************

This board does not include any embedded debug tool interface, instead you
will have to use an external probe connected to the available 20-pin JTAG
connector to program and debug the board. Both JTAG and SWD are supported.

By default when using ``west debug`` ST-Link will be used with OpenOCD's
SWD transport, but it is also possible to use JTAG with the Olimex ARM-USB-OCD-H
probe, for instance. For the latter, you should replace the file ``openocd.cfg``
by ``openocd_olimex_jtag.cfg``, located in the board's support directory.

The ``blackmagicprobe`` can also be used to program the device.

Flashing
========

Here is an example for the :zephyr:code-sample:`button` application.

.. zephyr-app-commands::
   :zephyr-app: samples/basic/button
   :board: olimex_stm32_h103
   :goals: build flash

Debugging
=========

You can debug an application in the usual way.  Here is an example for the
:ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: olimex_stm32_h103
   :maybe-skip-config:
   :goals: debug

References
**********

- `OLIMEX-STM32-H103 website`_
- `OLIMEX-STM32-H103 user manual`_
- `OLIMEX-STM32-H103 schematic`_

.. _OLIMEX-STM32-H103 website:
   https://www.olimex.com/Products/ARM/ST/STM32-H103/

.. _OLIMEX-STM32-H103 user manual:
   https://www.olimex.com/Products/ARM/ST/STM32-H103/resources/STM32-H103.pdf

.. _OLIMEX-STM32-H103 schematic:
   https://www.olimex.com/Products/ARM/ST/STM32-H405/resources/STM32-H405_sch.pdf

.. _ST STM32F103RB Datasheet:
   https://www.st.com/resource/en/datasheet/stm32f103rb.pdf

.. _STM32f103RB:
   https://www.st.com/en/microcontrollers-microprocessors/stm32f103rb.html

Part 3

한국어 전문 번역

개요

OLIMEX-STM32-H103은 STMicroelectronics STM32F103RBT6 ARM Cortex-M3 CPU 기반의 단순한 development board입니다. MCU의 모든 pin이 실장되어 두 개의 male 26-pin connector로 접근할 수 있습니다.

OLIMEX-STM32-H103 top
OLIMEX-STM32-H103 top. 이미지 출처: OLIMEX, Zephyr v3.7.0 공식 문서.
OLIMEX-STM32-H103 bottom
OLIMEX-STM32-H103 bottom. 이미지 출처: OLIMEX, Zephyr v3.7.0 공식 문서.

보드 정보는 website, user manual, schematic에서 확인할 수 있고 processor 정보는 ST STM32F103RB datasheet에 있습니다.

지원 기능

인터페이스컨트롤러드라이버/컴포넌트
NVICon-chipnested vectored interrupt controller
SYSTICKon-chipsystem clock
UARTon-chipserial port
GPIOon-chipgpio
I2Con-chipi2c
PWMon-chippwm
SPIon-chipspi
USBon-chipUSB device
ADCon-chipadc

표에 없는 하드웨어 기능은 아직 활성화되지 않았습니다.

연결과 I/O

System clock

On-board 8 MHz crystal과 PLL로 72 MHz system clock을 생성합니다.

Zephyr console

UART2를 사용하며 기본값은 115200 8N1입니다.

LED와 button

Green LED는 active-low PC12에 연결됩니다. Red power LED는 MCU와 연결되지 않아 MCU가 제어하지 않습니다. User button은 PA0입니다.

USB

USB는 기본 활성화되지 않습니다. PC4를 GPIO input으로 설정해 USB port 전원을 감지할 수 있고 PCB의 해당 pad를 desolder하면 연결을 끊을 수 있습니다. PC11을 high로 설정하면 USB-DP line의 pull-up resistor를 분리할 수 있습니다.

JTAG/SWD debug

PIN #Signal NamePIN #Signal Name
1TVCC +3.3V2TVCC 3.3V
3PB4 / TRST4GND
5PA15 / TDI6GND
7PA13 / TMS / SWDIO8GND
9PA14 / TCK / SWCLK10GND
11NC12GND
13PB3 / TDO14GND
15RST16GND
17NC18GND
19NC20GND

EXTENSION 1

PIN #Name / STM32F103 PortPIN #Name / STM32F103 Port
1PA11 / USB_DM2PA8
3PA12 / USB_DP4PA9
5+3.3V6GND
7PA108PC10
9PC11 / USB_DISC10PC12 / LED
11PD212PB5
13PB614PA6
15PB716PB8
17PB918PA5
19PC020PC1
21PB022PA7
23VBAT24PC13
25RST26PB1

EXTENSION 2

PIN #Name / STM32F103 PortPIN #Name / STM32F103 Port
1VDDA2PC2
3GNDA4PA0 / BUTTON
5+3.3V6GND
7PA2 / USART2_TX8PA1
9PC310PA3 / USART2_RX
11PA412PC4 / USB_POWER
13PC514PB10
15P1116PB13
17PB1218PB14
19PB1520PC6
21PC722PC8
23+5V USB24PC9
25GND26VIN

프로그래밍과 디버깅

Embedded debug interface가 없으므로 20-pin JTAG connector에 외부 probe를 연결해야 합니다. JTAG와 SWD를 모두 지원합니다.

west debug 기본값은 ST-Link와 OpenOCD SWD transport입니다. Olimex ARM-USB-OCD-H로 JTAG를 쓸 수도 있으며 이때 board support directory의 openocd.cfg를 openocd_olimex_jtag.cfg로 교체합니다. blackmagicprobe로도 device를 program할 수 있습니다.

Flash

# Zephyr 저장소 루트에서
west build -b olimex_stm32_h103 samples/basic/button
west flash

Debug

# Zephyr 저장소 루트에서
west build -b olimex_stm32_h103 samples/hello_world
west debug

참고 자료

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.