Can't build SimpleSerial-base CWLite32


#1

So I’m attempting to follow along with the B1 tutorial and do the SimpleSerial-base project and there seems to be an issue.

I ran this according to the ARM target instructions

$ make PLATFORM=CWLITEARM CRYPTO_TARGET=TINYAES128C
rm -f – simpleserial-base-CWLITEARM.hex
rm -f – simpleserial-base-CWLITEARM.eep
rm -f – simpleserial-base-CWLITEARM.cof
rm -f – simpleserial-base-CWLITEARM.elf
rm -f – simpleserial-base-CWLITEARM.map
rm -f – simpleserial-base-CWLITEARM.sym
rm -f – simpleserial-base-CWLITEARM.lss
rm -f – objdir/.o
rm -f – objdir/
.lst
rm -f – simpleserial-base.s simpleserial.s stm32f3_hal.s stm32f3_hal_lowlevel.s stm32f3_sysmem.s aes.s aes-independant.s
rm -f – simpleserial-base.d simpleserial.d stm32f3_hal.d stm32f3_hal_lowlevel.d stm32f3_sysmem.d aes.d aes-independant.d
rm -f – simpleserial-base.i simpleserial.i stm32f3_hal.i stm32f3_hal_lowlevel.i stm32f3_sysmem.i aes.i aes-independant.i
mkdir objdir
mkdir .dep
.
-------- begin --------
arm-none-eabi-gcc (15:6.3.1+svn253039-1build1) 6.3.1 20170620
Copyright © 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

.
Compiling C: simpleserial-base.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial-base.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/simpleserial-base.o.d simpleserial-base.c -o objdir/simpleserial-base.o
.
Compiling C: …/./simpleserial/simpleserial.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/simpleserial.o.d …/./simpleserial/simpleserial.c -o objdir/simpleserial.o
.
Compiling C: …/./hal/stm32f3/stm32f3_hal.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_hal.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/stm32f3_hal.o.d …/./hal/stm32f3/stm32f3_hal.c -o objdir/stm32f3_hal.o
In file included from …/./hal/stm32f3/stm32f3_hal.c:3:0:
…/./hal/stm32f3/stm32f3_hal_lowlevel.h:108:0: warning: “STM32F303xC” redefined
#define STM32F303xC

:0:0: note: this is the location of the previous definition
.
Compiling C: …/./hal/stm32f3/stm32f3_hal_lowlevel.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_hal_lowlevel.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/stm32f3_hal_lowlevel.o.d …/./hal/stm32f3/stm32f3_hal_lowlevel.c -o objdir/stm32f3_hal_lowlevel.o
In file included from …/./hal/stm32f3/stm32f3_hal_lowlevel.c:39:0:
…/./hal/stm32f3/stm32f3_hal_lowlevel.h:108:0: warning: “STM32F303xC” redefined
#define STM32F303xC

:0:0: note: this is the location of the previous definition
…/./hal/stm32f3/stm32f3_hal_lowlevel.c:47:0: warning: “assert_param” redefined
#define assert_param(expr) ((void)0U)

In file included from …/./hal/stm32f3/stm32f3_hal_lowlevel.c:38:0:
…/./hal/stm32f3/stm32f3_hal.h:21:0: note: this is the location of the previous definition
#define assert_param(expr) ((void)0)

.
Compiling C: …/./hal/stm32f3/stm32f3_sysmem.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_sysmem.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/stm32f3_sysmem.o.d …/./hal/stm32f3/stm32f3_sysmem.c -o objdir/stm32f3_sysmem.o
.
Compiling C: …/./crypto/tiny-AES128-C/aes.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/aes.o.d …/./crypto/tiny-AES128-C/aes.c -o objdir/aes.o
.
Compiling C: …/./crypto/aes-independant.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes-independant.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/aes-independant.o.d …/./crypto/aes-independant.c -o objdir/aes-independant.o
.
Assembling: …/./hal/stm32f3/stm32f3_startup.S
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -x assembler-with-cpp -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -DF_CPU=7372800 -Wa,-gstabs,-adhlns=objdir/stm32f3_startup.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C …/./hal/stm32f3/stm32f3_startup.S -o objdir/stm32f3_startup.o
.
Linking: simpleserial-base-CWLITEARM.elf
arm-none-eabi-gcc -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CWLITEARM -DTINYAES128C -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial-base.o -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/simpleserial-base-CWLITEARM.elf.d objdir/simpleserial-base.o objdir/simpleserial.o objdir/stm32f3_hal.o objdir/stm32f3_hal_lowlevel.o objdir/stm32f3_sysmem.o objdir/aes.o objdir/aes-independant.o objdir/stm32f3_startup.o --output simpleserial-base-CWLITEARM.elf --specs=nano.specs -T …/./hal/stm32f3/LinkerScript.ld -Wl,–gc-sections -lm -Wl,-Map=simpleserial-base-CWLITEARM.map,–cref -lm
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/crt0.o: Conflicting CPU architectures 13/1
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/crt0.o
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-atexit.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-atexit.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-errno.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-errno.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-exit.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-exit.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-fini.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-fini.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-impure.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-impure.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-init.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-init.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-memset.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-memset.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-__atexit.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-__atexit.o)
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: error: simpleserial-base-CWLITEARM.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-__call_atexit.o) does not
/usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/…/…/…/arm-none-eabi/lib/libg_nano.a(lib_a-__call_atexit.o)
collect2: error: ld returned 1 exit status
…/./Makefile.inc:471: recipe for target ‘simpleserial-base-CWLITEARM.elf’ failed
make: *** [simpleserial-base-CWLITEARM.elf] Error 1

After a couple more attempts with the same result I tried building it using the XMEGA guide and it worked just fine

$ make PLATFORM=CW303
rm -f – simpleserial-base-CW303.hex
rm -f – simpleserial-base-CW303.eep
rm -f – simpleserial-base-CW303.cof
rm -f – simpleserial-base-CW303.elf
rm -f – simpleserial-base-CW303.map
rm -f – simpleserial-base-CW303.sym
rm -f – simpleserial-base-CW303.lss
rm -f – objdir/.o
rm -f – objdir/
.lst
rm -f – simpleserial-base.s simpleserial.s XMEGA_AES_driver.s uart.s usart_driver.s xmega_hal.s aes-independant.s aes_enc.s aes_keyschedule.s aes_sbox.s aes128_enc.s
rm -f – simpleserial-base.d simpleserial.d XMEGA_AES_driver.d uart.d usart_driver.d xmega_hal.d aes-independant.d aes_enc.d aes_keyschedule.d aes_sbox.d aes128_enc.d
rm -f – simpleserial-base.i simpleserial.i XMEGA_AES_driver.i uart.i usart_driver.i xmega_hal.i aes-independant.i aes_enc.i aes_keyschedule.i aes_sbox.i aes128_enc.i
mkdir objdir
mkdir .dep
.
-------- begin --------
avr-gcc (GCC) 5.4.0
Copyright © 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

.
Compiling C: simpleserial-base.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial-base.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/simpleserial-base.o.d simpleserial-base.c -o objdir/simpleserial-base.o
.
Compiling C: …/./simpleserial/simpleserial.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/simpleserial.o.d …/./simpleserial/simpleserial.c -o objdir/simpleserial.o
.
Compiling C: …/./hal/xmega/XMEGA_AES_driver.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/XMEGA_AES_driver.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/XMEGA_AES_driver.o.d …/./hal/xmega/XMEGA_AES_driver.c -o objdir/XMEGA_AES_driver.o
.
Compiling C: …/./hal/xmega/uart.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/uart.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/uart.o.d …/./hal/xmega/uart.c -o objdir/uart.o
.
Compiling C: …/./hal/xmega/usart_driver.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/usart_driver.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/usart_driver.o.d …/./hal/xmega/usart_driver.c -o objdir/usart_driver.o
.
Compiling C: …/./hal/xmega/xmega_hal.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/xmega_hal.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/xmega_hal.o.d …/./hal/xmega/xmega_hal.c -o objdir/xmega_hal.o
.
Compiling C: …/./crypto/aes-independant.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes-independant.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes-independant.o.d …/./crypto/aes-independant.c -o objdir/aes-independant.o
.
Compiling C: …/./crypto/avrcryptolib//aes/aes_enc.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes_enc.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes_enc.o.d …/./crypto/avrcryptolib//aes/aes_enc.c -o objdir/aes_enc.o
.
Compiling C: …/./crypto/avrcryptolib//aes/aes_keyschedule.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes_keyschedule.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes_keyschedule.o.d …/./crypto/avrcryptolib//aes/aes_keyschedule.c -o objdir/aes_keyschedule.o
.
Compiling C: …/./crypto/avrcryptolib//aes/aes_sbox.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes_sbox.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes_sbox.o.d …/./crypto/avrcryptolib//aes/aes_sbox.c -o objdir/aes_sbox.o
.
Compiling C: …/./crypto/avrcryptolib//aes/aes128_enc.c
avr-gcc -c -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes128_enc.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes128_enc.o.d …/./crypto/avrcryptolib//aes/aes128_enc.c -o objdir/aes128_enc.o
.
Assembling: …/./crypto/avrcryptolib//gf256mul/gf256mul.S
avr-gcc -c -mmcu=atxmega128d3 -I. -x assembler-with-cpp -DF_CPU=7372800 -Wa,-gstabs,-adhlns=objdir/gf256mul.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul …/./crypto/avrcryptolib//gf256mul/gf256mul.S -o objdir/gf256mul.o
.
Linking: simpleserial-base-CW303.elf
avr-gcc -mmcu=atxmega128d3 -I. -fpack-struct -gdwarf-2 -DSS_VER=SS_VER_1_1 -DHAL_TYPE=HAL_xmega -DPLATFORM=CW303 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial-base.o -I…/./simpleserial/ -I…/./hal -I…/./hal/xmega -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/simpleserial-base-CW303.elf.d objdir/simpleserial-base.o objdir/simpleserial.o objdir/XMEGA_AES_driver.o objdir/uart.o objdir/usart_driver.o objdir/xmega_hal.o objdir/aes-independant.o objdir/aes_enc.o objdir/aes_keyschedule.o objdir/aes_sbox.o objdir/aes128_enc.o objdir/gf256mul.o --output simpleserial-base-CW303.elf -Wl,-Map=simpleserial-base-CW303.map,–cref -lm
.
Creating load file for Flash: simpleserial-base-CW303.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature simpleserial-base-CW303.elf simpleserial-base-CW303.hex
.
Creating load file for EEPROM: simpleserial-base-CW303.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom=“alloc,load”
–change-section-lma .eeprom=0 --no-change-warnings -O ihex simpleserial-base-CW303.elf simpleserial-base-CW303.eep || exit 0
.
Creating Extended Listing: simpleserial-base-CW303.lss
avr-objdump -h -S -z simpleserial-base-CW303.elf > simpleserial-base-CW303.lss
.
Creating Symbol Table: simpleserial-base-CW303.sym
avr-nm -n simpleserial-base-CW303.elf > simpleserial-base-CW303.sym
Size after:
text data bss dec hex filename
3102 16 228 3346 d12 simpleserial-base-CW303.elf
±-------------------------------------------------------

  • Built for platform CW-Lite XMEGA
    ±-------------------------------------------------------

Anyone have ideas on what’s going on here?


#2

Hi Tim

Try opening chipwhisperer/harware/victims/firmware/hal/stm32f3/Makefile.stm32f3 and changing -mfloat-abi=hard to -mfloat-abi=soft.

Basically, it looks like the Arm compiler on your machine doesn’t have libraries for hardware floating point. We don’t use floating point anywhere IIRC, so changing it to be software floating point shouldn’t be an issue.

Alex


#3

Woops completely forgot to update you but your solution worked. Thanks :+1:

Now that I know its on my end I’m going to get the libraries sorted out to avoid future unnecessary issues lol


#4

Good to hear!

Let us know if you run into any more issues.


#5

Hello! I have the same problems. XMEGA compile finished, bout not for STM32F3. The error is next:

cwuser@cwuser-virtual-machine:~/Desktop/chipwhisperer/hardware/victims/firmware/simpleserial-base$ make PLATFORM=CW308_STM32F3
rm -f – simpleserial-base-CW308_STM32F3.hex
rm -f – simpleserial-base-CW308_STM32F3.eep
rm -f – simpleserial-base-CW308_STM32F3.cof
rm -f – simpleserial-base-CW308_STM32F3.elf
rm -f – simpleserial-base-CW308_STM32F3.map
rm -f – simpleserial-base-CW308_STM32F3.sym
rm -f – simpleserial-base-CW308_STM32F3.lss
rm -f – objdir/.o
rm -f – objdir/
.lst
rm -f – simpleserial-base.s simpleserial.s stm32f3_hal.s stm32f3_hal_lowlevel.s stm32f3_sysmem.s aes-independant.s aes_enc.s aes_keyschedule.s aes_sbox.s aes128_enc.s
rm -f – simpleserial-base.d simpleserial.d stm32f3_hal.d stm32f3_hal_lowlevel.d stm32f3_sysmem.d aes-independant.d aes_enc.d aes_keyschedule.d aes_sbox.d aes128_enc.d
rm -f – simpleserial-base.i simpleserial.i stm32f3_hal.i stm32f3_hal_lowlevel.i stm32f3_sysmem.i aes-independant.i aes_enc.i aes_keyschedule.i aes_sbox.i aes128_enc.i
.
-------- begin --------
arm-none-eabi-gcc (15:5.4.1+svn241155-1) 5.4.1 20160919
Copyright © 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

.
Compiling C: simpleserial-base.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial-base.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/simpleserial-base.o.d simpleserial-base.c -o objdir/simpleserial-base.o
.
Compiling C: …/./simpleserial/simpleserial.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/simpleserial.o.d …/./simpleserial/simpleserial.c -o objdir/simpleserial.o
.
Compiling C: …/./hal/stm32f3/stm32f3_hal.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_hal.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/stm32f3_hal.o.d …/./hal/stm32f3/stm32f3_hal.c -o objdir/stm32f3_hal.o
In file included from …/./hal/stm32f3/stm32f3_hal.c:3:0:
…/./hal/stm32f3/stm32f3_hal_lowlevel.h:108:0: warning: “STM32F303xC” redefined
#define STM32F303xC
^
:0:0: note: this is the location of the previous definition
.
Compiling C: …/./hal/stm32f3/stm32f3_hal_lowlevel.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_hal_lowlevel.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/stm32f3_hal_lowlevel.o.d …/./hal/stm32f3/stm32f3_hal_lowlevel.c -o objdir/stm32f3_hal_lowlevel.o
In file included from …/./hal/stm32f3/stm32f3_hal_lowlevel.c:39:0:
…/./hal/stm32f3/stm32f3_hal_lowlevel.h:108:0: warning: “STM32F303xC” redefined
#define STM32F303xC
^
:0:0: note: this is the location of the previous definition
…/./hal/stm32f3/stm32f3_hal_lowlevel.c:47:0: warning: “assert_param” redefined
#define assert_param(expr) ((void)0U)
^
In file included from …/./hal/stm32f3/stm32f3_hal_lowlevel.c:38:0:
…/./hal/stm32f3/stm32f3_hal.h:20:0: note: this is the location of the previous definition
#define assert_param(expr) ((void)0)
^
.
Compiling C: …/./hal/stm32f3/stm32f3_sysmem.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/stm32f3_sysmem.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/stm32f3_sysmem.o.d …/./hal/stm32f3/stm32f3_sysmem.c -o objdir/stm32f3_sysmem.o
.
Compiling C: …/./crypto/aes-independant.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes-independant.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes-independant.o.d …/./crypto/aes-independant.c -o objdir/aes-independant.o
.
Compiling C: …/./crypto/avrcryptolib//aes/aes_enc.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -mthumb -mfloat-abi=soft -mfpu=fpv4-sp-d16 -fmessage-length=0 -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_1_1 -DSTM32F303xC -DSTM32F3 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f3 -DPLATFORM=CW308_STM32F3 -DAVRCRYPTOLIB -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/aes_enc.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f3 -I…/./hal/stm32f3/CMSIS -I…/./hal/stm32f3/CMSIS/core -I…/./hal/stm32f3/CMSIS/device -I…/./hal/stm32f4/Legacy -I…/./crypto/ -I…/./crypto/avrcryptolib//aes -I…/./crypto/avrcryptolib//gf256mul -std=gnu99 -MMD -MP -MF .dep/aes_enc.o.d …/./crypto/avrcryptolib//aes/aes_enc.c -o objdir/aes_enc.o
…/./crypto/avrcryptolib//aes/aes_enc.c:34:26: fatal error: avr/pgmspace.h: No such file or directory
compilation terminated.
…/./Makefile.inc:478: recipe for target ‘objdir/aes_enc.o’ failed
make: *** [objdir/aes_enc.o] Error 1


#6

I fix this! I try to build with option “make PLATFORM=CWLITEARM”, but must write this “make PLATFORM=CWLITEARM CRYPTO_TARGET=TINYAES128C”.


#7

Hi everyone agan! Another qustion.
When I keep try to Capture signal from CW308-Xmega or CW308STM32F3 “Text Out” answer me “?” and picture don’t seems like at wiki Tutorial B2. It seems like periodical signal.

What was happened?


#8

Seems like no signal from GPIO4/TRIG on CW308-04, but hi is must be. It’s script in simpleserial-base.c:

trigger_high();

//16 hex bytes held in ‘pt’ were sent
//from the computer. Store your response
//back into ‘pt’, which will send 16 bytes
//back to computer. Can ignore of course if
//not needed

asm volatile(
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
“nop” “\n\t”
::
);

asm volatile(
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
“mul r0,r1” “\n\t”
::
);

trigger_low();


#9

I’ll fix this again! Now this branch seems like My Diary :slight_smile:
The total problem was is my trying to change files in the firmware folder (.c and .h).
I solved all my problems by backuping to the default files in folder.