Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example-application module: add board zxa_board_stub #33981

Closed
gregshue opened this issue Apr 2, 2021 · 0 comments
Closed

example-application module: add board zxa_board_stub #33981

gregshue opened this issue Apr 2, 2021 · 0 comments
Labels
RFC Request For Comments: want input from the community

Comments

@gregshue
Copy link

gregshue commented Apr 2, 2021

Introduction

The example-application repository is to demonstrate how an external module may be organized and configured so that module features may be configured, built, and verified by the Zephyr build/CI system. This proposal is to add the board zxa_board_stub as a example demonstrating:

  • module configuration for Zephyr build system discovery of boards
  • board integration files with minimal content
  • board documentation files (needed to test Zephyr documentation generation)

Problem description

The scope of the example-application module includes demonstrating a way to configure modules so that boards in the module will be recognized by the Zephyr build system. There seems to be no current example of this or test that verifies this.

Proposed change

The module requires:

  • adding the following sub-trees:
    • zephyr/boards/**/zxa_board_stub/
    • zephyr/dts/**/zxa/
    • zephyr/tests/boards/**/zxa_board_stub/
  • adding the necessary Kconfig, build, and test files for high integration coverage
  • add stubbed board documentation (to be able to verify behavior of Zephyr document generation system)
    • doc/index.rst
    • doc/img/zxa_board_stub.svg
  • extend zephyr/module.yml so that the build and CI system will build and run the board verification test(s)

Detailed RFC

Proposed change (Detailed)

The proposed change is a direct configuration of functionality already present in the build and document generation
systems, and follows existing patterns whenever they provide a scalable solution. To minimize maintenance overhead,
this proposed board only provides non-functional stubs, and the board test only verifies that the board is identified
and the test builds correctly for the board.

Dependencies

This change only requires trivial maintenance when the build system, dts file format, and board interfaces deprecate existing functionality.

Concerns and Unresolved Questions

Q: What zephyr/boards/$arch/ should this board source/doc tree be under?
Q: What zephyr/dts/$vendor/ should the dts files for this board be under?
Q: Where should tests for this board be within the zephyr/tests/boards/ tree?

Alternatives

Other options considered were:

  1. Copying/renaming a supported board directory. Rejected to reduce maintenance costs.
  2. Symbolically linking to a supported board directory. Rejected since not supported on Windows file systems.
  3. Generating this board source from a supported board directory. Rejected to reduce implementation & maintenance costs.
  4. Using a PNG or JPEG image in documentation. Rejected to reduce storage overhead. (nrf52840dongle_nrf52840 already has an SVG within the board documentation.)
@gregshue gregshue added the RFC Request For Comments: want input from the community label Apr 2, 2021
@gregshue gregshue changed the title example-applicatoin module: add board zxa_board_stub example-application module: add board zxa_board_stub Apr 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Request For Comments: want input from the community
Projects
None yet
Development

No branches or pull requests

1 participant