forked from nrfconnect/sdk-zephyr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards nrf_bsim: Add a new nrf54l15bsim target
Add a new simulated nrf54l15 cpuapp target Signed-off-by: Alberto Escolar Piedras <[email protected]>
- Loading branch information
1 parent
042925f
commit 0b173b1
Showing
10 changed files
with
226 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Copyright (c) 2024 Nordic Semiconductor ASA | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_NRF54L15BSIM | ||
select SOC_POSIX |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
.. _nrf54l15bsim: | ||
|
||
NRF54L15 simulated boards (BabbleSim) | ||
##################################### | ||
|
||
.. contents:: | ||
:depth: 1 | ||
:backlinks: entry | ||
:local: | ||
|
||
|
||
Overview | ||
******** | ||
|
||
To allow simulating nRF54L15 SOCs a Zephyr target boards is provided: the | ||
``nrf54l15bsim/nrf54l15/cpuapp``. | ||
|
||
This uses `BabbleSim`_ to simulate the radio activity, and the | ||
:ref:`POSIX architecture<Posix arch>` and the `native simulator`_ to | ||
run applications natively on the development system. This has the benefit of | ||
providing native code execution performance and easy debugging using | ||
native tools, but inherits :ref:`its limitations <posix_arch_limitations>`. | ||
|
||
Just like for the nrf54l15pdk target, | ||
the nrf54l15bsim/nrf54l15/cpuapp build target provides support for the application core, | ||
on the simulated nRF54L15 SOC. | ||
|
||
.. note:: | ||
|
||
This simulated target does **not** yet support targeting the cpuflpr core. | ||
|
||
.. warning:: | ||
|
||
This target is experimental, and does not yet include models of the RADIO peripheral, | ||
so the BLE and 802.15.4 stacks cannot be run on it yet. | ||
|
||
This boards include models of some of the nRF54L15 SOC peripherals: | ||
|
||
* DPPI (Distributed Programmable Peripheral Interconnect) | ||
* EGU (Event Generator Unit) | ||
* GRTC (Global Real-time Counter) | ||
* PPIB (PPI Bridge) | ||
* RTC (Real Time Counter) | ||
* TEMP (Temperature sensor) | ||
* TIMER | ||
|
||
and will use the same drivers as the nrf54l15pdk targets for these. | ||
For more information on what is modeled to which level of detail, | ||
check the `HW models implementation status`_. | ||
|
||
Note that unlike a real nrf54l15 device, the nrf54l15bsim boards have unlimited RAM and flash for | ||
code. | ||
|
||
.. _BabbleSim: | ||
https://BabbleSim.github.io | ||
|
||
.. _native simulator: | ||
https://github.com/BabbleSim/native_simulator/blob/main/docs/README.md | ||
|
||
.. _HW models implementation status: | ||
https://github.com/BabbleSim/ext_nRF_hw_models/blob/main/docs/README_impl_status.md | ||
|
||
|
||
Building for, and using this board | ||
********************************** | ||
|
||
You can follow the instructions from the :ref:`nrf52_bsim board <nrf52bsim_build_and_run>`. | ||
Simply change the board/target appropriately when building. | ||
|
||
|
||
TrustZone, TF-M and other security considerations | ||
************************************************* | ||
|
||
ARM's TrustZone is not modeled in this board. This means that: | ||
|
||
* There is no differentiation between secure and non secure execution states or bus accesses. | ||
* All RAM, flash and peripherals are in principle accessible from all SW. Peripherals with their | ||
own interconnect master ports can, in principle, access any other peripheral or RAM area. | ||
* There is no nrf54l15bsim/nrf54l15/cpuapp/ns board/build target, or possibility of mixing secure | ||
and non-secure images. | ||
* Currently there is no model of the SPU, and therefore neither RRAM, RAM areas or peripherals | ||
can be labeled as restricted for secure or non secure access. | ||
* TF-M cannot be used. | ||
|
||
Note that the CRACEN peripheral is not modeled. The mbedTLS library can still be used | ||
but with a SW crypto backend. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
/* | ||
* Copyright (c) 2024 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <mem.h> | ||
#include <arm/nordic/nrf54l15_cpuapp.dtsi> | ||
|
||
/ { | ||
model = "Nordic NRF54L15 BSIM NRF54L15 Application"; | ||
compatible = "bsim,nrf54l15-bsim-nrf54l15-cpuapp", "bsim,nrf54"; | ||
|
||
chosen { | ||
}; | ||
|
||
/delete-node/ cpus; | ||
/delete-node/ clocks; | ||
/delete-node/ sw-pwm; | ||
|
||
soc { | ||
/delete-node/ uicr@ffd000; | ||
/delete-node/ ficr@ffc000; | ||
/delete-node/ memory@20000000; | ||
/delete-node/ memory@2002f000; | ||
peripheral@50000000 { | ||
/delete-node/ spi@4a000; | ||
/delete-node/ uart@4a000; | ||
/delete-node/ vpr@4c000; | ||
/delete-node/ mailbox@0; | ||
/delete-node/ interrupt-controller@f0000000; | ||
/delete-node/ gpio@50400; | ||
/delete-node/ radio@8a000; | ||
/delete-node/ i2c@c6000; | ||
/delete-node/ spi@c6000; | ||
/delete-node/ uart@c6000; | ||
/delete-node/ i2c@c7000; | ||
/delete-node/ spi@c7000; | ||
/delete-node/ uart@c7000; | ||
/delete-node/ i2c@c8000; | ||
/delete-node/ spi@c8000; | ||
/delete-node/ uart@c8000; | ||
/delete-node/ pwm@d2000; | ||
/delete-node/ pwm@d3000; | ||
/delete-node/ pwm@d4000; | ||
/delete-node/ adc@d5000; | ||
/delete-node/ nfct@d6000; | ||
/delete-node/ gpio@d8200; | ||
/delete-node/ gpiote@da000; | ||
/delete-node/ i2s@dd000; | ||
/delete-node/ qdec@e0000; | ||
/delete-node/ qdec@e1000; | ||
/delete-node/ i2c@104000; | ||
/delete-node/ spi@104000; | ||
/delete-node/ uart@104000; | ||
/delete-node/ watchdog@108000; | ||
/delete-node/ watchdog@109000; | ||
/delete-node/ gpio@10a000; | ||
/delete-node/ gpiote@10c000; | ||
/delete-node/ clock@10e000; | ||
}; | ||
/delete-node/ rram-controller@5004b000; | ||
/delete-node/ spu@50003000; | ||
/delete-node/ gpiote@5000d000; | ||
/delete-node/ crypto@50844000; | ||
}; | ||
}; | ||
|
||
&grtc { | ||
owned-channels = <0 1 2 3 4 5 6 7 8 9 10 11>; | ||
/* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */ | ||
child-owned-channels = <3 4 7 8 9 10 11>; | ||
status = "okay"; | ||
}; | ||
|
||
&temp { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
identifier: nrf54l15bsim/nrf54l15/cpuapp | ||
name: NRF54L15 BabbleSim - Application Core target | ||
type: native | ||
arch: posix | ||
simulation: native | ||
env: | ||
- BSIM_OUT_PATH | ||
toolchain: | ||
- zephyr | ||
testing: | ||
ignore_tags: | ||
- gpio | ||
- modem | ||
- uart | ||
- bsim_skip_CI |
8 changes: 8 additions & 0 deletions
8
boards/native/nrf_bsim/nrf54l15bsim_nrf54l15_cpuapp_defconfig
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright (c) 2023 Nordic Semiconductor ASA | ||
|
||
CONFIG_CONSOLE=y | ||
CONFIG_NO_OPTIMIZATIONS=y | ||
|
||
# Start SYSCOUNTER on driver init | ||
CONFIG_NRF_GRTC_START_SYSCOUNTER=y |