NOEL-ARTYA7-EX-QSG
December 2020, Version 1.2
16
www.cobhamaes.com/gaisler
•
noel32ima_smp
•
noel64im
•
noel64imafd
•
noel64imafd_smp
•
noel64ima_smp
BSP variants suffixed with
_smp
have SMP enabled in the kernel.
5.6.5. Console driver
NOEL-V BSP variants include support for the GRLIB
APBUART
device which is used as RTEMS console. The
GRLIB driver
apbuart_termios.c
is used. That is, the NOEL-V BSP and the LEON BSP:s use the same
console driver. Polling mode is used by default and the kernel can optionally be configured for interrupt console
UART.
5.6.6. Memory layout
All NOEL-V RTEMS BSP variants link the full application to RAM. The link address is the first address of RAM:
0x00000000
. ROM is not used. MMU or PMP is not used by RTEMS.
5.6.7. Work area
The NOEL-V RTEMS BSP variants tries to detect the amount of RAM and sizing of the workspace (heap) at run-
time. This is done by investigating the stack pointer (
sp
) at entry to kernel.
• If
sp
equals
0
at entry to the kernel, then the BSP assumes that a total of 12 MiB RAM is available.
• If
sp
is not equal to
0
at entry to the kernel, then the BSP assumes that
sp
points to the top of RAM.
In both cases, the workspace (heap) is configured to use all RAM space ranging from end of the image to the end
of RAM.
sp
is normally initialized by GRMON when using the run command.
5.6.8. Symmetric Multiprocessing
RTEMS on NOEL-V supports Symmetric Multiprocessing (SMP). This works out-of-the-box with NOEL-V and
no RTEMS changes are needed for SMP, except for giving the option
--enable-smp
when configuring the
kernel. Some of the NOEL-V BSP variants in the binary kernel distribution are compiled with SMP support
(Section 5.6.4).
5.7. Device tree
5.7.1. Background
RTEMS relies on a device tree description of the target system to operate. It is used for locating peripheral devices
and other hardware configuration. On entry to the kernel, RTEMS assumes that a pointer to the device tree is
available in register
a1
. The RTEMS init code copies the device tree from the location pointed to by
a1
to a
private buffer in RAM where it is later parsed during device discovery.
When building an RTEMS application with
rtems-noel-1.0.4
, a device tree is not included in the link image.
The benefit of this is that the same application binary can be used on different systems.
5.7.2. GRMON
GRMON is responsible for preparing the device tree binary file (
.dtb
) in RAM and pointing to it with
a1
.
Preparing and defining the device tree with GRMON is easiest done using the
dtb
command.
Then use the command run as normal to start an RTEMS application, or any other application expecting a device
tree:
Example 5.2. load and run a RAM image which expects a device tree
grmon3> dtb noel-xilinx-artya7.dtb
grmon3> load myprogram.elf
grmon3> run