diff --git a/IDE/GCC-ARM/Header/user_settings.h b/IDE/GCC-ARM/Header/user_settings.h index 03cc0371d..e2bc1197b 100755 --- a/IDE/GCC-ARM/Header/user_settings.h +++ b/IDE/GCC-ARM/Header/user_settings.h @@ -149,6 +149,9 @@ extern "C" { #undef HAVE_AESGCM #define HAVE_AESGCM + #undef HAVE_AESCCM + #define HAVE_AESCCM + /* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */ #undef GCM_SMALL #define GCM_SMALL @@ -260,7 +263,7 @@ extern "C" { /* ------------------------------------------------------------------------- */ #undef DEBUG_WOLFSSL -#define DEBUG_WOLFSSL +//#define DEBUG_WOLFSSL /* Use this to measure / print heap usage */ #if 0 @@ -307,7 +310,7 @@ extern unsigned int custom_rand_generate(void); #define CUSTOM_RAND_GENERATE custom_rand_generate /* Choose RNG method */ -#if 1 +#if 0 /* Use built-in P-RNG (SHA256 based) with HW RNG */ /* P-RNG + HW RNG (P-RNG is ~8K) */ #undef HAVE_HASHDRBG diff --git a/IDE/GCC-ARM/Makefile b/IDE/GCC-ARM/Makefile new file mode 100755 index 000000000..82a12fb0a --- /dev/null +++ b/IDE/GCC-ARM/Makefile @@ -0,0 +1,16 @@ +BUILD_DIR = ./Build + +all: WolfSSLStaticLib WolfCryptTest WolfCryptBench WolfSSLClient + +WolfCryptTest: + $(MAKE) -f Makefile.test +WolfCryptBench: + $(MAKE) -f Makefile.bench +WolfSSLClient: + $(MAKE) -f Makefile.client +WolfSSLStaticLib: + $(MAKE) -f Makefile.static + +clean: + rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map + rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm diff --git a/IDE/GCC-ARM/Makefile.bench b/IDE/GCC-ARM/Makefile.bench index 70592dc8c..b7149e023 100755 --- a/IDE/GCC-ARM/Makefile.bench +++ b/IDE/GCC-ARM/Makefile.bench @@ -2,4 +2,6 @@ BIN = WolfCryptBench SRC_C = ./Source/benchmark_main.c +all: build_hex + include Makefile.common diff --git a/IDE/GCC-ARM/Makefile.client b/IDE/GCC-ARM/Makefile.client index 74d57c17a..1df58cd66 100644 --- a/IDE/GCC-ARM/Makefile.client +++ b/IDE/GCC-ARM/Makefile.client @@ -2,4 +2,6 @@ BIN = WolfSSLClient SRC_C = ./Source/tls_client.c +all: build_hex + include Makefile.common diff --git a/IDE/GCC-ARM/Makefile.common b/IDE/GCC-ARM/Makefile.common index fe7d454db..b64fc7c41 100755 --- a/IDE/GCC-ARM/Makefile.common +++ b/IDE/GCC-ARM/Makefile.common @@ -1,15 +1,15 @@ -BUILD_DIR = ./Build - # Set to @ if you want to suppress command echo -CMD_ECHO = @ +CMD_ECHO = # Important directories +BUILD_DIR = ./Build TOOLCHAIN_DIR = /opt/gcc-arm-none-eabi/bin INC = -I./Header \ -I./Source \ -I../.. +# Memory Map SRC_LD = ./linker.ld # Defines @@ -31,7 +31,7 @@ LDFLAGS = $(ARCHFLAGS) -Wl,--gc-sections --specs=nano.specs --specs=nosys.specs LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(BIN).map $(DBGFLAGS) LDFLAGS += -Wl,-ereset_handler -# Math lib for DH +# Math lib (for DH) LIBS = -lm SRC_C += ./Source/armtarget.c @@ -45,16 +45,20 @@ vpath %.c $(dir $(SRC_C)) CC = $(TOOLCHAIN_DIR)/arm-none-eabi-gcc AS = $(TOOLCHAIN_DIR)/arm-none-eabi-gcc LD = $(TOOLCHAIN_DIR)/arm-none-eabi-gcc +AR = $(TOOLCHAIN_DIR)/arm-none-eabi-ar NM = $(TOOLCHAIN_DIR)/arm-none-eabi-nm OBJCOPY = $(TOOLCHAIN_DIR)/arm-none-eabi-objcopy OBJDUMP = $(TOOLCHAIN_DIR)/arm-none-eabi-objdump SIZE = $(TOOLCHAIN_DIR)/arm-none-eabi-size - -all: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).hex +build_hex: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).hex @echo "" $(CMD_ECHO) @$(SIZE) $(BUILD_DIR)/$(BIN).elf +build_static: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).a + @echo "" + $(CMD_ECHO) @$(SIZE) $(BUILD_DIR)/$(BIN).a + $(BUILD_DIR): $(CMD_ECHO) mkdir -p $(BUILD_DIR) @@ -80,6 +84,16 @@ $(BUILD_DIR)/$(BIN).elf: $(OBJS_ASM) $(OBJS_C) @echo "Generating disassembly: $(BIN).disasm" $(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm +$(BUILD_DIR)/$(BIN).a: $(OBJS_ASM) $(OBJS_C) + @echo "Building static library: $(notdir $@)" + $(CMD_ECHO) $(AR) -r $@ $^ + + @echo "Generating name list: $(BIN).sym" + $(CMD_ECHO) $(NM) -n $@ > $(BUILD_DIR)/$(BIN).sym + + @echo "Generating disassembly: $(BIN).disasm" + $(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm + clean: rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm diff --git a/IDE/GCC-ARM/Makefile.static b/IDE/GCC-ARM/Makefile.static new file mode 100755 index 000000000..66b799bff --- /dev/null +++ b/IDE/GCC-ARM/Makefile.static @@ -0,0 +1,6 @@ +# Project name +BIN = libwolfssl + +all: build_static + +include Makefile.common diff --git a/IDE/GCC-ARM/Makefile.test b/IDE/GCC-ARM/Makefile.test index 78778c6ff..4145f457d 100755 --- a/IDE/GCC-ARM/Makefile.test +++ b/IDE/GCC-ARM/Makefile.test @@ -2,4 +2,6 @@ BIN = WolfCryptTest SRC_C = ./Source/test_main.c +all: build_hex + include Makefile.common diff --git a/IDE/GCC-ARM/include.am b/IDE/GCC-ARM/include.am index 2b5c927ca..634fedf3d 100644 --- a/IDE/GCC-ARM/include.am +++ b/IDE/GCC-ARM/include.am @@ -13,4 +13,5 @@ EXTRA_DIST+= IDE/GCC-ARM/Makefile.bench EXTRA_DIST+= IDE/GCC-ARM/Makefile.client EXTRA_DIST+= IDE/GCC-ARM/Makefile.common EXTRA_DIST+= IDE/GCC-ARM/Makefile.test +EXTRA_DIST+= IDE/GCC-ARM/Makefile.static EXTRA_DIST+= IDE/GCC-ARM/README.md