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
