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
Added STM32F412G Discovery kit #1916
Conversation
dab4aaf
to
1e116f8
Compare
boards/discovery_f412g/README.md
Outdated
> **Note:** Unlike other Tock platforms, the default kernel image for this | ||
> board will clear flashed apps when the kernel is loaded. This is to support | ||
> the non-tockloader based app flash procedure below. To preserve loaded apps, | ||
> comment out the `APP_HACK` variable in `src/main.rs`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are all of these platforms still doing this? My impression is the naming implied this was short-term, but if it is getting copied over and over, this is going to become less a hack and more of a standard. What would it take to fix this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did not implement the original Nucelo boards, I think tockloader does not support this platform so far.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove tools/.format_fresh
Also, should probably match the naming for the other discovery board.
My other question, and maybe opening an issue for this would be good, is what is the roadmap/vision for Tock support on STM boards? I imagine there are probably hundreds of them, do we want to support as many as possible? I'm not saying we should or should not, but having some shared understanding of the direction would be helpful. I'm concerned that having many boards with only OK support and testing is less beneficial than having say two boards with robust support that gets tested for releases. But there is also merit in supporting the hardware that people already have. I would probably be supportive of having a "flagship" STM board that many of us buy and is included in release testing that we concentrate support around. Then, there could be other related boards with support in Tock, with the hope that fixes/improvements for the flagship help all of the related boards. But, I'm not sure how realistic that is, or if there is a clear STM board that would make sense to prioritize. |
I will rename the other discovery board also, to be consistent with the initial naming used by nucleo. |
This discovery board has more or less the same MCU as the supported nucleo (stmf4xx). I intend to fully support this discovery board as I need it for my teaching. It will take some time to reach that point. I still think having even partial support for the boards is beneficial, as this might encourage people to contribute to them. What about having s small set of "fully" supported boards and a set of "non-fully" supported boards? |
I think the stm32f3discovery board might make sense as a "flagship" STM board if we were to go that route. It has 10 LEDs, buttons, accel/gyro/compass, and costs $15. Most importantly, it is the board required to complete the embedded rust book, so lots of people interested in getting started with embedded Rust might already have one. The main downside is it doesn't have wireless. |
419b470
to
9356c74
Compare
I rename this board as STM uses this naming in their website. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be the cleanest, most readable board main file I've ever had the pleasure of reading
kernel::procs::load_processes( | ||
board_kernel, | ||
chip, | ||
core::slice::from_raw_parts( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attn #1962
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know about it, but is is not merged yet. I'll update the stm boards as soon as this gets merged. Should I do it differently?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just flagging the (potential) conflict here; whichever goes in first, the other will have to update
Co-authored-by: Hudson Ayers <32688905+hudson-ayers@users.noreply.github.com>
Co-authored-by: Hudson Ayers <32688905+hudson-ayers@users.noreply.github.com>
Co-authored-by: Hudson Ayers <32688905+hudson-ayers@users.noreply.github.com>
021c9e3
to
9242f8f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bors r+
bors seems to be stuck here ... |
bors retry Hmmm.. |
Pull Request Overview
This pull request adds the STM32F412G Discovery Kit. Features working:
This uses the same chip as the nucleo429 so all the low level hardware implemented for it should work with this device.
Testing Strategy
This pull request was tested using an STM32F412G Discovery.
TODO or Help Wanted
Documentation Updated
/docs
Formatting
make prepush
.