2022-09-19 04:02:58 -04:00
|
|
|
# Release Notes
|
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
Descriptions of the tagged TKey releases.
|
2022-09-30 07:34:47 -04:00
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
|
|
|
|
## Tag XYZ
|
|
|
|
|
|
|
|
XYZ is a general release of the development kit first presented
|
2022-12-01 09:51:53 -05:00
|
|
|
as a limited engineering-release. The main changes are polishing,
|
2023-01-31 03:18:01 -05:00
|
|
|
completion and bug fixing since the engineering-releases.
|
2022-11-30 08:12:35 -05:00
|
|
|
|
2023-01-31 03:18:01 -05:00
|
|
|
## engineering-release-2
|
2022-11-30 08:12:35 -05:00
|
|
|
|
|
|
|
### New and improved functionality
|
|
|
|
|
|
|
|
- (HW) The rosc TRNG has now been completed and tested. The TRNG
|
|
|
|
can now be used to generate seeds by applicaitons.
|
|
|
|
|
|
|
|
- (HW) The main clock frequency has been increased to 18 MHz.
|
|
|
|
|
|
|
|
- (HW) The FW now has a separate RAM used during loading and
|
|
|
|
measurement of applications.
|
|
|
|
|
|
|
|
- (HW) The UART Rx FIFO is now able to handle 512 bytes.
|
|
|
|
|
2023-02-01 09:54:12 -05:00
|
|
|
- (HW) The UART default bitrate has been increased to 62500 bps.
|
2022-11-30 08:12:35 -05:00
|
|
|
|
2022-12-01 09:51:53 -05:00
|
|
|
- (HW) Support for division instruction (div) was removed from
|
|
|
|
PicoRV32. Please compile your programs with the Zmmul extension,
|
|
|
|
`-march=rv32iczmmul` for `clang`.
|
|
|
|
|
2023-01-31 03:18:01 -05:00
|
|
|
- (HW) The UDI is locked down and can now only be accessed by
|
2023-02-01 09:54:12 -05:00
|
|
|
firmware, not applications.
|
2023-01-31 03:18:01 -05:00
|
|
|
|
|
|
|
- (HW) The timer MMIO API now takes separate start and stop bits for
|
|
|
|
triggering the respective action, mitigating a time-of-check to
|
|
|
|
time-of-use (TOCTOU) issue.
|
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
- (FW) The firmware has been restructured to be a Finite State
|
|
|
|
Machine (FSM) with defined states for booting, loading
|
|
|
|
applications, measure applications, calculate the CDI and
|
|
|
|
start the loaded application.
|
|
|
|
|
2022-12-01 09:51:53 -05:00
|
|
|
This change also changes the firmware protocol which now accepts a
|
|
|
|
request to load a binary with an optional USS and automatically
|
|
|
|
returns its digest and start the program when the last data chunk is
|
|
|
|
received.
|
2022-11-30 08:12:35 -05:00
|
|
|
|
2023-02-01 09:54:12 -05:00
|
|
|
- (FW) A BLAKE2s hash function present in firmware is now exposed for use
|
2023-01-31 03:18:01 -05:00
|
|
|
by TKey apps (through a function pointer located in MMIO `BLAKE2S`).
|
|
|
|
See [software.md](system_description/software.md) for more
|
|
|
|
information.
|
|
|
|
|
2023-02-01 09:54:12 -05:00
|
|
|
- (FW) To make warm boot attacks harder, the firmware sleeps for a
|
2023-01-31 03:18:01 -05:00
|
|
|
random number of cycles before reading out the sensitive UDS into
|
|
|
|
FW RAM.
|
2022-11-30 08:12:35 -05:00
|
|
|
|
2022-09-19 04:02:58 -04:00
|
|
|
## engineering-release-1
|
|
|
|
|
|
|
|
### Hardware
|
|
|
|
|
|
|
|
#### Limitations
|
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
- The entropy generated by the TRNG has not yet been thoroughly tested,
|
|
|
|
and the generator has not been adjusted to generate good, unbiased
|
|
|
|
randomness. Any application that wants to use the entropy source
|
|
|
|
SHOULD NOT use the output directly, but only as seed to a Digital
|
|
|
|
Random Bit Generator (DRBG), such as Hash_DRBG.
|
|
|
|
|
|
|
|
- The UART is currently running at 38400 bps. Future releases will
|
|
|
|
increase the bitrate when communication at higher bitrates has
|
|
|
|
been verified as stable and error free.
|
|
|
|
|
|
|
|
- The internal clock frequency is currently limited to 12 MHz.
|
|
|
|
Future releases will increase the clock frequency to provide
|
|
|
|
improved performance.
|
2022-09-19 04:02:58 -04:00
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
- The functionality in the firmware is currently not exposed to the
|
|
|
|
applications via a stable name space, API. Future releases will
|
|
|
|
provide access to FW functions such as the BLAKE2s hash function.
|
2022-09-19 04:02:58 -04:00
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
- The timer currently does not include a timeout interrupt. Applications
|
|
|
|
using the timer must check the status in order to detect a timeout event.
|
2022-09-19 04:02:58 -04:00
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
- The timer currently does not provide a set of typical settings.
|
|
|
|
Applications using the timer must set timer and prescaler as
|
|
|
|
needed to get the desired time given the current clock speed.
|
2022-09-19 04:02:58 -04:00
|
|
|
|
|
|
|
|
2022-11-30 08:12:35 -05:00
|
|
|
---
|