Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Commit

Permalink
Add support for ESP32-WROOM-32SE (#1909)
Browse files Browse the repository at this point in the history
* Merged esp32-wroom-32se to master.
  • Loading branch information
lundinc2 committed Apr 20, 2020
1 parent 0247a94 commit 68289aa
Show file tree
Hide file tree
Showing 25 changed files with 1,066 additions and 557 deletions.
87 changes: 69 additions & 18 deletions libraries/abstractions/pkcs11/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,78 @@ afr_module_dependencies(
)


# Link to this INTERFACE target to use the default implementation based on mbedtls.
afr_module(NAME pkcs11_mbedtls INTERFACE)
if(ECC608_IN_USE)
set(mchp_dir "${AFR_VENDORS_DIR}/microchip")
set(ecc608a_dir "${mchp_dir}/secure_elements")
set(atca_config_dir "${CMAKE_CURRENT_LIST_DIR}/ecc608a")
afr_module(NAME pkcs11_ecc608a INTERFACE)

set(src_dir "${CMAKE_CURRENT_LIST_DIR}/mbedtls")
afr_glob_src(ecc608a_atacert_src RECURSE DIRECTORY ${ecc608a_dir}/lib/atcacert)
afr_glob_src(ecc608a_basic_src RECURSE DIRECTORY ${ecc608a_dir}/lib/basic)
afr_glob_src(ecc608a_crypto_src RECURSE DIRECTORY ${ecc608a_dir}/lib/crypto)
afr_glob_src(ecc608a_host_src RECURSE DIRECTORY ${ecc608a_dir}/lib/host)
afr_glob_src(ecc608a_pkcs11_src RECURSE DIRECTORY ${ecc608a_dir}/lib/pkcs11)

afr_module_sources(
pkcs11_mbedtls
INTERFACE
"${src_dir}/iot_pkcs11_mbedtls.c"
"${src_dir}/threading_alt.h"
"${inc_dir}/iot_pkcs11_pal.h"
)

afr_module_dependencies(
pkcs11_mbedtls
INTERFACE
AFR::crypto
AFR::pkcs11_implementation
AFR::utils
3rdparty::mbedtls
)
afr_glob_src(ecc608a_src DIRECTORY ${ecc608a_dir}/lib)
list(REMOVE_ITEM ecc608a_src "${ecc608a_dir}/lib/atca_cfgs.c")

set(ecc608_include "${ecc608a_dir}/lib")
set(ecc608_src_list
"${ecc608a_src}"
"${ecc608a_atacert_src}"
"${ecc608a_basic_src}"
"${ecc608a_crypto_src}"
"${ecc608a_host_src}"
"${ecc608a_pkcs11_src}"
)

afr_module_sources(
pkcs11_ecc608a
INTERFACE
"${atca_config_dir}/atca_cert_chain.h"
"${atca_config_dir}/atca_cert_chain.c"
"${atca_config_dir}/iot_pkcs11_secure_element.c"
"${ecc608_src_list}"
)

afr_module_include_dirs(
pkcs11_ecc608a
INTERFACE
"${inc_dir}"
"${ecc608_include}"
)

afr_module_dependencies(
pkcs11_ecc608a
INTERFACE
AFR::crypto
AFR::pkcs11_implementation
AFR::utils
)
else()
afr_module(NAME pkcs11_mbedtls INTERFACE)
set(src_dir "${CMAKE_CURRENT_LIST_DIR}/mbedtls")

afr_module_sources(
pkcs11_mbedtls
INTERFACE
"${src_dir}/iot_pkcs11_mbedtls.c"
"${src_dir}/threading_alt.h"
"${inc_dir}/iot_pkcs11_pal.h"
)

afr_module_dependencies(
pkcs11_mbedtls
INTERFACE
AFR::crypto
AFR::pkcs11_implementation
AFR::utils
3rdparty::mbedtls
)

endif()


# PKCS11 test
afr_test_module()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,20 +204,31 @@ const char * pcPkcs11GetThingName(void)
return gcPkcs11ThingNameCache;
}

/** \defgroup config Configuration (cfg_)
* \brief Logical device configurations describe the CryptoAuth device type and logical interface.
@{ */

#ifdef ATCA_HAL_I2C
/** \brief default configuration for an ECCx08A device */
ATCAIfaceCfg cfg_ateccx08a_i2c_default = {
.iface_type = ATCA_I2C_IFACE,
.devtype = ATECC608A,
.atcai2c.slave_address = 0xC0,
.atcai2c.bus = 1,
.atcai2c.baud = 400000,
.wake_delay = 1500,
.rx_retries = 20
};
#endif

