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

Bootloader additions #390

Merged
merged 100 commits into from
Sep 28, 2021
Merged

Conversation

CorvusPrudens
Copy link
Collaborator

This PR includes SDRAM startup, as well as QSPI and bootloader changes. The bootloader procedure is documented (and should be made available quite soon).

CorvusPrudens and others added 30 commits June 23, 2021 12:34
The compiled size on the example I used increased by 536 bytes, from 44,028 to 44,564.

Like i2c, this module takes a config struct for configuration. It may not align with other classes in `daisy_seed.h`.

I didn't test the CMake build, but it should work with my single change to the cmakelists file.
The `dsy_gpio_pin` array of `qspi_impl` avoids large switch statements in the hal pin initialization.
Created SdramHandler class.
Updated all of those typedef structs to enum classes.
Renamed and slightly tweaked functions to work within class.
Updated seed board support to use cpp-ified sdram
Sdram init needed to wait until after then config
The hal map needed to be included as a C extern.
I udpated hal_map to be cpp in my GPIO pr, so that wont last long
I also restored the default linker back to its original state.
cpp tag for code syntax highlighting.
This commit _may_ add a bit of unnecessary delay to the startup. If that's a problem to your use case and you'd like pre-initialized SDRAM, look into adjusting the length of the delay loop in sdram_startup.h
core/sdram_startup.h Outdated Show resolved Hide resolved
core/startup_stm32h750xx.c Outdated Show resolved Hide resolved
core/startup_stm32h750xx.c Outdated Show resolved Hide resolved
src/daisy_patch_sm.cpp Outdated Show resolved Hide resolved
src/dev/sdram.cpp Outdated Show resolved Hide resolved
src/dev/sdram.cpp Outdated Show resolved Hide resolved
src/hid/audio.cpp Outdated Show resolved Hide resolved
src/per/pin.h Outdated Show resolved Hide resolved
src/sys/system.h Outdated Show resolved Hide resolved
@CorvusPrudens
Copy link
Collaborator Author

Copy link
Collaborator

@stephenhensley stephenhensley left a comment

Choose a reason for hiding this comment

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

The last few things I made notes about as well as:

  • Adding memory-aware system init should be added to the DaisyPatchSM

src/sys/system.h Outdated Show resolved Hide resolved
src/sys/system.h Outdated Show resolved Hide resolved
Copy link
Collaborator

@stephenhensley stephenhensley left a comment

Choose a reason for hiding this comment

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

Final changes, most of which are just cleaning up the change log, and removing old comments.

src/sys/system.h Outdated Show resolved Hide resolved
src/sys/system.h Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
@stephenhensley stephenhensley merged commit b2b8943 into electro-smith:master Sep 28, 2021
@github-actions
Copy link

Unit Test Results

    1 files  ±0    13 suites  ±0   0s ⏱️ ±0s
125 tests ±0  125 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit b2b8943. ± Comparison against base commit b2b8943.

@stephenhensley stephenhensley mentioned this pull request Sep 28, 2021
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.

3 participants