mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
58 lines
2.2 KiB
Plaintext
58 lines
2.2 KiB
Plaintext
/**
|
|
* @defgroup pkg_cryptoauthlib Microchip CryptoAuthentication Library
|
|
* @ingroup pkg drivers sys_crypto
|
|
* @brief Provides the library for Microchip CryptoAuth devices
|
|
* @see https://github.com/MicrochipTech/cryptoauthlib
|
|
*
|
|
* # Introduction
|
|
*
|
|
* This package provides support for the official library for Microchip CryptoAuth devices.
|
|
*
|
|
*
|
|
* ## Warning
|
|
*
|
|
* Some functions can only be used, when the data, config and otp zones of the
|
|
* device are locked. Locking is permanent and cannot be undone. Be careful if
|
|
* you're not sure you've configured everything correctly.
|
|
* For more information we refer to the data sheet of the device.
|
|
*
|
|
*
|
|
* ## Usage
|
|
*
|
|
* Add
|
|
* USEPKG += cryptoauthlib
|
|
* to your Makefile.
|
|
*
|
|
*
|
|
* ## Implementation status
|
|
*
|
|
* This implementation was partly tested with ATECC508A and ATECC608A devices.
|
|
* We haven't tested the functions that require locking the device, yet. There's
|
|
* a wrapper in the cryptoauthlib/contrib folder, which implements most of the
|
|
* HAL functions.
|
|
* Currently the functions hal_i2c_discover_devices and hal_i2c_discover_buses
|
|
* are unimplemented, as well as hal_i2c_post_init.
|
|
*
|
|
* ### Wake function
|
|
*
|
|
* The wake function only works when a 0x00 byte is sent on an i2c interface that
|
|
* runs with with 133kHz or less.
|
|
* Currently RIOT sets the baudrate to the default value of 100 kHz and there's
|
|
* no interface to change that. If the default speed ever changes to a value
|
|
* higher than 133 kHz the wake function needs to be adapted.
|
|
* For more information on how to send a proper wake condition we refer to the
|
|
* data sheet of the device.
|
|
*
|
|
* ## Tests
|
|
*
|
|
* The library provides unittests for the library functions. There
|
|
* is a directory called "pkg_cryptoauthlib_internal_tests" in the RIOT testfolder
|
|
* which runs part of the unittests.
|
|
* Some of the provided tests can only be run when the config, data and/or otp zones
|
|
* of the device are locked. Some tests (but not all) will automatically lock zones
|
|
* as needed. We omit those tests at the moment, because zones can only be locked
|
|
* permanently. Unlocking is not possible!
|
|
* Also there is a test for comparing the runtime of the RIOT software implementation
|
|
* and the CryptoAuth hardware implementation for calculating a SHA-256 hash value.
|
|
*/
|