Chapter 208. eCos port

Table of Contents

208.1. Overview

208.1. Overview

The goal for the CYGPKG_CRYPTOAUTHLIB package is to avoid where possible having to have any core CryptoAuthLib source file changes made specifically for eCos. This is to ensure that re-imports of newer versions of the library sources involve minimal effort. The files are as provided in the official CryptoAuthLib release package as imported, with the following exceptions:

  1. Files have been moved, unmodified, to create a standard eCos package tree structure to integrate with the eCosPro build environment

    Only relevant files from the original project have been included in the eCos package.

  2. The file include/hal/atca_hal.h has a different hal_delay_us() prototype to match the underlying eCos run-time function actually referenced due to the naming clash.

The current CryptoAuthLib version provided by the eCos package is the github tagged release 20220614, which is a v3.3.3 release (8th October 2021) with bug fixes applied up to 14th June 2022.

The original project homepage can be found on github: cryptoauthlib

The release package was downloaded from the github project page: cryptoauthlib/releases/tag/20220614

The following table highlights the files taken from the CryptoAuthLib package and their new location within the eCos CYGPKG_CRYPTOAUTHLIB package:

Original githubeCos package
include/atca_basic.hinclude/atca_basic.h
lib/atca_bool.hinclude/atca_bool.h
lib/atca_cfgs.hinclude/atca_cfgs.h
lib/atca_compiler.hinclude/atca_compiler.h
lib/atca_device.hinclude/atca_device.h
lib/atca_devtypes.hinclude/atca_devtypes.h
lib/atca_helpers.hinclude/atca_helpers.h
lib/atca_iface.hinclude/atca_iface.h
lib/atca_status.hinclude/atca_status.h
lib/atca_version.hinclude/atca_version.h
lib/cryptoauthlib.hinclude/cryptoauthlib.h
lib/atcacert/atcacert_client.hinclude/atcacert/atcacert_client.h
lib/atcacert/atcacert_date.hinclude/atcacert/atcacert_date.h
lib/atcacert/atcacert_def.hinclude/atcacert/atcacert_def.h
lib/atcacert/atcacert_der.hinclude/atcacert/atcacert_der.h
lib/atcacert/atcacert.hinclude/atcacert/atcacert.h
lib/atcacert/atcacert_host_hw.hinclude/atcacert/atcacert_host_hw.h
lib/atcacert/atcacert_host_sw.hinclude/atcacert/atcacert_host_sw.h
lib/atcacert/atcacert_pem.hinclude/atcacert/atcacert_pem.h
lib/calib/calib_aes_gcm.hinclude/calib/calib_aes_gcm.h
lib/calib/calib_basic.hinclude/calib/calib_basic.h
lib/calib/calib_command.hinclude/calib/calib_command.h
lib/calib/calib_execution.hinclude/calib/calib_execution.h
lib/crypto/atca_crypto_hw_aes.hinclude/crypto/atca_crypto_hw_aes.h
lib/crypto/atca_crypto_sw_ecdsa.hinclude/crypto/atca_crypto_sw_ecdsa.h
lib/crypto/atca_crypto_sw.hinclude/crypto/atca_crypto_sw.h
lib/crypto/atca_crypto_sw_rand.hinclude/crypto/atca_crypto_sw_rand.h
lib/crypto/atca_crypto_sw_sha1.hinclude/crypto/atca_crypto_sw_sha1.h
lib/crypto/atca_crypto_sw_sha2.hinclude/crypto/atca_crypto_sw_sha2.h
lib/crypto/hashes/sha1_routines.hinclude/crypto/hashes/sha1_routines.h
lib/crypto/hashes/sha2_routines.include/crypto/hashes/sha2_routines.
lib/hal/atca_hal.hinclude/hal/atca_hal.h
lib/host/atca_host.hinclude/host/atca_host.h
lib/jwt/atca_jwt.hinclude/jwt/atca_jwt.h
lib/mbedtls/atca_mbedtls_wrap.hinclude/mbedtls/atca_mbedtls_wrap.h
third_party/atca_mbedtls_patch.hinclude/third_party/atca_mbedtls_patch.h
lib/pkcs11/cryptoki.hinclude/pkcs11/cryptoki.h
lib/pkcs11/pkcs11_attrib.hinclude/pkcs11/pkcs11_attrib.h
lib/pkcs11/pkcs11_cert.hinclude/pkcs11/pkcs11_cert.h
lib/pkcs11/pkcs11_digest.hinclude/pkcs11/pkcs11_digest.h
lib/pkcs11/pkcs11_encrypt.hinclude/pkcs11/pkcs11_encrypt.h
lib/pkcs11/pkcs11f.hinclude/pkcs11/pkcs11f.h
lib/pkcs11/pkcs11_find.hinclude/pkcs11/pkcs11_find.h
lib/pkcs11/pkcs11.hinclude/pkcs11/pkcs11.h
lib/pkcs11/pkcs11_info.hinclude/pkcs11/pkcs11_info.h
lib/pkcs11/pkcs11_init.hinclude/pkcs11/pkcs11_init.h
lib/pkcs11/pkcs11_key.hinclude/pkcs11/pkcs11_key.h
lib/pkcs11/pkcs11_mech.hinclude/pkcs11/pkcs11_mech.h
lib/pkcs11/pkcs11_object.hinclude/pkcs11/pkcs11_object.h
lib/pkcs11/pkcs11_os.hinclude/pkcs11/pkcs11_os.h
lib/pkcs11/pkcs11_session.hinclude/pkcs11/pkcs11_session.h
lib/pkcs11/pkcs11_signature.hinclude/pkcs11/pkcs11_signature.h
lib/pkcs11/pkcs11_slot.hinclude/pkcs11/pkcs11_slot.h
lib/pkcs11/pkcs11t.hinclude/pkcs11/pkcs11t.h
lib/pkcs11/pkcs11_token.hinclude/pkcs11/pkcs11_token.h
lib/pkcs11/pkcs11_util.hinclude/pkcs11/pkcs11_util.h
third_party/atca_mbedtls_patch.hinclude/atca_mbedtls_patch.h
lib/atca_basic.csrc/lib/atca_basic.c
lib/atca_cfgs.csrc/lib/atca_cfgs.c
lib/atca_device.csrc/lib/atca_device.c
lib/atca_helpers.csrc/lib/atca_helpers.c
lib/atca_iface.csrc/lib/atca_iface.c
lib/atca_utils_sizes.csrc/lib/atca_utils_sizes.c
lib/atcacert/atcacert_client.csrc/lib/atcacert/atcacert_client.c
lib/atcacert/atcacert_date.csrc/lib/atcacert/atcacert_date.c
lib/atcacert/atcacert_def.csrc/lib/atcacert/atcacert_def.c
lib/atcacert/atcacert_der.csrc/lib/atcacert/atcacert_der.c
lib/atcacert/atcacert_host_hw.csrc/lib/atcacert/atcacert_host_hw.c
lib/atcacert/atcacert_host_sw.csrc/lib/atcacert/atcacert_host_sw.c
lib/atcacert/atcacert_pem.csrc/lib/atcacert/atcacert_pem.c
lib/calib/calib_aes.csrc/lib/calib/calib_aes.c
lib/calib/calib_checkmac.csrc/lib/calib/calib_checkmac.c
lib/calib/calib_derivekey.csrc/lib/calib/calib_derivekey.c
lib/calib/calib_gendig.csrc/lib/calib/calib_gendig.c
lib/calib/calib_hmac.csrc/lib/calib/calib_hmac.c
lib/calib/calib_lock.csrc/lib/calib/calib_lock.c
lib/calib/calib_privwrite.csrc/lib/calib/calib_privwrite.c
lib/calib/calib_secureboot.csrc/lib/calib/calib_secureboot.c
lib/calib/calib_sign.csrc/lib/calib/calib_sign.c
lib/calib/calib_write.csrc/lib/calib/calib_write.c
lib/calib/calib_aes_gcm.csrc/lib/calib/calib_aes_gcm.c
lib/calib/calib_command.csrc/lib/calib/calib_command.c
lib/calib/calib_ecdh.csrc/lib/calib/calib_ecdh.c
lib/calib/calib_genkey.csrc/lib/calib/calib_genkey.c
lib/calib/calib_info.csrc/lib/calib/calib_info.c
lib/calib/calib_mac.csrc/lib/calib/calib_mac.c
lib/calib/calib_random.csrc/lib/calib/calib_random.c
lib/calib/calib_selftest.csrc/lib/calib/calib_selftest.c
lib/calib/calib_updateextra.csrc/lib/calib/calib_updateextra.c
lib/calib/calib_basic.csrc/lib/calib/calib_basic.c
lib/calib/calib_counter.csrc/lib/calib/calib_counter.c
lib/calib/calib_execution.csrc/lib/calib/calib_execution.c
lib/calib/calib_helpers.csrc/lib/calib/calib_helpers.c
lib/calib/calib_kdf.csrc/lib/calib/calib_kdf.c
lib/calib/calib_nonce.csrc/lib/calib/calib_nonce.c
lib/calib/calib_read.csrc/lib/calib/calib_read.c
lib/calib/calib_sha.csrc/lib/calib/calib_sha.c
lib/calib/calib_verify.csrc/lib/calib/calib_verify.c
lib/crypto/atca_crypto_hw_aes_cbc.csrc/lib/crypto/atca_crypto_hw_aes_cbc.c
lib/crypto/atca_crypto_hw_aes_ccm.csrc/lib/crypto/atca_crypto_hw_aes_ccm.c
lib/crypto/atca_crypto_hw_aes_ctr.csrc/lib/crypto/atca_crypto_hw_aes_ctr.c
lib/crypto/atca_crypto_sw_ecdsa.csrc/lib/crypto/atca_crypto_sw_ecdsa.c
lib/crypto/atca_crypto_sw_sha1.csrc/lib/crypto/atca_crypto_sw_sha1.c
lib/crypto/atca_crypto_hw_aes_cbcmac.csrc/lib/crypto/atca_crypto_hw_aes_cbcmac.c
lib/crypto/atca_crypto_hw_aes_cmac.csrc/lib/crypto/atca_crypto_hw_aes_cmac.c
lib/crypto/atca_crypto_pbkdf2.csrc/lib/crypto/atca_crypto_pbkdf2.c
lib/crypto/atca_crypto_sw_rand.csrc/lib/crypto/atca_crypto_sw_rand.c
lib/crypto/atca_crypto_sw_sha2.csrc/lib/crypto/atca_crypto_sw_sha2.c
lib/crypto/hashes/sha1_routines.csrc/lib/crypto/hashes/sha1_routines.c
lib/crypto/hashes/sha2_routines.csrc/lib/crypto/hashes/sha2_routines.c
lib/hal/atca_hal.csrc/lib/hal/atca_hal.c
lib/host/atca_host.csrc/lib/host/atca_host.c
lib/jwt/atca_jwt.csrc/lib/jwt/atca_jwt.c
lib/mbedtls/atca_mbedtls_ecdh.csrc/lib/mbedtls/atca_mbedtls_ecdh.c
lib/mbedtls/atca_mbedtls_ecdsa.csrc/lib/mbedtls/atca_mbedtls_ecdsa.c
lib/mbedtls/atca_mbedtls_wrap.csrc/lib/mbedtls/atca_mbedtls_wrap.c
lib/mbedtls/atca_mbedtls_wrap.hsrc/lib/mbedtls/atca_mbedtls_wrap.h
lib/mbedtls/README.mdsrc/lib/mbedtls/README.md
lib/openssl/atca_openssl_interface.csrc/lib/openssl/atca_openssl_interface.c
lib/openssl/README.mdsrc/lib/openssl/README.md
lib/pkcs11/pkcs11_attrib.csrc/lib/pkcs11/pkcs11_attrib.c
lib/pkcs11/pkcs11_config.csrc/lib/pkcs11/pkcs11_config.c
lib/pkcs11/pkcs11_digest.csrc/lib/pkcs11/pkcs11_digest.c
lib/pkcs11/pkcs11_find.csrc/lib/pkcs11/pkcs11_find.c
lib/pkcs11/pkcs11_init.csrc/lib/pkcs11/pkcs11_init.c
lib/pkcs11/pkcs11_main.csrc/lib/pkcs11/pkcs11_main.c
lib/pkcs11/pkcs11_object.csrc/lib/pkcs11/pkcs11_object.c
lib/pkcs11/pkcs11_session.csrc/lib/pkcs11/pkcs11_session.c
lib/pkcs11/pkcs11_slot.csrc/lib/pkcs11/pkcs11_slot.c
lib/pkcs11/pkcs11_util.csrc/lib/pkcs11/pkcs11_util.c
lib/pkcs11/pkcs11_cert.csrc/lib/pkcs11/pkcs11_cert.c
lib/pkcs11/pkcs11_debug.csrc/lib/pkcs11/pkcs11_debug.c
lib/pkcs11/pkcs11_encrypt.csrc/lib/pkcs11/pkcs11_encrypt.c
lib/pkcs11/pkcs11_info.csrc/lib/pkcs11/pkcs11_info.c
lib/pkcs11/pkcs11_key.csrc/lib/pkcs11/pkcs11_key.c
lib/pkcs11/pkcs11_mech.csrc/lib/pkcs11/pkcs11_mech.c
lib/pkcs11/pkcs11_os.csrc/lib/pkcs11/pkcs11_os.c
lib/pkcs11/pkcs11_signature.csrc/lib/pkcs11/pkcs11_signature.c
lib/pkcs11/pkcs11_token.csrc/lib/pkcs11/pkcs11_token.c
third_party/atca_mbedtls_patch.csrc/third_party/atca_mbedtls_patch.c
app/tng/tng_atca.hinclude/app/tng/tng_atca.h