You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/10/26 11:37:15 UTC
(nuttx) branch master updated: Documentation: add some notes about running NuttX on Renode
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 8b9337fb52 Documentation: add some notes about running NuttX on Renode
8b9337fb52 is described below
commit 8b9337fb525774fb140fd7eea02e069bc1aaa2b9
Author: raiden00pl <ra...@railab.me>
AuthorDate: Sat Oct 26 13:02:40 2024 +0200
Documentation: add some notes about running NuttX on Renode
add some notes about running NuttX on Renode
---
Documentation/guides/index.rst | 1 +
Documentation/guides/renode.rst | 116 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 117 insertions(+)
diff --git a/Documentation/guides/index.rst b/Documentation/guides/index.rst
index 984a326d52..9ea60fcd65 100644
--- a/Documentation/guides/index.rst
+++ b/Documentation/guides/index.rst
@@ -51,3 +51,4 @@ Guides
platform_directories.rst
port_drivers_to_stm32f7.rst
semihosting.rst
+ renode.rst
diff --git a/Documentation/guides/renode.rst b/Documentation/guides/renode.rst
new file mode 100644
index 0000000000..e0fa78825a
--- /dev/null
+++ b/Documentation/guides/renode.rst
@@ -0,0 +1,116 @@
+===================
+Run NuttX on Renode
+===================
+
+Renode (https://renode.io/) is and open source virutal development
+framework dedicated for complex embedded systems.
+
+This page contains notes on running some of NuttX boards on Renode.
+
+ARM-v7m
+=======
+
+Renode doesn't correctly handle ``SVC`` instruction escalation to HardFault
+when ``PRIMASK=1`` which crashs NuttX in the first ``up_exit()`` call.
+We can work around this problem by enabling BASEPRI::
+
+ CONFIG_ARMV7M_USEBASEPRI=y
+
+stm32f4discovery
+================
+
+``CONFIG_ARMV7M_USEBASEPRI=y`` must be set.
+
+Renode doesn't support CCM memory, so we have to disable it
+with ``CONFIG_MM_REGIONS=1``.
+
+Renode script::
+
+ using sysbus
+ $name?="STM32F4_Discovery"
+ mach create $name
+ machine LoadPlatformDescription @platforms/boards/stm32f4_discovery-kit.repl
+
+ cpu PerformanceInMips 125
+
+ $bin?=@nuttx
+
+ showAnalyzer sysbus.usart2
+
+ macro reset
+ """
+ sysbus LoadELF $bin
+ """
+
+ runMacro $reset
+
+
+Tested with ``stm32f4discovery/nsh``.
+
+nucleo-l073rz
+=============
+
+Doesn't work. No BASEPRI implementation for ``Cotex-M0`` in NuttX.
+
+nrf52840-dk
+===========
+
+Nordic UART peripheral is not supported by Renode, UARTE support
+is required (EasyDMA).
+
+stm32f746g-disco
+================
+
+``CONFIG_ARMV7M_USEBASEPRI=y`` and ``CONFIG_ARMV7M_BASEPRI_WAR=y`` must be set.
+
+Renode script::
+
+ using sysbus
+ $name?="STM32F746"
+ mach create $name
+ machine LoadPlatformDescription @platforms/boards/stm32f7_discovery-bb.repl
+
+ $bin ?= @nuttx
+
+ showAnalyzer usart1
+ showAnalyzer ltdc
+
+ macro reset
+ """
+ sysbus LoadELF $bin
+ """
+
+ runMacro $reset
+
+Tested with ``stm32f746g-disco/nsh``.
+
+Known issues:
+
+* ``stm32f746g-disco/lvgl`` - crash due to incompatible I2C our touchscreen driver
+
+nucleo-h743zi
+=============
+
+``CONFIG_ARMV7M_USEBASEPRI=y`` must be set.
+
+Renode doesn't support ``PWR_CSR1_ACTVOSRDY`` bit so we have to disable
+it with ``CONFIG_STM32H7_PWR_IGNORE_ACTVOSRDY=y``.
+
+Renode script::
+
+ using sysbus
+ mach create "nucleo_h743zi"
+ include @platforms/boards/nucleo_h753zi.repl
+
+ $bin=@nuttx
+
+ showAnalyzer sysbus.usart3
+
+ macro reset
+ """
+ sysbus LoadELF $bin
+ """
+
+ runMacro $reset
+
+Tested wtih ``nucleo-h743zi/nsh``.