From b6ac3379f01209d7afe5529e9e576992258c4efc Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Thu, 19 Jul 2018 16:06:42 -0600 Subject: [PATCH] add wolfSSL library project for Atollic TrueSTUDIO --- IDE/TRUESTUDIO/README | 24 +++ IDE/TRUESTUDIO/wolfssl/.cproject | 195 ++++++++++++++++++ IDE/TRUESTUDIO/wolfssl/.project | 85 ++++++++ ...lic.truestudio.debug.hardware_device.prefs | 11 + .../wolfssl/.settings/language.settings.xml | 23 +++ .../org.eclipse.cdt.managedbuilder.core.prefs | 7 + IDE/TRUESTUDIO/wolfssl/user_settings.h | 39 ++++ 7 files changed, 384 insertions(+) create mode 100644 IDE/TRUESTUDIO/README create mode 100644 IDE/TRUESTUDIO/wolfssl/.cproject create mode 100644 IDE/TRUESTUDIO/wolfssl/.project create mode 100644 IDE/TRUESTUDIO/wolfssl/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 IDE/TRUESTUDIO/wolfssl/.settings/language.settings.xml create mode 100644 IDE/TRUESTUDIO/wolfssl/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 IDE/TRUESTUDIO/wolfssl/user_settings.h diff --git a/IDE/TRUESTUDIO/README b/IDE/TRUESTUDIO/README new file mode 100644 index 000000000..1b5d58355 --- /dev/null +++ b/IDE/TRUESTUDIO/README @@ -0,0 +1,24 @@ +wolfSSL Example Project for Atollic TrueSTUDIO + +This directory contains an example wolfSSL static library project for +Atollic TrueSTUDIO. + +The "wolfssl" TrueSTUDIO project has been set up to compile a generic +static library for ARM Cortex-M4 devices. This can be configured +and changed in the project properties window. + +Steps to compile this project: + +1. Open Atollic TrueSTUDIO +2. Import project into workspace (File->Import) +3. Build project (Project->Build Project) + +This project defines WOLFSSL_USER_SETTINGS in the C/C++ Compiler +toolchain preprocessor symbols. This causes wolfSSL to look for and +include a "user_settings.h" file at build time. This header controls +how the wolfSSL library is compiled. + +The existing "user_settings.h" file is very minimal and users should +modify it to meet the requirements and specifics of their projects. + +For support, please email wolfSSL at support@wolfssl.com. diff --git a/IDE/TRUESTUDIO/wolfssl/.cproject b/IDE/TRUESTUDIO/wolfssl/.cproject new file mode 100644 index 000000000..fe9d2bedd --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/.cproject @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IDE/TRUESTUDIO/wolfssl/.project b/IDE/TRUESTUDIO/wolfssl/.project new file mode 100644 index 000000000..6c3b5e91f --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/.project @@ -0,0 +1,85 @@ + + + wolfssl + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + src + 2 + PARENT-3-PROJECT_LOC/src + + + wolfcrypt + 2 + PARENT-3-PROJECT_LOC../wolfcrypt/src + + + + + 1532034023517 + src + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-*.c + + + + 1532034023533 + src + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-bio.c + + + + 1532033968425 + wolfcrypt + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-*.c + + + + 1532033968425 + wolfcrypt + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-evp.c + + + + 1532033968456 + wolfcrypt + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-misc.c + + + + diff --git a/IDE/TRUESTUDIO/wolfssl/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/IDE/TRUESTUDIO/wolfssl/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 000000000..935202fb2 --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,11 @@ +BOARD=None +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=Cortex-M4 +MCU_VENDOR=ARM +MODEL=Pro +PROBE= +PROJECT_FORMAT_VERSION=2 +TARGET=STM32 +VERSION=9.0.1 +eclipse.preferences.version=1 diff --git a/IDE/TRUESTUDIO/wolfssl/.settings/language.settings.xml b/IDE/TRUESTUDIO/wolfssl/.settings/language.settings.xml new file mode 100644 index 000000000..b70d7e90a --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/.settings/language.settings.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IDE/TRUESTUDIO/wolfssl/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/IDE/TRUESTUDIO/wolfssl/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 000000000..f4d54100b --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.lib.debug.580470111/appendContributed=true diff --git a/IDE/TRUESTUDIO/wolfssl/user_settings.h b/IDE/TRUESTUDIO/wolfssl/user_settings.h new file mode 100644 index 000000000..a771d7609 --- /dev/null +++ b/IDE/TRUESTUDIO/wolfssl/user_settings.h @@ -0,0 +1,39 @@ +/* user_settings.h + * + * Custom wolfSSL User Settings File + * + * This is a custom user settings file which controls the build of wolfSSL. + * The defines here are the defaults for this library project, but should + * be updated to match the end project. + * + * As this is a standalone library project, it has been configured to be + * compiled as a generic ARM Cortex-M4 build. No operating system or + * TCP/IP stack has been configured yet, so some associated features + * have been disabled below. + */ + +#ifndef USER_SETTINGS_H_ +#define USER_SETTINGS_H_ + +/* no dirent.h support */ +#define NO_WOLFSSL_DIR + +/* no sys/uio.h, disable writev() */ +#define NO_WRITEV + +/* no OS yet, so no mutexes */ +#define SINGLE_THREADED + +/* no TCP/IP stack connected yet */ +#define WOLFSSL_USER_IO + +/* enable fastmath library */ +#define USE_FAST_MATH + +/* enable hardened build options */ +#define TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#endif /* USER_SETTINGS_H_ */ +