#ifdef ATCA_HAL_KIT_HID
/** \brief default configuration for Kit protocol over the device's async interface */
ATCAIfaceCfg cfg_ateccx08a_kithid_default = {
.iface_type = ATCA_HID_IFACE,
.devtype = ATECC608A,
.atcahid.idx = 0,
.atcahid.vid = 0x03EB,
.atcahid.pid = 0x2312,
.atcahid.packetsize = 64,
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
};
#endif

#ifdef AMAZON_FREERTOS_ENABLE_UNIT_TESTS
/* This configuration is only suitable for testing of a device and does not enforce good
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\..\..\freertos_kernel\include;..\..\..\..\..\freertos_kernel\portable\MSVC-MingW;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\config_files;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code;..\..\..\..\..\vendors\microchip\secure_elements\lib;..\..\..\..\..\vendors\microchip\secure_elements\third_party\hidapi\hidapi;..\..\..\..\..\demos\include;..\..\..\..\..\demos\network_manager;..\..\..\..\..\libraries\c_sdk\standard\common\include\private;..\..\..\..\..\libraries\c_sdk\standard\common\include;..\..\..\..\..\libraries\abstractions\platform\include;..\..\..\..\..\libraries\abstractions\platform\freertos\include;..\..\..\..\..\libraries\abstractions\secure_sockets\include;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\test;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\include;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\source\portable\Compiler\MSVC;..\..\..\..\..\libraries\freertos_plus\standard\tls\include;..\..\..\..\..\libraries\freertos_plus\standard\crypto\include;..\..\..\..\..\libraries\freertos_plus\standard\pkcs11\include;..\..\..\..\..\libraries\abstractions\pkcs11\include;..\..\..\..\..\libraries\freertos_plus\standard\utils\include;..\..\..\..\..\demos\dev_mode_key_provisioning\include;..\..\..\..\..\libraries\c_sdk\aws\defender\include;..\..\..\..\..\libraries\c_sdk\standard\mqtt\include;..\..\..\..\..\libraries\c_sdk\standard\serializer\include;..\..\..\..\..\libraries\c_sdk\aws\shadow\include;..\..\..\..\..\libraries\c_sdk\standard\https\include;..\..\..\..\..\libraries\freertos_plus\aws\greengrass\include;..\..\..\..\..\libraries\freertos_plus\aws\ota\src;..\..\..\..\..\libraries\freertos_plus\aws\ota\include;..\..\..\..\..\libraries\3rdparty\mbedtls\include;..\..\..\..\..\libraries\abstractions\posix\include;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\ports\posix;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_posix\include;..\..\..\..\..\libraries\3rdparty\tracealyzer_recorder\Include;..\..\..\..\..\libraries\3rdparty\win_pcap;..\..\..\..\..\libraries\3rdparty\pkcs11;..\..\..\..\..\libraries\abstractions\pkcs11\mbedtls;..\..\..\..\..\libraries\3rdparty\mbedtls\include\mbedtls;..\..\..\..\..\libraries\3rdparty\mbedtls_utils;..\..\..\..\..\libraries\3rdparty\mbedtls_config;..\..\..\..\..\libraries\3rdparty\tinycbor;..\..\..\..\..\libraries\3rdparty\http_parser;..\..\..\..\..\libraries\3rdparty\jsmn</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\..\..\freertos_kernel\include;..\..\..\..\..\freertos_kernel\portable\MSVC-MingW;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\config_files;..\..\..\..\..\libraries\abstractions\pkcs11\ecc608a;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code;..\..\..\..\..\vendors\microchip\secure_elements\lib;..\..\..\..\..\vendors\microchip\secure_elements\third_party\hidapi\hidapi;..\..\..\..\..\demos\include;..\..\..\..\..\demos\network_manager;..\..\..\..\..\libraries\c_sdk\standard\common\include\private;..\..\..\..\..\libraries\c_sdk\standard\common\include;..\..\..\..\..\libraries\abstractions\platform\include;..\..\..\..\..\libraries\abstractions\platform\freertos\include;..\..\..\..\..\libraries\abstractions\secure_sockets\include;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\test;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\include;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\source\portable\Compiler\MSVC;..\..\..\..\..\libraries\freertos_plus\standard\tls\include;..\..\..\..\..\libraries\freertos_plus\standard\crypto\include;..\..\..\..\..\libraries\freertos_plus\standard\pkcs11\include;..\..\..\..\..\libraries\abstractions\pkcs11\include;..\..\..\..\..\libraries\freertos_plus\standard\utils\include;..\..\..\..\..\demos\dev_mode_key_provisioning\include;..\..\..\..\..\libraries\c_sdk\aws\defender\include;..\..\..\..\..\libraries\c_sdk\standard\mqtt\include;..\..\..\..\..\libraries\c_sdk\standard\serializer\include;..\..\..\..\..\libraries\c_sdk\aws\shadow\include;..\..\..\..\..\libraries\c_sdk\standard\https\include;..\..\..\..\..\libraries\freertos_plus\aws\greengrass\include;..\..\..\..\..\libraries\freertos_plus\aws\ota\src;..\..\..\..\..\libraries\freertos_plus\aws\ota\include;..\..\..\..\..\libraries\3rdparty\mbedtls\include;..\..\..\..\..\libraries\abstractions\posix\include;..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\ports\posix;..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_posix\include;..\..\..\..\..\libraries\3rdparty\tracealyzer_recorder\Include;..\..\..\..\..\libraries\3rdparty\win_pcap;..\..\..\..\..\libraries\3rdparty\pkcs11;..\..\..\..\..\libraries\abstractions\pkcs11\mbedtls;..\..\..\..\..\libraries\3rdparty\mbedtls\include\mbedtls;..\..\..\..\..\libraries\3rdparty\mbedtls_utils;..\..\..\..\..\libraries\3rdparty\mbedtls_config;..\..\..\..\..\libraries\3rdparty\tinycbor;..\..\..\..\..\libraries\3rdparty\http_parser;..\..\..\..\..\libraries\3rdparty\jsmn</AdditionalIncludeDirectories>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE=&quot;aws_mbedtls_config.h&quot;;CONFIG_MEDTLS_USE_AFR_MEMORY;WIN32;_DEBUG;__free_rtos__;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;__PRETTY_FUNCTION__=__FUNCTION__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild/>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
Expand Down Expand Up @@ -439,7 +439,6 @@
<ClCompile Include="..\..\..\..\..\vendors\microchip\secure_elements\lib\pkcs11\pkcs11_slot.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\secure_elements\lib\pkcs11\pkcs11_token.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\secure_elements\lib\pkcs11\pkcs11_util.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\ports\pkcs11\iot_pkcs11_secure_element.c"/>
<ClCompile Include="..\..\..\..\..\libraries\freertos_plus\standard\utils\src\iot_system_init.c"/>
<ClCompile Include="..\..\..\..\..\libraries\freertos_plus\standard\utils\src\iot_pki_utils.c"/>
<ClCompile Include="..\..\..\..\..\demos\dev_mode_key_provisioning\src\aws_dev_mode_key_provisioning.c"/>
Expand Down Expand Up @@ -501,7 +500,8 @@
<ClCompile Include="..\..\..\..\..\demos\shadow\aws_iot_demo_shadow.c"/>
<ClCompile Include="..\..\..\..\..\demos\tcp\aws_tcp_echo_client_single_task.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\main.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\atca_cert_chain.c"/>
<ClCompile Include="..\..\..\..\..\libraries\abstractions\pkcs11\ecc608a\atca_cert_chain.c"/>
<ClCompile Include="..\..\..\..\..\libraries\abstractions\pkcs11\ecc608a\iot_pkcs11_secure_element.c" />
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\aws_demo_logging.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\aws_entropy_hardware_poll.c"/>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\aws_run-time-stats-utils.c"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1196,8 +1196,8 @@
<ClCompile Include="..\..\..\..\..\vendors\microchip\secure_elements\lib\pkcs11\pkcs11_util.c">
<Filter>vendors\microchip\secure_elements\lib\pkcs11</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\ports\pkcs11\iot_pkcs11_secure_element.c">
<Filter>vendors\microchip\boards\ecc608a_plus_winsim\ports\pkcs11</Filter>
<ClCompile Include="..\..\..\..\..\libraries\abstractions\pkcs11\ecc608a\iot_pkcs11_secure_element.c">
<Filter>vendors\microchip\secure_elements</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\libraries\freertos_plus\standard\utils\src\iot_system_init.c">
<Filter>libraries\freertos_plus\standard\utils\src</Filter>
Expand Down Expand Up @@ -1382,8 +1382,8 @@
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\main.c">
<Filter>application_code</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\atca_cert_chain.c">
<Filter>application_code</Filter>
<ClCompile Include="..\..\..\..\..\libraries\abstractions\pkcs11\ecc608a\atca_cert_chain.c">
<Filter>vendors\microchip\secure_elements</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\vendors\microchip\boards\ecc608a_plus_winsim\aws_demos\application_code\aws_demo_logging.c">
<Filter>application_code</Filter>
Expand Down
Loading

0 comments on commit 68289aa

Please sign in to comment.