Commit Graph

451 Commits

Author SHA1 Message Date
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
Matthew Mets
2536011fb9
Add script to set up venv and run production test 2023-03-21 14:38:22 +01:00
Joachim Strömbergson
4f68e93b84
One link to boards should be enough
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-21 14:05:49 +01:00
Joachim Strömbergson
9f7d137227
Add podman pull target for tkey-builder
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-16 16:23:48 +01:00
Michael Cardell Widerkrantz
709a4449ff
testfw: clang format 2023-03-16 15:08:36 +01:00
Michael Cardell Widerkrantz
9488f0633d
fw: Hide *led in led.c 2023-03-16 14:26:20 +01:00
Michael Cardell Widerkrantz
8665031bb4
fw/testfw: Simplify hexdump 2023-03-16 14:26:13 +01:00