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

cpu/stm32f1: Add Kconfig dependency modeling #16483

Merged
merged 6 commits into from
Jul 2, 2021

Conversation

MrKevinWeiss
Copy link
Contributor

@MrKevinWeiss MrKevinWeiss commented May 19, 2021

Contribution description

This adds the Kconfig dependency modeling to the stm32 cpu. This applies to all stm32 based boards but will only be checked for a stm32f1 series board to limit the size of the PR. Other series will be added in follow-up PRs with the required fixes.

  • Add Kconfig dependency modeling for stm32
  • Test the nucleo-f103rb with TEST_KCONFIG=1
  • Apply found with Kconfig
    • fix arduino deps
    • fix cpp usage with kconfig
    • fix kconfig naming of stm32f1 fam for ztimer

Testing procedure

Murdock should test the binaries are matching the make build

Issues/PRs references

Based on #16487

@MrKevinWeiss MrKevinWeiss added State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Type: new feature The issue requests / The PR implemements a new feature for RIOT Area: cpu Area: CPU/MCU ports Area: Kconfig Area: Kconfig integration labels May 19, 2021
@MrKevinWeiss MrKevinWeiss self-assigned this May 19, 2021
@github-actions github-actions bot added Area: boards Area: Board ports Platform: ARM Platform: This PR/issue effects ARM-based platforms and removed Area: Kconfig Area: Kconfig integration labels May 19, 2021
@MrKevinWeiss
Copy link
Contributor Author

Thus far it is only tested on examples/hello_world. I will be combing through the makefile deps later to get any special selection done then add tests to murdock.

@leandrolanzieri leandrolanzieri added the Area: Kconfig Area: Kconfig integration label May 19, 2021
@github-actions github-actions bot removed the Area: Kconfig Area: Kconfig integration label May 20, 2021
@github-actions github-actions bot added Area: build system Area: Build system Area: CI Area: Continuous Integration of RIOT components Area: tests Area: tests and testing framework labels May 20, 2021
@MrKevinWeiss MrKevinWeiss added State: waiting for other PR State: The PR requires another PR to be merged first CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet State: waiting for other PR State: The PR requires another PR to be merged first labels May 20, 2021
@MrKevinWeiss
Copy link
Contributor Author

Just testing with the CI to see what happens.

@MrKevinWeiss MrKevinWeiss removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label May 21, 2021
@github-actions github-actions bot removed Area: network Area: Networking Area: doc Area: Documentation labels Jul 2, 2021
@MrKevinWeiss MrKevinWeiss removed Area: boards Area: Board ports Area: sys Area: System Area: tests Area: tests and testing framework Area: timers Area: timer subsystems labels Jul 2, 2021
@MrKevinWeiss
Copy link
Contributor Author

there we go... Should be ready.

@leandrolanzieri leandrolanzieri added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jul 2, 2021
sys/arduino/Kconfig Outdated Show resolved Hide resolved
@github-actions github-actions bot added Area: boards Area: Board ports Area: sys Area: System Area: tests Area: tests and testing framework Area: timers Area: timer subsystems labels Jul 2, 2021
@MrKevinWeiss
Copy link
Contributor Author

depends on HAS_LIBSTDCPP in arduino/kconfig was removed and directly amended.

There is no clear reason why this should be configurable and causes an abstraction of USEMODULE.
The true reason is to make Kconfig easier but it seems having a variable in USEMODULE is a bit strange.
Also add better error message when kconfig or make includes a .cpp without cpp module.
@MrKevinWeiss MrKevinWeiss changed the title cpu/stm32: Add Kconfig dependency modeling cpu/stm32f1: Add Kconfig dependency modeling Jul 2, 2021
Copy link
Contributor

@leandrolanzieri leandrolanzieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is happy and changes make sense. Let's go ahead with this one. ACK!

@leandrolanzieri leandrolanzieri merged commit c52da57 into RIOT-OS:master Jul 2, 2021
@MrKevinWeiss MrKevinWeiss deleted the pr/kconfig/stm32 branch July 2, 2021 19:04
@MrKevinWeiss
Copy link
Contributor Author

Many thanks, one small step for stm32f1 series, one leap for Kconfig.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: arduino API Area: Arduino wrapper API Area: boards Area: Board ports Area: build system Area: Build system Area: CI Area: Continuous Integration of RIOT components Area: cpu Area: CPU/MCU ports Area: Kconfig Area: Kconfig integration Area: sys Area: System Area: tests Area: tests and testing framework Area: timers Area: timer subsystems CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants