cpu/stm32l5: add initial support + add support for nucleo-l552ze-q board - #15192
Merged
Conversation
aabadie
requested review from
DipSwitch,
MrKevinWeiss,
cgundogan,
fjmolinas,
jia200x,
kaspar030,
leandrolanzieri,
roberthartung and
vincent-d
as code owners
October 9, 2020 08:23
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 9, 2020 09:23
948266c to
9855965
Compare
Contributor
|
compile/tests/ztimer_periodic/native:llvm seems to be failing sporadically, it also failed once in #15191. |
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 9, 2020 14:27
9855965 to
fd9bb8a
Compare
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 16, 2020 20:32
fd9bb8a to
a1adec1
Compare
Contributor
|
Needs a rebase 😉 |
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 20, 2020 11:48
a1adec1 to
c46651c
Compare
Contributor
Author
|
rebased |
benpicco
reviewed
Oct 20, 2020
benpicco
left a comment
Contributor
There was a problem hiding this comment.
looks good, just some minor comments
Comment on lines
+267
to
+269
| ifeq ($(STM32_MODEL2), 5) | ||
| RAM_LEN = 256K | ||
| else ifeq ($(STM32_MODEL2), 6) | ||
| RAM_LEN = 256K | ||
| endif |
Contributor
There was a problem hiding this comment.
should those be the same?
Contributor
Author
There was a problem hiding this comment.
This is not a copy paste issue but indeed both cases could be put in common.
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 20, 2020 18:39
c46651c to
f9fe235
Compare
Contributor
|
Looks good. If that's not a copy & paste error in |
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 23, 2020 16:22
f9fe235 to
ef07f8a
Compare
Contributor
Author
|
Squashed and adapted the |
benpicco
approved these changes
Oct 23, 2020
aabadie
force-pushed
the
pr/cpu/stm32l5
branch
from
October 23, 2020 16:28
ef07f8a to
80518e6
Compare
This was referenced Oct 24, 2020
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.
Contribution description
This PR adds support to the stm32l5 family and in the meantime to the nucleo-l552ze-q. It's very similar to L4 (regarding clock configuration) but not all bifield defines are available. That's why there's a specific
stmclk_l5.cfile but the board uses the common l4 clock configuration header.Only the unsecure mode is available, adding support for TrustedZone and privileged peripheral access is more challenging but could be done in follow-up works.
I was not able to make it work very reliably unless idle thread support is added to the build. My intuition is that there's some sort of race condition at startup but I couldn't find the problem.
important: support in OpenOCD is not yet available upstream, you have to build OpenOCD with this patch to program the board.
Testing procedure
compile_and_test_for_board.pyscript and check the results:=> No big surprise.
Issues/PRs references