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

Zephyr 3.7.0 · Boards · OLIMEX · STM32F1

OLIMEXINO-STM32

STM32F103RB Cortex-M3 기반 Arduino 호환 보드의 핀 배치와 serial bootloader flash 절차를 다룹니다.

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

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

Part 1

요약·해설

지원 기능 9종, 82개 pin/jumper 행, 72 MHz clock, UEXT serial adapter를 이용한 flash 절차를 보존했습니다.

MCU

STM32F103RB · Cortex-M3

Interfaces

UART · SPI · I2C · USB · CAN

Flash

stm32flash · TTL 3.3 V

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 241A21971080D35E43FB1171A2AA4B93F3769EF08F515116172BA751FF7FB6B9
.. _olimexino_stm32:

OLIMEXINO-STM32
###############

Overview
********

The OLIMEXINO-STM32 board is based on the STMicroelectronics STM32F103RB ARM
Cortex-M3 CPU.

.. figure:: ../../../../../../../boards/olimex/olimexino_stm32/doc/img/olimexino_stm32.jpg
     :align: center
     :alt: OLIMEXINO-STM32

     OLIMEXINO-STM32

More information about the board can be found at the
`OLIMEXINO-STM32 website`_ and `OLIMEXINO-STM32 user manual`_.
The `ST STM32F103xB Datasheet`_ contains the processor's
information and the datasheet.

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

The olimexino_stm32 board configuration 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                     |
+-----------+------------+-------------------------+
| SPI       | on-chip    | spi                     |
+-----------+------------+-------------------------+
| USB       | on-chip    | USB device              |
+-----------+------------+-------------------------+
| WATCHDOG  | on-chip    | independent watchdog    |
+-----------+------------+-------------------------+
| CAN       | on-chip    | Controller Area Network |
+-----------+------------+-------------------------+

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

Pin Mapping
===========

.. figure:: ../../../../../../../boards/olimex/olimexino_stm32/doc/img/olimexino-stm32-front.jpg
     :align: center
     :alt: OLIMEXINO-STM32 connectors

     OLIMEXINO-STM32 connectors

LED
---

* LED1 (green) = PA5
* LED2 (yellow) = PA1
* PWR_LED (red) = power

Push buttons
------------

* BUT = PC9 / TIM3CH4 / BOOT0
* RST = NRST

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

SWD

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | VCC          | N/A                     |
+-------+--------------+-------------------------+
| 2     | TMS / SWDIO  | JTMS / SWDIO / PA13     |
+-------+--------------+-------------------------+
| 3     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 4     | TCK / SWCLK  | JTCK / SWCLK / PA14     |
+-------+--------------+-------------------------+
| 5     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 6     | TDO / SWO    | JTDO /TIM2_CH2 / PB3 /  |
|       |              | TRACESWO / SPI1_SCK     |
+-------+--------------+-------------------------+
| 7     | Cut off      | N/A                     |
+-------+--------------+-------------------------+
| 8     | TDI          | JTDI / TIM2_CH1_ETR /   |
|       |              | PA15 / SPI1_NSS         |
+-------+--------------+-------------------------+
| 9     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 10    | RESET        | NRST                    |
+-------+--------------+-------------------------+

UEXT

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | VCC          | N/A                     |
+-------+--------------+-------------------------+
| 2     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 3     | D7 (TXD1)    | PA9 / USART1_TX /       |
|       |              | TIM1_CH2                |
+-------+--------------+-------------------------+
| 4     | D8 (RXD1)    | PA10 / USART1_RX /      |
|       |              | TIM1_CH3                |
+-------+--------------+-------------------------+
| 5     | D29 (SCL2)   | PB10 / I2C2_SCL /       |
|       |              | USART3_TX / TIM2_CH3    |
+-------+--------------+-------------------------+
| 6     | D30 (SDA2)   | PB11 / I2C2_SDA /       |
|       |              | USART3_RX / TIM2_CH4    |
+-------+--------------+-------------------------+
| 7     | D12 (MISO1)  | PA6 / SPI1_MISO /       |
|       |              | ADC12_IN6 / TIM3_CH1 /  |
|       |              | TIM1_BKIN               |
+-------+--------------+-------------------------+
| 8     | D11 (MOSI1)  | PA7 / SPI1_MOSI /       |
|       |              | ADC12_IN7 / TIM3_CH2 /  |
|       |              | TIM1_CH1N               |
+-------+--------------+-------------------------+
| 9     | D13 (SCK /   | PA5 / SPI1_SCK /        |
|       | LED1)        | ADC12_IN5               |
+-------+--------------+-------------------------+
| 10    | UEXT_#CS     | N/A                     |
+-------+--------------+-------------------------+

