98 lines
2.7 KiB
ReStructuredText
98 lines
2.7 KiB
ReStructuredText
.. _qemu_cortex_m3:
|
|
|
|
ARM Cortex-M3 Emulation (QEMU)
|
|
##############################
|
|
|
|
Overview
|
|
********
|
|
|
|
The Zephyr kernel uses the qemu_cortex_m3 board configuration
|
|
to emulate the TI LM3S6965 platform running on QEMU. It provides support
|
|
for an ARM Cortex-M3 CPU and the following 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.
|
|
|
|
Supported Boards
|
|
****************
|
|
|
|
The qemu_cortex_m3 board configuration has been tested on
|
|
QEMU 2.1 patched with Zephyr's
|
|
:file:`0001-armv7m-support-basepri-primask-interrupt-locking.patch`.
|
|
|
|
Supported Features
|
|
******************
|
|
|
|
The qemu_cortex_m3 board configuration supports the following
|
|
hardware features:
|
|
|
|
+--------------+------------+----------------------+
|
|
| 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.
|
|
|
|
Interrupt Controller
|
|
====================
|
|
|
|
|
|
Refer to the :ref:`frdm_k64f`.
|
|
|
|
.. note::
|
|
Unlike the frdm_k64f board configuration, the qemu_cortex_m3
|
|
board configuration sets option :option:`NUM_IRQ_PRIO_BITS` to '3'.
|
|
|
|
System Clock
|
|
============
|
|
The qemu_cortex_m3 board configuration uses a system
|
|
clock frequency of 12 MHz.
|
|
|
|
Serial Port
|
|
===========
|
|
|
|
The qemu_cortex_m3 board configuration uses a single
|
|
serial communication channel with the CPU's UART0.
|
|
|
|
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
|
|
|
|
Bibliography
|
|
************
|
|
|
|
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)
|