Skip to content

Add RAMECC registers across the H7 family #353

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

Merged
merged 2 commits into from
Mar 29, 2020
Merged

Conversation

richardeoin
Copy link
Member

RAMECC was 'added' to the single core parts in RM0433 Rev 7. For the dual core parts there are definitions in the SVD, but they are so terrible it's worth starting over (there are registers with the wrong address, and the wrong fields)

For a use case, there is at least one set of commercial spaceflight hardware using the H7:
(no affiliation, no endorsement intended)

@adamgreig
Copy link
Member

Can we just define RAMECC1 and have 2 and 3 derive from that, rather than redefining the registers for each one?

RAMECC was 'added' to the single core parts in RM0433 Rev 7. For the
dual core parts there are definitions, but they are so terrible it's
worth starting over. (there's registers with the wrong address and wrong fields)

The RAMECC2 and RAMECC3 registers are derived from RAMECC1. RAMECC3
only has two useful monitor channels, but there seems to be no harm in
accessing the remaining channels.

For a use case, there is at least one set of commercial spaceflight
hardware using the H7: (no affiliation, no endorsement intended)

- [Nanoavionics OBC](https://nanoavionics.com/cubesat-components/cubesat-on-board-computer-main-bus-unit-satbus-3c2/)
@richardeoin
Copy link
Member Author

Yup, done. RAMECC3 only has two monitors connected, but I assume its safe to access the remaining monitor registers..

@richardeoin
Copy link
Member Author

On a real target (H747), RAMECC3.M[3-5]CR locations are not really registers (they don't read what was just written to them). I think the easiest solution to only keep RAMECC3.M[1-2]* is to keep the separate RAMECC3 definition.

RAMECC3 only has two monitoring units
Copy link
Member

@adamgreig adamgreig left a comment

Choose a reason for hiding this comment

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

Thanks, lgtm!

bors r+

bors bot added a commit that referenced this pull request Mar 28, 2020
353: Add RAMECC registers across the H7 family r=adamgreig a=richardeoin

RAMECC was 'added' to the single core parts in RM0433 Rev 7. For the dual core parts there are definitions in the SVD, but they are so terrible it's worth starting over (there are registers with the wrong address, and the wrong fields)

For a use case, there is at least one set of commercial spaceflight hardware using the H7:
(no affiliation, no endorsement intended)

- [Nanoavionics OBC](https://nanoavionics.com/cubesat-components/cubesat-on-board-computer-main-bus-unit-satbus-3c2/)

Co-authored-by: Richard Meadows <962920+richardeoin@users.noreply.github.com>
@bors
Copy link
Contributor

bors bot commented Mar 28, 2020

Timed out

@adamgreig
Copy link
Member

bors retry

@bors
Copy link
Contributor

bors bot commented Mar 29, 2020

Build succeeded

  • continuous-integration/travis-ci/push

@bors bors bot merged commit 0fd2bcd into stm32-rs:master Mar 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants