This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit f9bf75ac62780ebe422258519a3e176bc607d9a4
Author: Jorge Guzman <[email protected]>
AuthorDate: Wed Aug 26 15:01:03 2026 -0300

    boards/linum-stm32h753bi: Add zbus board configuration
    
    Adopt the zbus message bus on the linum-stm32h753bi (first adopter
    board):
    
    - scripts/flash.ld: include the iterable sections common fragments
      (2 lines: common-rom.ld inside .text, common-ram.ld inside .data).
    - configs/zbus/defconfig: board configuration enabling zbus with all
      observer types, the zbus example and its cmocka test suite
      (./tools/configure.sh linum-stm32h753bi:zbus).
    - Board documentation: describe the new configuration.
    
    Validated on hardware: the 16-test cmocka suite passes twice in the
    same boot and the zbus example produces the expected output.
    
    Assisted-by: Claude Code
    Signed-off-by: Jorge Guzman <[email protected]>
---
 .../arm/stm32h7/boards/linum-stm32h753bi/index.rst | 25 ++++++++
 .../linum-stm32h753bi/configs/zbus/defconfig       | 75 ++++++++++++++++++++++
 .../arm/stm32h7/linum-stm32h753bi/scripts/flash.ld |  2 +
 3 files changed, 102 insertions(+)

diff --git 
a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst 
b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst
index 9b469c9c80a..01e0e026c17 100644
--- a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst
+++ b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst
@@ -1298,3 +1298,28 @@ This example demonstrates how to use the CAN-FD 
peripherals can0 and can1 with t
     can0  051   [8]  00 11 22 33 44 55 66 77
     can0  051  [16]  00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
 
+
+zbus
+----
+
+Enables the zbus message bus library (``apps/system/zbus``, a port of the
+Zephyr zbus — see :doc:`its documentation
+</applications/system/zbus/index>`) with all observer types (listeners,
+subscribers, message subscribers, async listeners, ISR publisher and
+runtime observers), together with its example application::
+
+    nsh> zbus
+    zbus: publishing 5 messages to acc_chan
+    zbus:  listener: x=1 y=10 z=100
+    zbus:  subscriber: x=1 y=10 z=100
+    ...
+    zbus: done
+
+The cmocka test suite from ``apps/testing/zbus`` is also included and can
+be used to validate the whole zbus API on the board::
+
+    nsh> cmocka_zbus_test
+    [==========] tests: Running 16 test(s).
+    ...
+    [==========] tests: 16 test(s) run.
+    [  PASSED  ] 16 test(s).
diff --git a/boards/arm/stm32h7/linum-stm32h753bi/configs/zbus/defconfig 
b/boards/arm/stm32h7/linum-stm32h753bi/configs/zbus/defconfig
new file mode 100644
index 00000000000..040c5d0b634
--- /dev/null
+++ b/boards/arm/stm32h7/linum-stm32h753bi/configs/zbus/defconfig
@@ -0,0 +1,75 @@
+#
+# This file is autogenerated: PLEASE DO NOT EDIT IT.
+#
+# You can use "make menuconfig" to make any modifications to the installed 
.config file.
+# You can then do "make savedefconfig" to generate a new defconfig file that 
includes your
+# modifications.
+#
+# CONFIG_STANDARD_SERIAL is not set
+CONFIG_ALLOW_MIT_COMPONENTS=y
+CONFIG_ARCH="arm"
+CONFIG_ARCH_BOARD="linum-stm32h753bi"
+CONFIG_ARCH_BOARD_LINUM_STM32H753BI=y
+CONFIG_ARCH_CHIP="stm32h7"
+CONFIG_ARCH_CHIP_STM32=y
+CONFIG_ARCH_CHIP_STM32H753BI=y
+CONFIG_ARCH_CHIP_STM32H7=y
+CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
+CONFIG_ARCH_INTERRUPTSTACK=2048
+CONFIG_ARCH_SETJMP_H=y
+CONFIG_ARCH_STACKDUMP=y
+CONFIG_ARMV7M_DCACHE=y
+CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
+CONFIG_ARMV7M_DTCM=y
+CONFIG_ARMV7M_ICACHE=y
+CONFIG_BOARD_LOOPSPERMSEC=43103
+CONFIG_BUILTIN=y
+CONFIG_DEBUG_FEATURES=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_EXAMPLES_ALARM=y
+CONFIG_EXAMPLES_ZBUS=y
+CONFIG_FS_PROCFS=y
+CONFIG_IDLETHREAD_STACKSIZE=2048
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INIT_STACKSIZE=4096
+CONFIG_INTELHEX_BINARY=y
+CONFIG_LIBM=y
+CONFIG_LINE_MAX=64
+CONFIG_MM_REGIONS=4
+CONFIG_MQ_MAXMSGSIZE=96
+CONFIG_NSH_BUILTIN_APPS=y
+CONFIG_NSH_DISABLE_IFUPDOWN=y
+CONFIG_NSH_DISABLE_VCONFIG=y
+CONFIG_NSH_FILEIOSIZE=512
+CONFIG_NSH_READLINE=y
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_RAM_SIZE=245760
+CONFIG_RAM_START=0x20010000
+CONFIG_RAW_BINARY=y
+CONFIG_RR_INTERVAL=200
+CONFIG_RTC_ALARM=y
+CONFIG_RTC_DATETIME=y
+CONFIG_RTC_DRIVER=y
+CONFIG_SCHED_CPULOAD_SYSCLK=y
+CONFIG_SCHED_WAITPID=y
+CONFIG_STACK_COLORATION=y
+CONFIG_START_DAY=6
+CONFIG_START_MONTH=12
+CONFIG_START_YEAR=2011
+CONFIG_STM32_PWR=y
+CONFIG_STM32_RTC=y
+CONFIG_STM32_USART1=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_TASK_NAME_SIZE=20
+CONFIG_TESTING_CMOCKA=y
+CONFIG_TESTING_OSTEST=y
+CONFIG_TESTING_ZBUS=y
+CONFIG_USART1_SERIAL_CONSOLE=y
+CONFIG_ZBUS=y
+CONFIG_ZBUS_ASYNC_LISTENER=y
+CONFIG_ZBUS_CHANNEL_ID=y
+CONFIG_ZBUS_CHANNEL_NAME=y
+CONFIG_ZBUS_CHANNEL_PUBLISH_STATS=y
+CONFIG_ZBUS_MSG_SUBSCRIBER=y
+CONFIG_ZBUS_OBSERVER_NAME=y
+CONFIG_ZBUS_RUNTIME_OBSERVERS=y
diff --git a/boards/arm/stm32h7/linum-stm32h753bi/scripts/flash.ld 
b/boards/arm/stm32h7/linum-stm32h753bi/scripts/flash.ld
index b726e5c4576..036b6b4c5eb 100644
--- a/boards/arm/stm32h7/linum-stm32h753bi/scripts/flash.ld
+++ b/boards/arm/stm32h7/linum-stm32h753bi/scripts/flash.ld
@@ -126,6 +126,7 @@ SECTIONS
         *(.got)
         *(.gcc_except_table)
         *(.gnu.linkonce.r.*)
+#include <nuttx/linker/common-rom.ld>
         _etext = ABSOLUTE(.);
     } > flash
 
@@ -156,6 +157,7 @@ SECTIONS
         *(.data .data.*)
         *(.gnu.linkonce.d.*)
         CONSTRUCTORS
+#include <nuttx/linker/common-ram.ld>
         . = ALIGN(4);
         _edata = ABSOLUTE(.);
     } > sram AT > flash

Reply via email to