mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-09-26 11:21:02 -04:00
doc: Update release notes
Co-authored-by: Mikael Ågren <mikael@tillitis.se>
This commit is contained in:
parent
29e5888482
commit
916c37eab9
1 changed files with 73 additions and 25 deletions
|
@ -28,24 +28,24 @@ For full change log [see](https://github.com/tillitis/tillitis-key1/compare/TK1-
|
||||||
|
|
||||||
### FPGA
|
### FPGA
|
||||||
|
|
||||||
- Security Monitor memory access checks are now more complete.
|
- Make Security Monitor memory access checks more complete.
|
||||||
|
|
||||||
- Add SPI main controller mainly to access the flash chip.
|
- Add SPI main controller mainly to access the flash chip.
|
||||||
|
|
||||||
- Add system reset API. Device apps can reset the system and restart
|
- Add system reset API. Device apps can reset the FPGA and restart
|
||||||
the firmware. The FPGA is not reset.
|
the firmware.
|
||||||
|
|
||||||
- Increase clock frequence to 24 MHz.
|
- Increase clock frequence to 24 MHz.
|
||||||
|
|
||||||
- Increase UART baudrate to 500,000.
|
- Increase UART baudrate to 500,000.
|
||||||
|
|
||||||
|
- Fix UART baudrate counter issues noticable at higher baudrates.
|
||||||
|
|
||||||
- Fix missing clock cycles in timer core.
|
- Fix missing clock cycles in timer core.
|
||||||
|
|
||||||
- Remove the UART runtime configuration API.
|
- Remove the UART runtime configuration API.
|
||||||
|
|
||||||
- Several clean ups and testbench changes.
|
- Several minor clean ups of design and testbench.
|
||||||
|
|
||||||
- Make Verilator simulation work again.
|
|
||||||
|
|
||||||
- Add hardware clear to send (CTS) signals for communication between
|
- Add hardware clear to send (CTS) signals for communication between
|
||||||
UART and CH552.
|
UART and CH552.
|
||||||
|
@ -54,19 +54,19 @@ For full change log [see](https://github.com/tillitis/tillitis-key1/compare/TK1-
|
||||||
|
|
||||||
- Make ROM non-executable in app mode.
|
- Make ROM non-executable in app mode.
|
||||||
|
|
||||||
- Remove support for access to the firmware blake2s() function from
|
- Remove MMIO address for access to the firmware blake2s() function
|
||||||
apps.
|
from apps.
|
||||||
|
|
||||||
- Automatically leave firmware mode when execution leaves ROM and
|
- Automatically leave firmware mode when execution leaves ROM and
|
||||||
remove the now unnecessary APP\_MODE\_CTRL register.
|
remove the now unnecessary APP\_MODE\_CTRL register.
|
||||||
|
|
||||||
- Add extra protection of UDS: When execution leaves ROM the first
|
- Change UDS read protection: When execution leaves ROM the first
|
||||||
time, UDS is hardware protected from reading, as well as already
|
time, UDS is hardware protected from reads. The already existing
|
||||||
existing UDS protection after first read and UDS being unreadable in
|
protection that UDS is protected after the first read is also still
|
||||||
app mode.
|
available.
|
||||||
|
|
||||||
- Introduce interrupt handler for hardware-based privilege raising for
|
- Introduce interrupt handler for hardware-based privilege raising and
|
||||||
system calls.
|
automatically privelege lowering for system calls.
|
||||||
|
|
||||||
### Firmware
|
### Firmware
|
||||||
|
|
||||||
|
@ -74,27 +74,65 @@ For full change log [see](https://github.com/tillitis/tillitis-key1/compare/TK1-
|
||||||
by TRNG.
|
by TRNG.
|
||||||
|
|
||||||
- Add support for the new USB Mode Protocol to communicate with
|
- Add support for the new USB Mode Protocol to communicate with
|
||||||
different endpoints.
|
different USB endpoints in the USB controller.
|
||||||
|
|
||||||
- Support a filesystem on flash.
|
- Support a filesystem on flash: There's space for two pre-loaded
|
||||||
|
apps and four storage areas for device apps.
|
||||||
|
|
||||||
- Add a system call mechanism and system calls: `RESET`, `ALLOC_AREA`,
|
A typical use is that app slot 0 will contain a loader app for
|
||||||
`DEALLOC_AREA`, `WRITE_DATA`, `READ_DATA`, `ERASE_DATA`,
|
verified boot and app slot 1 contains the app to be verified.
|
||||||
`PRELOAD_DELETE`, `PRELOAD_STORE`, `PRELOAD_STORE_FIN`,
|
|
||||||
`PRELOAD_GET_DIGSIG`, `STATUS`, and `GET_VIDPID`. See [firmware's
|
- Automatically start an app in flash app slot 0 after power cycle and
|
||||||
README](../hw/application_fpga/fw/README.md) for documentation.
|
when instructed to by reset intentions.
|
||||||
|
|
||||||
|
The automatically started app is trusted by the firmware by
|
||||||
|
including an app digest in the firmware ROM. This means we extend
|
||||||
|
the user's trust in the firmware to the first app, but only if it's
|
||||||
|
measured to the correct digest by the firmware. Anything else is a
|
||||||
|
hard error which halts the CPU.
|
||||||
|
|
||||||
|
- Support chaining of apps through soft resets, including support for
|
||||||
|
verifying that the next app is the expected one (exact measured
|
||||||
|
digest the previous app expected), and leaving data for the next app
|
||||||
|
to use.
|
||||||
|
|
||||||
|
- Add a system call mechanism and system calls. See [firmware's
|
||||||
|
README](../hw/application_fpga/fw/README.md) for documentation, but
|
||||||
|
its probably easier to use the the syscall wrappers in libsyscall in
|
||||||
|
[tkey-libs](https://github.com/tillitis/tkey-libs) if you're writing
|
||||||
|
in C.
|
||||||
|
|
||||||
- Harmonize with [tkey-libs](https://github.com/tillitis/tkey-libs).
|
- Harmonize with [tkey-libs](https://github.com/tillitis/tkey-libs).
|
||||||
Import tkey-libs to this repo for convenience.
|
Import tkey-libs to this repo for convenience.
|
||||||
|
|
||||||
### CH552
|
- Rewrite test firmware to work with the new leaving ROM-scenario.
|
||||||
|
Introduce a separate `testapp` for the app mode parts.
|
||||||
|
|
||||||
|
### Device apps
|
||||||
|
|
||||||
|
Introduce some device apps mostly for testing.
|
||||||
|
|
||||||
|
- `reset_test`: Test the different types of soft reset.
|
||||||
|
|
||||||
|
- `testapp`: Tests in app mode that used to live in `testfw`.
|
||||||
|
|
||||||
|
- `testloadapp`: A simple loader app for management and verification
|
||||||
|
of a second app.
|
||||||
|
|
||||||
|
- `defaultapp`: An app that immediately resets the TKey to load an app
|
||||||
|
from the client, just like earlier releases.
|
||||||
|
|
||||||
|
### CH552 firmware
|
||||||
|
|
||||||
- Use the new CTS signals for communication over the UART.
|
- Use the new CTS signals for communication over the UART.
|
||||||
|
|
||||||
- Add support for two HID endpoints.
|
- Add support for two HID endpoints (security token and our debug
|
||||||
|
HID).
|
||||||
|
|
||||||
- Add protocol to communicate with the three different endpoints: CDC,
|
- Add support for CCID endpoint.
|
||||||
HID, debug.
|
|
||||||
|
- Add a protocol to communicate with the different endpoints: CDC,
|
||||||
|
CCID, FIDO, debug.
|
||||||
|
|
||||||
- Change USB frame sending from a software timer to instead be
|
- Change USB frame sending from a software timer to instead be
|
||||||
controlled by the USB Controller Protocol.
|
controlled by the USB Controller Protocol.
|
||||||
|
@ -106,6 +144,13 @@ https://shop-nl.blinkinlabs.com/products/ch55x-reset-controller
|
||||||
|
|
||||||
https://github.com/Blinkinlabs/ch55x_programmer
|
https://github.com/Blinkinlabs/ch55x_programmer
|
||||||
|
|
||||||
|
### Tooling
|
||||||
|
|
||||||
|
- Add tools to parse and generate partition tables and flash images.
|
||||||
|
|
||||||
|
- Add tool to compute a print a BLAKE2s digest, optionally as C code.
|
||||||
|
|
||||||
|
|
||||||
### tkey-builder
|
### tkey-builder
|
||||||
|
|
||||||
- New versions of:
|
- New versions of:
|
||||||
|
@ -131,6 +176,9 @@ https://github.com/Blinkinlabs/ch55x_programmer
|
||||||
|
|
||||||
- Remove Go compiler support.
|
- Remove Go compiler support.
|
||||||
|
|
||||||
|
- Introduce buildtools.sh for building upstream tools for inclusion
|
||||||
|
in the image.
|
||||||
|
|
||||||
### Docs
|
### Docs
|
||||||
|
|
||||||
- All docs now in READMEs close to the design or code.
|
- All docs now in READMEs close to the design or code.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue