boards/linum-stm32h753bi: Add zbus board integration and configuration - #19916
Open
JorgeGzm wants to merge 2 commits into
Open
boards/linum-stm32h753bi: Add zbus board integration and configuration#19916JorgeGzm wants to merge 2 commits into
JorgeGzm wants to merge 2 commits into
Conversation
JorgeGzm
requested review from
hartmannathan,
jerpelea,
linguini1,
raiden00pl,
rcsim and
xiaoxiang781216
as code owners
August 21, 2026 02:20
Contributor
|
@JorgeGzm could you split iterator section from zbus to new pr? |
🔗 Cross-repo PR dependenciesThe read-only Build run reported the following dependent PR(s) and fetched head SHA(s): CI run: https://github.com/apache/nuttx/actions/runs/32439921078 |
Contributor
|
Do not list "new files". This is visible in the diff already. Please review the AI-generated PR descriptions and revise them for correctness and simplicity. |
Contributor
Author
🔗 Cross-repo PR dependenciesThe read-only Build run reported the following dependent PR(s) and fetched head SHA(s): CI run: https://github.com/apache/nuttx/actions/runs/32515058484 |
NuttX-side support for the zbus message bus port (apps/system/zbus in nuttx-apps), built on the link-time iterable sections infrastructure added in a companion PR: - include/nuttx/linker/zbus.ld + tools/Config.mk hook (CONFIG_ZBUS_LINKER_INSERT): optional zero-touch mode using GNU ld INSERT AFTER through ARCHSCRIPT, for boards that do not include the iterable sections common fragments (see the in-file comments for the command-line ordering and MEMORY-region constraints). - Documentation/applications/system/zbus: Sphinx documentation for the zbus application, with the upstream Zephyr diagrams (Apache-2.0). - .codespellrc: skip the reused zbus SVG diagrams (embedded base64 raster data trips the spell checker). Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
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. Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
🔗 Cross-repo PR dependenciesThe read-only Build run reported the following dependent PR(s) and fetched head SHA(s):
CI run: https://github.com/apache/nuttx/actions/runs/32531266071 |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integration of the zbus message bus port (apache/nuttx-apps#3743) on
top of the iterable sections infrastructure (#19927), in two commits:
include/nuttx/linker/zbus.ld+ atools/Config.mkhook (CONFIG_ZBUS_LINKER_INSERT), an optionalzero-touch mode using GNU ld
INSERT AFTERfor boards that do notinclude the common fragments (constraints documented in the file);
plus the zbus Sphinx documentation.
#includelines in
flash.ldand azbusboard configuration enabling thezbus example and its cmocka test suite, reproducible with
./tools/configure.sh linum-stm32h753bi:zbus.Impact
linum-stm32h753bi through the new
:zbusconfiguration; any otherboard can adopt it the same way (two linker-script lines, or the
INSERT mode with no board edit).
nothing unless
CONFIG_ZBUSis enabled (verified: the stock:nshmap has zero zbus sections), and the
Config.mkhook is inert unlessCONFIG_ZBUS_LINKER_INSERT=y.board linker script, so the
#includelines work on either).zbusentry in theboard configuration list.
.codespellrcskip list (their embedded base64 raster data trips thespell checker with false positives).
Testing
Target: linum-stm32h753bi (STM32H753BI),
:zbusbuild (Make and CMake): OK, the three_zbus_*_listsectionscollected name-sorted in flash as required by the zbus VDED algorithm.
in the same boot and the
zbusexample produces the expected output,with the fourth message correctly masked for the listener and the
listener notified before the subscriber:
no overlap).
tools/checkpatch.sh -c -u -m -gon both commits (nxstyle +codespell, same flags as CI): all checks pass.
sphinx-build -W:clean.
Depends-On: apache/nuttx-apps#3743
Depends-On: #19927