DesignWare(R) ARC(R) Emulation (nsim)¶
Overview¶
This board configuration will use Designware ARC nSIM to emulate a virtual ARC EM based board including the following features:
- ARC EM processor
- ARC internal timer
- a virtual output only console (uart-nsim)
There are two sub configurations in board:
- nsim_em which includes normal em features and ARC MPUv2
- nsim_sem which includes secure em features and ARC MPUv3
For detailed arc features, please refer to
boards/arc/nsim_em/support/nsim.props
and
boards/arc/nsim_em/support/nsim_sem.props
.
Hardware¶
Supported Features¶
The following hardware features are supported:
Interface | Controller | EM | SEM | Driver/Component |
---|---|---|---|---|
INT | on-chip | Y | Y | interrupt_controller |
UART | nsim uart | Y | Y | serial port-polling |
TIMER | on-chip | Y | Y | system clock |
Programming and Debugging¶
Required Hardware and Software¶
To use Zephyr RTOS applications on this board, Designware ARC nSIM or Designware ARC nSIM Lite is required.
Building Sample Applications¶
Use this configuration to run basic Zephyr applications and kernel tests in nSIM, for example, with the Synchronization Sample:
cd $ZEPHYR_BASE/samples/synchronization
mkdir build && cd build
# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=nsim_em ..
# Now run ninja on the generated build system:
ninja flash
This will build an image with the synchronization sample app, boot it using nsim, and display the following console output:
***** BOOTING ZEPHYR OS v1.12 - BUILD: July 6 2018 15:17:26 *****
threadA: Hello World from arc!
threadB: Hello World from arc!
threadA: Hello World from arc!
threadB: Hello World from arc!
Note
To exit the simulator, use Ctrl+], then Ctrl+c
Debugging¶
Refer to the detailed overview about Custom Board Definition.