Commit Graph

507 Commits

Author SHA1 Message Date
Daniel Lublin
eeed342b96
testfw: make output slightly more readable
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-28 11:32:56 +02:00
Daniel Lublin
aa86c9d58c
testfw: compare UDS correctly, correct byte-order
Also don't let fwram success overwrite anyfailed

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-28 11:32:56 +02:00
Daniel Lublin
dcc6351f79
testfw: use a func for fail prints
Now testfw fits again (when built with -Os)

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-28 11:32:56 +02:00
Daniel Lublin
bcac8eeaf4
testfw: update check for new known UDS; correctly and always print UDS
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-28 11:32:56 +02:00
Joachim Strömbergson
909b95cdaa
Clarify access behaviour of the UDS
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-28 10:02:57 +02:00
Joachim Strömbergson
688910bee4
Use different byte values in test UDS words
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-28 09:26:23 +02:00
Michael Cardell Widerkrantz
c126199a41
fw: UDS not byte-readable
Since UDS is not byte-readable we copy it by word to local_uds. Now
UDS lives for a short while in local_uds on the stack in FW_RAM and in
the internal buffer of the blake2s context (also in FW_RAM) but is
very soon overwritten.
2023-03-27 16:24:02 +02:00
Michael Cardell Widerkrantz
fae2447344
testfw: Test UDS against known good 2023-03-27 16:24:02 +02:00
Daniel Lublin
e3ee7c5bab
doc: adjust to 128-byte framelen 2023-03-27 10:58:20 +02:00
Michael Cardell Widerkrantz
cefb6ca9c1
fw: Change max frame size to 128 bytes 2023-03-27 10:58:16 +02:00
Daniel Lublin
29c5ab1108
doc: correct deps
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-27 10:31:23 +02:00
Michael Cardell Widerkrantz
bc99f370ce
doc: release notes
Fix typos and specify OCI image path.
2023-03-23 15:20:53 +01:00
Michael Cardell Widerkrantz
6613b7e695
docs: Update firmware docs and move memory map
Update firmware docs to reflect new state machine, the new stack in
FW_RAM, and new loading address for app. Remove superflous technical
details from the software description.

Move memory subsystem and memory map to system_description.md and
refer to it directly by subsection elsewhere.
2023-03-22 22:50:08 +01:00
Joachim Strömbergson
fddfd88db2
Major update of threat model including new release
Co-authored-by: Michael Cardell Widerkrantz <mc@tillitis.se>
Signed-off-by: Joachim Strömbergson <joachim@assured.se>, Michael Cardell Widerkrantz <mc@tillitis.se>
2023-03-22 22:26:13 +01:00
Joachim Strömbergson
4086911c3b
Add release notes for Bellatrix
Co-authored-by: Michael Cardell Widerkrantz <mc@tillitis.se>

Signed-off-by: Joachim Strömbergson <joachim@assured.se>, Michael Cardell Widerkrantz <mc@tillitis.se>
2023-03-22 21:19:27 +01:00
Joachim Strömbergson
dbb7e61509
Add description of exe monitor API
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:55:36 +01:00
Joachim Strömbergson
315f2f9d00
Adding description of new security features
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:54:43 +01:00
Joachim Strömbergson
7152bd55e1
Minor edits to update the system description to new release
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:08:39 +01:00
Michael Cardell Widerkrantz
c443ef8a3e
fw: clang-tidy and splint: New make target: check
Add clang-tidy and splint static analytics check. For now, we use only
the cert-* warnings on clang-tidy and run splint with a lot of flags
to allow more things.

Changes to silence these analytics:

- Stop returning stuff from our debug print functions. We don't check
  them anyway and we don't have any way of detecting transmission
  failure.

- Declare more things static that isn't used outside of a file.

- Change types to be more consistent, typically to size_t or
  something or to uint32_t.
2023-03-22 11:05:32 +01:00
Michael Cardell Widerkrantz
f622937918
fw: Don't use reserved or reserved-looking names 2023-03-22 11:05:26 +01:00
Joachim Strömbergson
1713d7c96b
Add note about tillitis-iceprog depending on libusb-1.0.0
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 09:29:15 +01:00
Matt Mets
f83f919f9e
Print warning if the programmer device permissions are incorrect 2023-03-21 14:38:29 +01:00
Matthew Mets
fe1e2254d2
Pipecleaning 2023-03-21 14:38:29 +01:00
Matthew Mets
3ac742d333
Add package dependencies for pico sdk 2023-03-21 14:38:29 +01:00
Matthew Mets
604bbdbd02
Add Pico SDK to docker image, for building tp1 firmware 2023-03-21 14:38:29 +01:00
Matt Mets
8894eb4247
Add picosdk to dockerfile 2023-03-21 14:38:29 +01:00
Matt Mets
df6f66c064
Update udev rule to match new programmer VID/PID 2023-03-21 14:38:29 +01:00
Matt Mets
17ce7799a7
Rename programmer library, update VID/PID for programmer 2023-03-21 14:38:29 +01:00
Matt Mets
994ec270ef
pico: change USB vendor to Tillitis 2023-03-21 14:38:29 +01:00
Matt Mets
9c7022edd0
Pull in programmer board firmware 2023-03-21 14:38:29 +01:00
Matt Mets
2cd7c9f8e3
Linting 2023-03-21 14:38:28 +01:00
Matt Mets
12f6575afd
Update raw_usb interface
* Update raw_usb interface to the 0200 version
* Rename ice* commands to be less confusing
* Split production test into a runner script and test library
* Add continuous randomized test for test library
* Speed improvements for nvcm commands
2023-03-21 14:38:28 +01:00
Matt Mets
3897a8269b
More agressive python linting 2023-03-21 14:38:28 +01:00
Matt Mets
6371ab68fb
USB speed improvements
* Add write-only commands to avoid unneded reads
* Add clock-only command to avoid excessive writes
* Add partial async support to reduce inter-command delays
2023-03-21 14:38:28 +01:00
Matt Mets
3fd4ec44b4
Add bootloader command, SPI clock speed setting 2023-03-21 14:38:28 +01:00
Matt Mets
d09919d354
Lint more python scripts 2023-03-21 14:38:28 +01:00
Matt Mets
49c3b35a4b
NVCM programmer: add 'verify' option 2023-03-21 14:38:28 +01:00
Matt Mets
acdc900b3b
Reflow to max 70 characters 2023-03-21 14:38:28 +01:00
Matt Mets
84d020e3c0
Add type annotations, lint for pep8 2023-03-21 14:38:27 +01:00
Matt Mets
ac174afb8f
Use streamlined USB interface, make NVCM a class 2023-03-21 14:38:27 +01:00
Matthew Mets
4eb025a978
Remove HID interface 2023-03-21 14:38:27 +01:00
Matthew Mets
04be27f6a7
Make the flash sleep function toggleable 2023-03-21 14:38:27 +01:00
Matthew Mets
c81b186c10
Port NVCM programming script to raw_hid interface 2023-03-21 14:38:27 +01:00
Matthew Mets
3dbb3836f6
Pull in raw_usb version of the programmer firmware 2023-03-21 14:38:27 +01:00
Matthew Mets
17b8cb515b
Update toolchain for raw_usb dependencies
Addresses #82
2023-03-21 14:38:27 +01:00
Matthew Mets
7364cd75be
Add section on udev permissions to toolchain setup 2023-03-21 14:38:27 +01:00
Matthew Mets
84e2bedef5
Fix udev rules
* USB VID and PID are case sensitive
* Only give permissions for owner and group
2023-03-21 14:38:26 +01:00
Matthew Mets
fc335bfd7a
Update udev rule for raw usb programmer 2023-03-21 14:38:26 +01:00
Matthew Mets
a9f99fc217
Add test routine for erasing CH552 2023-03-21 14:38:26 +01:00
Matthew Mets
6a0e0478a6
Switch production test to use raw USB interface 2023-03-21 14:38:26 +01:00