boards/qemu/cortex_m3/doc/index.html · boards/qemu/cortex_m3/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · QEMU · Armv7-M

QEMU Arm Cortex-M3

TI LM3S6965 platform을 QEMU에서 emulation하고 Ethernet 또는 SLIP을 시험하는 구성입니다.

Official pathboards/qemu/cortex_m3/doc/index.html
Source fileboards/qemu/cortex_m3/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

12 MHz clock, Stellaris UART, XIP 보호 효과와 networking 선택을 설명합니다.

CPU

Cortex-M3 · LM3S6965

Clock

12 MHz

Network

QEMU Ethernet · SLIP

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 4702D17D1509770BFA1F93AB900D4DA7B4052AB0E1C2E05A8132C43347E1FC79
.. _qemu_cortex_m3:

ARM Cortex-M3 Emulation (QEMU)
##############################

Overview
********

This board configuration will use QEMU to emulate the TI LM3S6965 platform.

This configuration provides support for an ARM Cortex-M3 CPU and these devices:

* Nested Vectored Interrupt Controller
* System Tick System Clock
* Stellaris UART

.. note::
   This board configuration makes no claims about its suitability for use
   with an actual ti_lm3s6965 hardware system, or any other hardware system.

Hardware
********
Supported Features
==================

The following hardware features are supported:

+--------------+------------+----------------------+
| Interface    | Controller | Driver/Component     |
+==============+============+======================+
| NVIC         | on-chip    | nested vectored      |
|              |            | interrupt controller |
+--------------+------------+----------------------+
| Stellaris    | on-chip    | serial port          |
| UART         |            |                      |
+--------------+------------+----------------------+
| SYSTICK      | on-chip    | system clock         |
+--------------+------------+----------------------+

The kernel currently does not support other hardware features on this platform.

Devices
========
System Clock
------------

This board configuration uses a system clock frequency of 12 MHz.

Serial Port
-----------

This board configuration uses a single serial communication channel with the
CPU's UART0.

If SLIP networking is enabled (see below), an additional serial port will be
used for it.

Known Problems or Limitations
==============================

The following platform features are unsupported:

* Memory protection through optional MPU.  However, using a XIP kernel
  effectively provides TEXT/RODATA write protection in ROM.
* SRAM at addresses 0x1FFF0000-0x1FFFFFFF
* Writing to the hardware's flash memory


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

Use this configuration to run basic Zephyr applications and kernel tests in the QEMU
emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample:

.. zephyr-app-commands::
   :zephyr-app: samples/synchronization
   :host-os: unix
   :board: qemu_cortex_m3
   :goals: run

This will build an image with the synchronization sample app, boot it using
QEMU, and display the following console output:

.. code-block:: console

        ***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
        threadA: Hello World from arm!
        threadB: Hello World from arm!
        threadA: Hello World from arm!
        threadB: Hello World from arm!
        threadA: Hello World from arm!
        threadB: Hello World from arm!
        threadA: Hello World from arm!
        threadB: Hello World from arm!
        threadA: Hello World from arm!
        threadB: Hello World from arm!

Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.

Debugging
=========

Refer to the detailed overview about :ref:`application_debugging`.

Networking
==========

The board supports SLIP networking over an emulated serial port
(``CONFIG_NET_SLIP_TAP=y``). The detailed setup is described in
:ref:`networking_with_qemu`.

It is also possible to use the QEMU built-in Ethernet adapter to connect
to the host system. This is faster than using SLIP and is also the preferred
way. See :ref:`networking_with_eth_qemu` for details.

References
**********

1. The Definitive Guide to the ARM Cortex-M3, Second Edition by Joseph Yiu (ISBN
   978-0-12-382090-7)
2. ARMv7-M Architecture Technical Reference Manual (ARM DDI 0403D ID021310)
3. Procedure Call Standard for the ARM Architecture (ARM IHI 0042E, current
   through ABI release 2.09, 2012/11/30)
4. Cortex-M3 Revision r2p1 Technical Reference Manual (ARM DDI 0337I ID072410)
5. Cortex-M3 Devices Generic User Guide (ARM DUI 0052A ID121610)

Part 3

한국어 전문 번역

개요

이 board 구성은 QEMU로 TI LM3S6965 platform을 emulation합니다. Arm Cortex-M3 CPU, NVIC, SYSTICK, Stellaris UART를 지원합니다.

지원 기능

인터페이스컨트롤러드라이버/컴포넌트
NVICon-chipnested vectored interrupt controller
Stellaris UARTon-chipserial port
SYSTICKon-chipsystem clock

Kernel은 현재 이 platform의 다른 하드웨어 기능을 지원하지 않습니다.

장치

System clock

System clock frequency는 12 MHz입니다.

Serial port

CPU의 UART0 하나를 사용합니다. SLIP networking을 켜면 serial port 하나를 추가로 사용합니다.

알려진 문제와 제한

  • Optional MPU를 통한 memory protection은 미지원입니다. 다만 XIP kernel을 사용하면 ROM의 TEXT/RODATA 쓰기 보호 효과가 있습니다.
  • 0x1FFF0000-0x1FFFFFFF 주소의 SRAM은 미지원입니다.
  • Hardware flash memory 쓰기는 미지원입니다.

프로그래밍과 디버깅

이 구성은 QEMU emulated environment에서 기본 Zephyr application과 kernel test를 실행할 때 사용합니다. 다음은 synchronization sample 예입니다.

# Unix host의 Zephyr 저장소 루트에서
west build -b qemu_cortex_m3 samples/synchronization -t run

Image를 build하고 QEMU로 boot하면 다음 console output이 표시됩니다.

***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
threadA: Hello World from arm!
threadB: Hello World from arm!
threadA: Hello World from arm!
threadB: Hello World from arm!
threadA: Hello World from arm!
threadB: Hello World from arm!
threadA: Hello World from arm!
threadB: Hello World from arm!
threadA: Hello World from arm!
threadB: Hello World from arm!

Ctrl+A를 누른 뒤 x를 눌러 QEMU를 종료합니다.

Debug

일반 Zephyr application debugging 절차를 따릅니다.

Networking

CONFIG_NET_SLIP_TAP=y로 emulated serial port의 SLIP networking을 지원합니다. QEMU built-in Ethernet adapter도 사용할 수 있으며 SLIP보다 빠르고 권장되는 방식입니다.

참고 자료

  1. The Definitive Guide to the ARM Cortex-M3, Second Edition, Joseph Yiu, ISBN 978-0-12-382090-7
  2. ARMv7-M Architecture Technical Reference Manual, ARM DDI 0403D ID021310
  3. Procedure Call Standard for the ARM Architecture, ARM IHI 0042E
  4. Cortex-M3 Revision r2p1 Technical Reference Manual, ARM DDI 0337I ID072410
  5. Cortex-M3 Devices Generic User Guide, ARM DUI 0052A ID121610

Source

출처

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