| .. _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) |