EXT

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | D23_EXT      | PC15 / OSC32_OUT        |
+-------+--------------+-------------------------+
| 2     | D24 (CANTX)  | PB9 / TIM4_CH4 /        |
|       |              | I2C1_SDA / CANTX        |
+-------+--------------+-------------------------+
| 3     | D25 (MMC_CS) | PD2 / TIM3_ETR          |
+-------+--------------+-------------------------+
| 4     | D26          | PC10 / USART3_TX        |
+-------+--------------+-------------------------+
| 5     | D27          | PB0 / ADC12_IN8 /       |
|       |              | TIM3_CH3 / TIM1_CH2N    |
+-------+--------------+-------------------------+
| 6     | D28          | PB1 / ADC12_IN9 /       |
|       |              | TIM3_CH4 / TIM1_CH3N    |
+-------+--------------+-------------------------+
| 7     | D29 (SCL2)   | PB10 / I2C2_SCL /       |
|       |              | USART3_TX / TIM2_CH3    |
+-------+--------------+-------------------------+
| 8     | D30 (SDA2)   | PB11 / I2C2_SDA /       |
|       |              | USART3_RX / TIM2_CH4    |
+-------+--------------+-------------------------+
| 9     | D31 (#SS2)   | PB12 / SPI2_NSS /       |
|       |              | I2C2_SMBAI / USART3_CK /|
|       |              | TIM1_BKIN               |
+-------+--------------+-------------------------+
| 10    | D32 (SCK2)   | PB13 / SPI2_SCK/        |
|       |              | USART3_CTS / TIM1_CH1N  |
+-------+--------------+-------------------------+
| 11    | D33 (MISO2)  | PB14 / SPI2_MISO /      |
|       |              | USART3_RTS / TIM1_CH2N  |
+-------+--------------+-------------------------+
| 12    | D34 (MOSI2)  | PB15 / SPI2_MOSI /      |
|       |              | TIM1_CH3N               |
+-------+--------------+-------------------------+
| 13    | D35          | PC6 / TIM3_CH1          |
+-------+--------------+-------------------------+
| 14    | D36          | PC7 / TIM3_CH2          |
+-------+--------------+-------------------------+
| 15    | D37          | PC8 / TIM3_CH3          |
+-------+--------------+-------------------------+
| 16    | GND          | N/A                     |
+-------+--------------+-------------------------+

Arduino Headers
---------------

CON1 power

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | RESET        | NRST                    |
+-------+--------------+-------------------------+
| 2     | VCC (3V3)    | N/A                     |
+-------+--------------+-------------------------+
| 3     | VDD (3V3A)   | N/A                     |
+-------+--------------+-------------------------+
| 4     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 5     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 6     | VIN          | N/A                     |
+-------+--------------+-------------------------+

CON2 analog

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | D15 (A0)     | PC0 / ADC12_IN10        |
+-------+--------------+-------------------------+
| 2     | D16 (A1)     | PC1 / ADC12_IN11        |
+-------+--------------+-------------------------+
| 3     | D17 (A2)     | PC2 / ADC12_IN12        |
+-------+--------------+-------------------------+
| 4     | D18 (A3)     | PC3 / ADC12_IN13        |
+-------+--------------+-------------------------+
| 5     | D19 (A4)     | PC4 / ADC12_IN14        |
+-------+--------------+-------------------------+
| 6     | D20 (A5)     | PC5 / ADC12_IN15        |
+-------+--------------+-------------------------+

CON3 digital

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | D0 (RXD2)    | PA3 / USART2_RX /       |
|       |              | ADC12_IN3 / TIM2_CH4    |
+-------+--------------+-------------------------+
| 2     | D1 (TXD2)    | PA2 / USART2_TX /       |
|       |              | ADC12_IN2 / TIM2_CH3    |
+-------+--------------+-------------------------+
| 3     | D2           | PA0 / WKUP /            |
|       |              | USART2_CTS / ADC12_IN0 /|
|       |              | TIM2_CH1                |
+-------+--------------+-------------------------+
| 4     | D3 (LED2)    | PA1 / USART2_RTS /      |
|       |              | ADC12_IN1 / TIM2_CH2    |
+-------+--------------+-------------------------+
| 5     | D4           | PB5 / I2C1_SMBAI /      |
|       |              | TIM3_CH2 / SPI1_MOSI    |
+-------+--------------+-------------------------+
| 6     | D5           | PB6 / I2C1_SCL /        |
|       |              | TIM4_CH1 / USART1_TX    |
+-------+--------------+-------------------------+
| 7     | D6           | PA8 / USART1_CK /       |
|       |              | TIM1_CH1 / MCO          |
+-------+--------------+-------------------------+
| 8     | D7 (TXD1)    | PA9 / USART1_TX /       |
|       |              | TIM1_CH2                |
+-------+--------------+-------------------------+

CON4 digital

+-------+--------------+-------------------------+
| PIN # | Signal Name  | STM32F103RB Functions   |
+=======+==============+=========================+
| 1     | D8 (RXD1)    | PA10 / USART1_RX /      |
|       |              | TIM1_CH3                |
+-------+--------------+-------------------------+
| 2     | D9           | PB7 / I2C1_SDA /        |
|       |              | TIM4_CH2 / USART1_RX    |
+-------+--------------+-------------------------+
| 3     | D10 (#SS1)   | PA4 / SPI1_NSS /        |
|       |              | USART2_CK / ADC12_IN4   |
+-------+--------------+-------------------------+
| 4     | D11 (MOSI1)  | PA7 / SPI1_MOSI /       |
|       |              | ADC12_IN7 / TIM3_CH2 /  |
|       |              | TIM1_CH1N               |
+-------+--------------+-------------------------+
| 5     | D12 (MISO1)  | PA6 / SPI1_MISO /       |
|       |              | ADC12_IN6 / TIM3_CH1 /  |
|       |              | TIM1_BKIN               |
+-------+--------------+-------------------------+
| 6     | D13 (SCK1 /  | PA5 / SPI1_SCK /        |
|       | LED1)        | ADC12_IN5               |
+-------+--------------+-------------------------+
| 7     | GND          | N/A                     |
+-------+--------------+-------------------------+
| 8     | D14 (CANRX)  | PB8 / TIM4_CH3 /        |
|       |              | I2C1_SCL / CANRX        |
+-------+--------------+-------------------------+

CAN

+-------+-------------+
| PIN # | Signal Name |
+=======+=============+
| 1     | GND         |
+-------+-------------+
| 2     | CAN L       |
+-------+-------------+
| 3     | CAN H       |
+-------+-------------+

System Clock
============

OLIMEXINO-STM32 has two external oscillators. The frequency of
the slow clock is 32.768 kHz. The frequency of the main clock
is 8 MHz. The processor can setup HSE to drive the master clock,
which can be set as high as 72 MHz.

Serial Port
===========

OLIMEXINO-STM32 board has up to 3 U(S)ARTs. The Zephyr console output is
assigned to USART1. Default settings are 115200 8N1.

SPI
===

OLIMEXINO-STM32 board has up to 2 SPIs. The default SPI mapping for Zephyr is:

- SPI1_NSS  : PA4
- SPI1_SCK  : PA5
- SPI1_MISO : PA6
- SPI1_MOSI : PA7

I2C
===

The OLIMEXINO-STM32 board supports two I2C devices. The default I2C mapping for
Zephyr is:

- I2C1_SCL : PB6
- I2C1_SDA : PB7
- I2C2_SCL : PB10
- I2C2_SDA : PB11

USB
===

OLIMEXINO-STM32 board has a USB 2.0 full-speed device interface available
through its mini USB connector.

- USB_DM : PA11
- USB_DP : PA12

CAN
===

OLIMEXINO-STM32 board has a CAN interface with transceiver on board.
CAN is accessible through a screw terminal.

- CAN_RX : PB8
- CAN_TX : PB9

Jumpers
=======

The Zephyr kernel uses the OLIMEXINO-STM32 default jumper
settings. Note that all jumpers on the board are SMD type.
You will need to solder, unsolder, or cut them in order to
reconfigure them.

The default jumper settings for the OLIMEXIMO-STM32E are:

+---------------+------------+---------------+
| Jumper Name   | Open       | Close         |
+===============+============+===============+
|  LED1_E       |            |      x        |
+---------------+------------+---------------+
|  LED2_E       |            |      x        |
+---------------+------------+---------------+
|  D23_E        |     x      |               |
+---------------+------------+---------------+
|  R-T          |     x      |               |
+---------------+------------+---------------+
|  P10_E        |            |      x        |
+---------------+------------+---------------+

+---------------+------------+---------------+
| Jumper Name   | D10        | D4            |
+===============+============+===============+
|  D10/D4       |            |      x        |
+---------------+------------+---------------+

Flashing Zephyr onto OLIMEXINO-STM32
************************************

Flashing the Zephyr kernel onto OLIMEXINO-STM32 requires the
`stm32flash tool`_.

Building stm32flash command line tool
=====================================

To build the stm32flash tool, follow the steps below:

#. Checkout the stm32flash tool's code from the repository.

  .. code-block:: console

     $ git clone http://git.code.sf.net/p/stm32flash/code stm32flash
     $ cd stm32flash

#. Build the stm32flash tool.

  .. code-block:: console

     $ make

#. The resulting binary is available at :file:`stm32flash`.

Flashing an Application to OLIMEXINO-STM32
==========================================

To upload an application to the OLIMEXINO-STM32 board a TTL(3.3V)
serial adapter is required. This tutorial uses the
:zephyr:code-sample:`button` sample application.

#. Connect the serial cable to the UEXT lines of the UART
   interface (pin #3=TX and pin #4=RX).

#. Power the OLIMEXINO-STM32 via the mini USB.

#. Reset the board while holding the button (BUT).

#. To build the application and flash it, enter:

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

#. Run your favorite terminal program to listen for output.

   .. code-block:: console

      $ minicom -D /dev/ttyUSB0 -b 115200

   The :code:`-b` option sets baud rate ignoring the value
   from config.

#. Press the Reset button and you should see the output of
   button application in your terminal. The state of the BUT
   button's GPIO line is monitored and printed to the serial
   console. When the input button gets pressed, the interrupt
   handler prints information about this event along with its
   timestamp.

.. note::
   Make sure your terminal program is closed before flashing
   the binary image, or it will interfere with the flashing
   process.

.. _OLIMEXINO-STM32 website:
   https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/

.. _OLIMEXINO-STM32 user manual:
   https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/resources/OLIMEXINO-STM32.pdf

.. _ST STM32F103xB Datasheet:
   https://www.st.com/resource/en/datasheet/stm32f103tb.pdf

.. _stm32flash tool:
   https://sourceforge.net/p/stm32flash/wiki/Home/

Part 3

한국어 전문 번역

개요

OLIMEXINO-STM32는 STMicroelectronics STM32F103RB ARM Cortex-M3 CPU 기반 보드입니다.

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

세부 보드 정보는 OLIMEXINO-STM32 website와 user manual에서, processor 정보는 ST STM32F103xB datasheet에서 확인할 수 있습니다.

지원 기능

인터페이스컨트롤러드라이버/컴포넌트
NVICon-chipnested vectored interrupt controller
SYSTICKon-chipsystem clock
UARTon-chipserial port
GPIOon-chipgpio
I2Con-chipi2c
SPIon-chipspi
USBon-chipUSB device
WATCHDOGon-chipindependent watchdog
CANon-chipController Area Network

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

핀 배치

OLIMEXINO-STM32 connectors
OLIMEXINO-STM32 connector 배치. 이미지 출처: OLIMEX, Zephyr v3.7.0 공식 문서.

LED와 버튼

  • LED1 (green): PA5
  • LED2 (yellow): PA1
  • PWR_LED (red): power
  • BUT: PC9 / TIM3CH4 / BOOT0
  • RST: NRST

SWD

PIN #Signal NameSTM32F103RB Functions
1VCCN/A
2TMS / SWDIOJTMS / SWDIO / PA13
3GNDN/A
4TCK / SWCLKJTCK / SWCLK / PA14
5GNDN/A
6TDO / SWOJTDO / TIM2_CH2 / PB3 / TRACESWO / SPI1_SCK
7Cut offN/A
8TDIJTDI / TIM2_CH1_ETR / PA15 / SPI1_NSS
9GNDN/A
10RESETNRST

UEXT

PIN #Signal NameSTM32F103RB Functions
1VCCN/A
2GNDN/A
3D7 (TXD1)PA9 / USART1_TX / TIM1_CH2
4D8 (RXD1)PA10 / USART1_RX / TIM1_CH3
5D29 (SCL2)PB10 / I2C2_SCL / USART3_TX / TIM2_CH3
6D30 (SDA2)PB11 / I2C2_SDA / USART3_RX / TIM2_CH4
7D12 (MISO1)PA6 / SPI1_MISO / ADC12_IN6 / TIM3_CH1 / TIM1_BKIN
8D11 (MOSI1)PA7 / SPI1_MOSI / ADC12_IN7 / TIM3_CH2 / TIM1_CH1N
9D13 (SCK / LED1)PA5 / SPI1_SCK / ADC12_IN5
10UEXT_#CSN/A

EXT

PIN #Signal NameSTM32F103RB Functions
1D23_EXTPC15 / OSC32_OUT
2D24 (CANTX)PB9 / TIM4_CH4 / I2C1_SDA / CANTX
3D25 (MMC_CS)PD2 / TIM3_ETR
4D26PC10 / USART3_TX
5D27PB0 / ADC12_IN8 / TIM3_CH3 / TIM1_CH2N
6D28PB1 / ADC12_IN9 / TIM3_CH4 / TIM1_CH3N
7D29 (SCL2)PB10 / I2C2_SCL / USART3_TX / TIM2_CH3
8D30 (SDA2)PB11 / I2C2_SDA / USART3_RX / TIM2_CH4
9D31 (#SS2)PB12 / SPI2_NSS / I2C2_SMBAI / USART3_CK / TIM1_BKIN
10D32 (SCK2)PB13 / SPI2_SCK / USART3_CTS / TIM1_CH1N
11D33 (MISO2)PB14 / SPI2_MISO / USART3_RTS / TIM1_CH2N
12D34 (MOSI2)PB15 / SPI2_MOSI / TIM1_CH3N
13D35PC6 / TIM3_CH1
14D36PC7 / TIM3_CH2
15D37PC8 / TIM3_CH3
16GNDN/A

Arduino header: CON1 power

PIN #Signal NameSTM32F103RB Functions
1RESETNRST
2VCC (3V3)N/A
3VDD (3V3A)N/A
4GNDN/A
5GNDN/A
6VINN/A

Arduino header: CON2 analog

PIN #Signal NameSTM32F103RB Functions
1D15 (A0)PC0 / ADC12_IN10
2D16 (A1)PC1 / ADC12_IN11
3D17 (A2)PC2 / ADC12_IN12
4D18 (A3)PC3 / ADC12_IN13
5D19 (A4)PC4 / ADC12_IN14
6D20 (A5)PC5 / ADC12_IN15

Arduino header: CON3 digital

PIN #Signal NameSTM32F103RB Functions
1D0 (RXD2)PA3 / USART2_RX / ADC12_IN3 / TIM2_CH4
2D1 (TXD2)PA2 / USART2_TX / ADC12_IN2 / TIM2_CH3
3D2PA0 / WKUP / USART2_CTS / ADC12_IN0 / TIM2_CH1
4D3 (LED2)PA1 / USART2_RTS / ADC12_IN1 / TIM2_CH2
5D4PB5 / I2C1_SMBAI / TIM3_CH2 / SPI1_MOSI
6D5PB6 / I2C1_SCL / TIM4_CH1 / USART1_TX
7D6PA8 / USART1_CK / TIM1_CH1 / MCO
8D7 (TXD1)PA9 / USART1_TX / TIM1_CH2

Arduino header: CON4 digital

PIN #Signal NameSTM32F103RB Functions
1D8 (RXD1)PA10 / USART1_RX / TIM1_CH3
2D9PB7 / I2C1_SDA / TIM4_CH2 / USART1_RX
3D10 (#SS1)PA4 / SPI1_NSS / USART2_CK / ADC12_IN4
4D11 (MOSI1)PA7 / SPI1_MOSI / ADC12_IN7 / TIM3_CH2 / TIM1_CH1N
5D12 (MISO1)PA6 / SPI1_MISO / ADC12_IN6 / TIM3_CH1 / TIM1_BKIN
6D13 (SCK1 / LED1)PA5 / SPI1_SCK / ADC12_IN5
7GNDN/A
8D14 (CANRX)PB8 / TIM4_CH3 / I2C1_SCL / CANRX

CAN

PIN #Signal Name
1GND
2CAN L
3CAN H

Clock와 통신 인터페이스

외부 oscillator는 slow clock 32.768 kHz와 main clock 8 MHz 두 개입니다. Processor는 HSE를 master clock source로 설정해 최대 72 MHz로 동작할 수 있습니다.

최대 3개의 U(S)ART가 있고 Zephyr console은 USART1, 기본값은 115200 8N1입니다.

SPI

  • SPI1_NSS: PA4
  • SPI1_SCK: PA5
  • SPI1_MISO: PA6
  • SPI1_MOSI: PA7

I2C

  • I2C1_SCL: PB6
  • I2C1_SDA: PB7
  • I2C2_SCL: PB10
  • I2C2_SDA: PB11

USB

Mini USB connector를 통해 USB 2.0 full-speed device interface를 제공합니다. USB_DM: PA11, USB_DP: PA12입니다.

CAN

On-board transceiver가 있는 CAN interface를 screw terminal로 사용할 수 있습니다. CAN_RX: PB8, CAN_TX: PB9입니다.

Jumper

Zephyr kernel은 OLIMEXINO-STM32 기본 jumper 설정을 사용합니다. 모든 jumper가 SMD형이라 재구성하려면 납땜, 제거 또는 pattern 절단이 필요합니다. 원문이 표 제목에서 사용한 OLIMEXIMO-STM32E 기본값은 다음과 같습니다.

Jumper NameOpenClose
LED1_Ex
LED2_Ex
D23_Ex
R-Tx
P10_Ex
Jumper NameD10D4
D10/D4x

OLIMEXINO-STM32에 Zephyr flash

Zephyr kernel을 flash하려면 stm32flash tool이 필요합니다.

stm32flash command-line tool build

  1. 저장소에서 source를 checkout합니다.
$ git clone http://git.code.sf.net/p/stm32flash/code stm32flash
$ cd stm32flash
  1. 도구를 build합니다.
$ make

결과 binary는 stm32flash에 생성됩니다.

Application flash

Upload에는 TTL 3.3 V serial adapter가 필요합니다. 다음 절차는 samples/basic/button을 사용합니다.

  1. Serial cable을 UEXT UART의 pin 3=TX, pin 4=RX에 연결합니다.
  2. Mini USB로 보드에 전원을 공급합니다.
  3. BUT button을 누른 채 보드를 reset합니다.
  4. Application을 build하고 flash합니다.
# Zephyr 저장소 루트에서
west build -b olimexino_stm32 samples/basic/button
west flash
  1. Terminal program으로 출력을 확인합니다.
$ minicom -D /dev/ttyUSB0 -b 115200

-b는 configuration 값과 무관하게 baud rate를 지정합니다. Reset을 누르면 button application이 BUT GPIO 상태를 감시해 serial console에 출력하며, button을 누르면 interrupt handler가 event 정보와 timestamp를 출력합니다.

참고 자료

Source

출처

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