-
Notifications
You must be signed in to change notification settings - Fork 8
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 & flasher for QPI external flash #3
Comments
As of ab41166 reading external flash seems to work correctly, but writing to it and erasing it does not. Unsetting memory mapped mode no longer causes a crash. |
Note that external flash is actually supposed to be read as 32 bit integers, not individual bytes. This is shown (working) in a3d80ab. |
One issue I noticed in |
Hmm, I tried using modify instead of write for |
For reference, here are the changes I made: self.qspi.cr.write(|w| w.abort().set_bit()); to self.qspi.cr.modify(|_, w| w.abort().set_bit()); and then I also tried self.qspi.cr.write(|r, w| unsafe { w.bits(r.bits()) }.abort().set_bit()); |
Thanks to #8 all that is left is to create a bootloader that also allows flashing of the QPI external flash via tools such as |
There is a boot loader project called loadstone that looks interesting and is probably worth exploring... EDIT: |
Flash algo |
Do you still have the issue? |
Currently the only things left to do are to allow probe-run to use the flash also (so add a command line argument to take custom chip definition yaml, which needs to be done in the probe-run repo), add dfu support and a boot loader. |
@npc15 if you have any tips (or want to help with) creating a dfu bootloader (or even just a bootloader in general for the QSPI flash) it would be greatly appreciated, my current blocker is moving the code off of internal flash and onto QSPI (the end goal being to have the bare minimum on the internal flash). |
Ok sure, |
As of 5a52fe6 DFU flashing of external flash works, booting not yet implemented. |
Need to finish QSPI flash and then create a boot loader so RustWorks can be flashed to external flash.
Potentially useful links:
Todo:
probe-rs
andcargo-embed
use flash algorithmdfu-util
The text was updated successfully, but these errors were encountered: