Skip to content

Commit f9bf75a

Browse files
JorgeGzmacassis
authored andcommitted
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 <jorge.gzm@gmail.com>
1 parent 2a1b238 commit f9bf75a

3 files changed

Lines changed: 102 additions & 0 deletions

File tree

  • Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi
  • boards/arm/stm32h7/linum-stm32h753bi

Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,3 +1298,28 @@ This example demonstrates how to use the CAN-FD peripherals can0 and can1 with t
12981298
can0 051 [8] 00 11 22 33 44 55 66 77
12991299
can0 051 [16] 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
13001300

1301+
1302+
zbus
1303+
----
1304+
1305+
Enables the zbus message bus library (``apps/system/zbus``, a port of the
1306+
Zephyr zbus — see :doc:`its documentation
1307+
</applications/system/zbus/index>`) with all observer types (listeners,
1308+
subscribers, message subscribers, async listeners, ISR publisher and
1309+
runtime observers), together with its example application::
1310+
1311+
nsh> zbus
1312+
zbus: publishing 5 messages to acc_chan
1313+
zbus: listener: x=1 y=10 z=100
1314+
zbus: subscriber: x=1 y=10 z=100
1315+
...
1316+
zbus: done
1317+
1318+
The cmocka test suite from ``apps/testing/zbus`` is also included and can
1319+
be used to validate the whole zbus API on the board::
1320+
1321+
nsh> cmocka_zbus_test
1322+
[==========] tests: Running 16 test(s).
1323+
...
1324+
[==========] tests: 16 test(s) run.
1325+
[ PASSED ] 16 test(s).
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#
2+
# This file is autogenerated: PLEASE DO NOT EDIT IT.
3+
#
4+
# You can use "make menuconfig" to make any modifications to the installed .config file.
5+
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
6+
# modifications.
7+
#
8+
# CONFIG_STANDARD_SERIAL is not set
9+
CONFIG_ALLOW_MIT_COMPONENTS=y
10+
CONFIG_ARCH="arm"
11+
CONFIG_ARCH_BOARD="linum-stm32h753bi"
12+
CONFIG_ARCH_BOARD_LINUM_STM32H753BI=y
13+
CONFIG_ARCH_CHIP="stm32h7"
14+
CONFIG_ARCH_CHIP_STM32=y
15+
CONFIG_ARCH_CHIP_STM32H753BI=y
16+
CONFIG_ARCH_CHIP_STM32H7=y
17+
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
18+
CONFIG_ARCH_INTERRUPTSTACK=2048
19+
CONFIG_ARCH_SETJMP_H=y
20+
CONFIG_ARCH_STACKDUMP=y
21+
CONFIG_ARMV7M_DCACHE=y
22+
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
23+
CONFIG_ARMV7M_DTCM=y
24+
CONFIG_ARMV7M_ICACHE=y
25+
CONFIG_BOARD_LOOPSPERMSEC=43103
26+
CONFIG_BUILTIN=y
27+
CONFIG_DEBUG_FEATURES=y
28+
CONFIG_DEBUG_SYMBOLS=y
29+
CONFIG_EXAMPLES_ALARM=y
30+
CONFIG_EXAMPLES_ZBUS=y
31+
CONFIG_FS_PROCFS=y
32+
CONFIG_IDLETHREAD_STACKSIZE=2048
33+
CONFIG_INIT_ENTRYPOINT="nsh_main"
34+
CONFIG_INIT_STACKSIZE=4096
35+
CONFIG_INTELHEX_BINARY=y
36+
CONFIG_LIBM=y
37+
CONFIG_LINE_MAX=64
38+
CONFIG_MM_REGIONS=4
39+
CONFIG_MQ_MAXMSGSIZE=96
40+
CONFIG_NSH_BUILTIN_APPS=y
41+
CONFIG_NSH_DISABLE_IFUPDOWN=y
42+
CONFIG_NSH_DISABLE_VCONFIG=y
43+
CONFIG_NSH_FILEIOSIZE=512
44+
CONFIG_NSH_READLINE=y
45+
CONFIG_PREALLOC_TIMERS=4
46+
CONFIG_RAM_SIZE=245760
47+
CONFIG_RAM_START=0x20010000
48+
CONFIG_RAW_BINARY=y
49+
CONFIG_RR_INTERVAL=200
50+
CONFIG_RTC_ALARM=y
51+
CONFIG_RTC_DATETIME=y
52+
CONFIG_RTC_DRIVER=y
53+
CONFIG_SCHED_CPULOAD_SYSCLK=y
54+
CONFIG_SCHED_WAITPID=y
55+
CONFIG_STACK_COLORATION=y
56+
CONFIG_START_DAY=6
57+
CONFIG_START_MONTH=12
58+
CONFIG_START_YEAR=2011
59+
CONFIG_STM32_PWR=y
60+
CONFIG_STM32_RTC=y
61+
CONFIG_STM32_USART1=y
62+
CONFIG_SYSTEM_NSH=y
63+
CONFIG_TASK_NAME_SIZE=20
64+
CONFIG_TESTING_CMOCKA=y
65+
CONFIG_TESTING_OSTEST=y
66+
CONFIG_TESTING_ZBUS=y
67+
CONFIG_USART1_SERIAL_CONSOLE=y
68+
CONFIG_ZBUS=y
69+
CONFIG_ZBUS_ASYNC_LISTENER=y
70+
CONFIG_ZBUS_CHANNEL_ID=y
71+
CONFIG_ZBUS_CHANNEL_NAME=y
72+
CONFIG_ZBUS_CHANNEL_PUBLISH_STATS=y
73+
CONFIG_ZBUS_MSG_SUBSCRIBER=y
74+
CONFIG_ZBUS_OBSERVER_NAME=y
75+
CONFIG_ZBUS_RUNTIME_OBSERVERS=y

boards/arm/stm32h7/linum-stm32h753bi/scripts/flash.ld

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ SECTIONS
126126
*(.got)
127127
*(.gcc_except_table)
128128
*(.gnu.linkonce.r.*)
129+
#include <nuttx/linker/common-rom.ld>
129130
_etext = ABSOLUTE(.);
130131
} > flash
131132

@@ -156,6 +157,7 @@ SECTIONS
156157
*(.data .data.*)
157158
*(.gnu.linkonce.d.*)
158159
CONSTRUCTORS
160+
#include <nuttx/linker/common-ram.ld>
159161
. = ALIGN(4);
160162
_edata = ABSOLUTE(.);
161163
} > sram AT > flash

0 commit comments

Comments
 (0)