Dario Nieuwenhuis
c7841a37fa
boot: update ed25519-dalek in dev-dependencies.
2023-12-19 22:26:50 +01:00
Kaitlyn Kenwell
e27e00f628
Address reviews
2023-12-14 09:36:22 -05:00
Kaitlyn Kenwell
976a7ae22a
Add embassy-usb-dfu
2023-12-13 14:40:49 -05:00
Dario Nieuwenhuis
c6989dfbca
Remove nightly and unstable-traits features in preparation for 1.75.
2023-11-29 17:26:33 +01:00
Dario Nieuwenhuis
e519e00265
Update Rust nightly.
2023-11-01 04:56:56 +01:00
Ulf Lilleengen
a34331ae5f
Refactor firmware updater
...
* Allow manipulating state without accessing DFU partition.
* Provide aligned buffer when creating updater to reduce potential wrong parameters passed.
2023-08-06 19:46:53 +02:00
Ulf Lilleengen
76659d9003
Prevent accidental revert when using firmware updater
...
This change prevents accidentally overwriting the previous firmware before
the new one has been marked as booted.
2023-06-19 22:39:00 +02:00
Rasmus Melchior Jacobsen
b703db4c09
Fix verify test
2023-05-30 14:07:35 +02:00
Rasmus Melchior Jacobsen
c6a984f506
Align tests
2023-05-30 13:55:49 +02:00
Rasmus Melchior Jacobsen
551f76c700
Remove legacy Partition type and use the one from embedded-hal
2023-05-30 13:44:12 +02:00
Rasmus Melchior Jacobsen
b23e40f722
Add TestFlash helper
2023-05-30 13:41:10 +02:00
Rasmus Melchior Jacobsen
c5ec453ec1
Add bootloader helper for creating config from linkerfile symbols
2023-05-30 13:38:00 +02:00
Rasmus Melchior Jacobsen
5205b5b095
Split FirmwareUpdater into async and blocking types
2023-05-30 13:36:42 +02:00
Dario Nieuwenhuis
9f7392474b
Update Rust nightly.
2023-05-19 17:12:39 +02:00
sander
a73f9474a0
embassy-boot: ensure tests can run on the stable compiler
2023-04-20 10:56:59 +02:00
sander
c309797488
merge embassy/master
2023-04-11 13:48:34 +02:00
Rasmus Melchior Jacobsen
d3ce64254a
Let update_len be u32
2023-04-11 07:46:05 +02:00
Rasmus Melchior Jacobsen
d8c92c53d6
Merge remote-tracking branch 'upstream/master' into u32-partition
2023-04-11 07:36:23 +02:00
Rasmus Melchior Jacobsen
2deb2c624c
Let Partition range be u32 instead of usize
2023-04-05 08:28:31 +02:00
Rasmus Melchior Jacobsen
d8e2f82569
Let update_len be usize for now
2023-04-05 07:11:52 +02:00
Rasmus Melchior Jacobsen
043b3072c4
Merge remote-tracking branch 'upstream/master' into incremental-hash
2023-04-05 06:55:38 +02:00
Rasmus Melchior Jacobsen
53efb02900
Allow different erase sizes for active and dfu
2023-04-04 21:30:49 +02:00
Rasmus Melchior Jacobsen
6c93309df4
Remove the Flash trait
2023-04-04 21:18:41 +02:00
Rasmus Melchior Jacobsen
25577e0eaf
Assert active and dfu have same erase size and copy in smaller chunks
...
The copy from active to dfu (and vice versa) is now done in smaller portions depending on aligned_buf, which now does not need to be erase_size big.
2023-04-04 21:09:30 +02:00
Rasmus Melchior Jacobsen
9242ad89d4
Remove magic buffer argument from prepare_boot
...
and use the aligned page buffer instead
2023-04-04 20:25:55 +02:00
Rasmus Melchior Jacobsen
54b82d9966
Merge remote-tracking branch 'upstream/master' into incremental-hash
2023-04-04 19:06:14 +02:00
Rasmus Melchior Jacobsen
5e19fb6fb9
Fix compile error when verification is enabled
2023-04-04 12:36:50 +02:00
Rasmus Melchior Jacobsen
c38eb9660b
Merge remote-tracking branch 'upstream/master' into avoid-write-before-erase
2023-04-04 12:29:24 +02:00
Rasmus Melchior Jacobsen
7c6936a2e3
Let hash functions take a digest::Digest trait
...
... and add adapters for current Sha512 implementations that does not inplement the Digest trait
2023-04-04 12:24:30 +02:00
Rasmus Melchior Jacobsen
c94f1e1450
Merge remote-tracking branch 'upstream/master' into incremental-hash
2023-04-04 07:58:16 +02:00
Rasmus Melchior Jacobsen
df3a1e1b9d
Avoid write to not-erased magic
...
This introduces an additional marker to the state partition right after the magic which indicates whether the current progress is valid or not. Validation in tests that we never write without an erase is added.
There is currently a FIXME in the FirmwareUpdater. Let me know if we should take the erase value as a parameter. I opened a feature request in embedded-storage to get this value in the trait. Before this, the assumption about ERASE_VALUE=0xFF was the same.
2023-04-04 07:18:29 +02:00
Rasmus Melchior Jacobsen
7c11d85e1e
Move MemFlash to separate module and add verify_erased_before_write verification
2023-04-03 15:33:20 +02:00
Rasmus Melchior Jacobsen
8aaffe82e7
Add incremental hash to FirmwareUpdater
...
This adds support for computing any hash over the update in the dtu area by providing a closure to the hash update function.
2023-04-03 14:59:55 +02:00
Rasmus Melchior Jacobsen
b1e2195b49
Remove FirmwareWriter
...
FirmwareWriter currently has a "max-write-size" parameter, but this is a limitation that should be handled by chunking inside the NorFlash driver, and not "up here" in user code. In case that the driver (e.g. qspi driver) is unaware of any max-write limitations, one could simply add an intermediate NorFlash adapter providing the chunk'ing capability.
2023-04-03 14:50:41 +02:00
Rasmus Melchior Jacobsen
d9d6fd6d70
Add erase and wipe tests
2023-03-31 10:28:47 +02:00
Rasmus Melchior Jacobsen
373760a56b
Split bootloader implementation into multiple files
2023-03-31 08:05:37 +02:00
sander
ba9afbc26d
embassy-boot: add default nightly feature, makes it possible to compile with the stable compiler
2023-03-22 16:49:49 +01:00
Mehmet Ali Anil
b1bc034a7e
Merge branch 'emb-storage-async-0p4' of https://github.com/Grus-BV/embassy into emb-storage-async-0p4
2023-03-07 23:35:56 +01:00
Mehmet Ali Anil
6bf8d090a1
Merge branch 'emb-storage-async-0p4' of https://github.com/Grus-BV/embassy into emb-storage-async-0p4
2023-03-07 23:21:19 +01:00
Mehmet Ali Anil
935633c90b
Merge upstream
2023-03-07 23:16:54 +01:00
Mehmet Ali Anil
bc0cb43307
Bump embedded-storage-async to 0.4
2023-03-06 22:16:36 +01:00
huntc
b0529bc943
Support codesigning in the firmware updater
...
This commit provides a method to verify that firmware has been signed with a private key given its public key. The implementation uses ed25519-dalek as the signature verifier. An "ed25519" feature is required to enable the functionality. When disabled (the default), calling the firmware updater's verify method will return a failure.
2023-01-12 13:30:58 +11:00
Ulf Lilleengen
89821846d7
fix: add required metadata for embassy-boot
2022-11-25 11:43:12 +01:00
Daniel Bevenius
0b2d6996e8
Fix ascii table in BootLoader doc comment
...
Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2022-10-29 15:16:09 +02:00
Mathias
6fa74b0c02
make prepare_update async
2022-09-26 10:36:21 +02:00
Mathias
b2a327a858
Add get_state helpers to allow self-testing before calling mark_booted
2022-09-26 06:53:40 +02:00
Mathias
7f16b1cd23
Add blocking API to FirmwareUpdater, and allow for a split prepare/write api
2022-09-26 06:01:18 +02:00
Dario Nieuwenhuis
897b72c872
Update Rust nightly.
...
Removes feature(generic_associated_types)
2022-09-22 16:38:14 +02:00
Ulf Lilleengen
b418c0e4d6
Take into account size of revert index
...
Fixes a bug in the partition assertions that ensures that the state
page(s) have enough space for 2x active partition range.
Add unit test to verify that panic is observed.
2022-09-20 14:04:57 +02:00
Ulf Lilleengen
d0fe654c82
Remove BootFlash borrow
...
Compiler will infer a different lifetime for BootFlash than for the
borrowed flash, which makes it require more type annotations than if it
was just owning the type. Since it doesn't really matter if it owns or
borrows in practical use, change it to own so that it simplifies usage.
2022-09-20 09:54:37 +02:00