boards/linum-stm32h753bi: Add zbus board integration and configuration - #19916
boards/linum-stm32h753bi: Add zbus board integration and configuration#19916JorgeGzm wants to merge 2 commits into
Conversation
|
@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 |
|
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. |
🔗 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 |
🔗 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 |
🔗 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/32757958806 |
🔗 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/32880838739 |
🔗 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/32901775310 |
🔗 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/32973406735 |
linguini1
left a comment
There was a problem hiding this comment.
Can you run and attach an OSTest on the board? Since the linker scripts were modified.
Please add the Assisted-by field to your commits to indicate AI assistance.
|
❌ Cross-repo dependency could not be appliedThe Build report says the declared dependency PR(s) could not be applied, so CI did not run against the combined code:
Reason: cherry-pick failed (if your PR has merge commits, rebase instead) CI run: https://github.com/apache/nuttx/actions/runs/32998517896 |
OS tested. However, in the future, please include the full OS test log either in the test section as text or as an attached text file.
🔗 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/33009500013 |
|
ci was fixed, please rebase your change to the last master. @JorgeGzm |
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/common-rom.ld and common-insert.ld: register the zbus channel, observer and channel observation iterable sections (ITERABLE_SECTION blocks guarded by CONFIG_ZBUS, no-op otherwise) for the include and the zero-touch INSERT modes respectively; common-ram.ld: note that zbus needs no RAM sections. - 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). Assisted-by: Claude Code 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. Assisted-by: Claude Code 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/33078932636 |
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.
ostest log:
log_ostest.txt
Depends-On: apache/nuttx-apps#3743