Hi,
I get an error when I try to build the target for ‘Fault 1_4 - Authenticated AES Bootloader’. How do I resolve this?
This is what I run:
SCOPETYPE = ‘OPENADC’
PLATFORM = ‘CW308_STM32F0’
SS_VER = ‘SS_VER_2_0’%%bash -s “$PLATFORM” “$SS_VER”
cd …/…/…/hardware/victims/firmware/simpleserial-aes-bootloader
make PLATFORM=$1 CRYPTO_TARGET=TINYAES128C SS_VER=$2
The output:
SS_VER set to SS_VER_2_0
rm -f – simpleserial-bootloader-CW308_STM32F0.hex
rm -f – simpleserial-bootloader-CW308_STM32F0.eep
rm -f – simpleserial-bootloader-CW308_STM32F0.cof
rm -f – simpleserial-bootloader-CW308_STM32F0.elf
rm -f – simpleserial-bootloader-CW308_STM32F0.map
rm -f – simpleserial-bootloader-CW308_STM32F0.sym
rm -f – simpleserial-bootloader-CW308_STM32F0.lss
rm -f – objdir/.o
rm -f – objdir/.lst
rm -f – bootloader.s simpleserial.s stm32f0_hal.s stm32f0_hal_lowlevel.s aes.s aes-independant.s
rm -f – bootloader.d simpleserial.d stm32f0_hal.d stm32f0_hal_lowlevel.d aes.d aes-independant.d
rm -f – bootloader.i simpleserial.i stm32f0_hal.i stm32f0_hal_lowlevel.i aes.i aes-independant.i
.
Welcome to another exciting ChipWhisperer target build!!
arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
Copyright © 2019 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: bootloader.c
arm-none-eabi-gcc -c -mcpu=cortex-m0 -I. -mthumb -mfloat-abi=soft -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_2_0 -DSTM32F071xB -DSTM32F071RBTX -DSTM32F0 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f0 -DPLATFORM=CW308_STM32F0 -DTINYAES128C -DF_CPU=7372800UL -DSS_VER_2_0=2 -DSS_VER_2_1=3 -DSS_VER_1_1=1 -DSS_VER_1_0=0 -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/bootloader.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f0 -I…/./hal/stm32f0/CMSIS -I…/./hal/stm32f0/CMSIS/core -I…/./hal/stm32f0/CMSIS/device -I…/./hal/stm32f0/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/bootloader.o.d bootloader.c -o objdir/bootloader.o
.
Compiling C: …/./simpleserial/simpleserial.c
arm-none-eabi-gcc -c -mcpu=cortex-m0 -I. -mthumb -mfloat-abi=soft -ffunction-sections -gdwarf-2 -DSS_VER=SS_VER_2_0 -DSTM32F071xB -DSTM32F071RBTX -DSTM32F0 -DSTM32 -DDEBUG -DHAL_TYPE=HAL_stm32f0 -DPLATFORM=CW308_STM32F0 -DTINYAES128C -DF_CPU=7372800UL -DSS_VER_2_0=2 -DSS_VER_2_1=3 -DSS_VER_1_1=1 -DSS_VER_1_0=0 -Os -funsigned-char -funsigned-bitfields -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=objdir/simpleserial.lst -I…/./simpleserial/ -I…/./hal -I…/./hal/stm32f0 -I…/./hal/stm32f0/CMSIS -I…/./hal/stm32f0/CMSIS/core -I…/./hal/stm32f0/CMSIS/device -I…/./hal/stm32f0/Legacy -I…/./crypto/ -I…/./crypto/tiny-AES128-C -std=gnu99 -MMD -MP -MF .dep/simpleserial.o.d …/./simpleserial/simpleserial.c -o objdir/simpleserial.obootloader.c: In function ‘main’:
bootloader.c:132:37: warning: passing argument 3 of ‘simpleserial_addcmd’ from incompatible pointer type [-Wincompatible-pointer-types]
132 | simpleserial_addcmd(0x00, 0x10, init_bootloader);
| ^~~~~~~~~~~~~~~
| |
| uint8_t (*)(uint8_t, uint8_t, uint8_t, uint8_t ) {aka unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )}
In file included from bootloader.c:21:
…/./simpleserial/simpleserial.h:44:61: note: expected 'uint8_t ()(uint8_t , uint8_t)’ {aka 'unsigned char ()(unsigned char , unsigned char)’} but argument is of type 'uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t )’ {aka 'unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )’}
44 | int simpleserial_addcmd(char c, unsigned int len, uint8_t (fp)(uint8_t, uint8_t));
|~~~~~~~~~~~^
bootloader.c:133:37: warning: passing argument 3 of ‘simpleserial_addcmd’ from incompatible pointer type [-Wincompatible-pointer-types]
133 | simpleserial_addcmd(0x01, 0x11, bootloader_recv);
| ^~~~~~~~~~~~~~~
| |
| uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t ) {aka unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )}
In file included from bootloader.c:21:
…/./simpleserial/simpleserial.h:44:61: note: expected 'uint8_t ()(uint8_t , uint8_t)’ {aka 'unsigned char ()(unsigned char , unsigned char)’} but argument is of type 'uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t )’ {aka 'unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )’}
44 | int simpleserial_addcmd(char c, unsigned int len, uint8_t (fp)(uint8_t, uint8_t));
|~~~~~~~~~~~^
bootloader.c:134:37: warning: passing argument 3 of ‘simpleserial_addcmd’ from incompatible pointer type [-Wincompatible-pointer-types]
134 | simpleserial_addcmd(0x02, 0x04, set_addr);
| ^~~~~~~~
| |
| uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t ) {aka unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )}
In file included from bootloader.c:21:
…/./simpleserial/simpleserial.h:44:61: note: expected 'uint8_t ()(uint8_t , uint8_t)’ {aka 'unsigned char ()(unsigned char , unsigned char)’} but argument is of type 'uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t )’ {aka 'unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )’}
44 | int simpleserial_addcmd(char c, unsigned int len, uint8_t (fp)(uint8_t, uint8_t));
|~~~~~~~~~~~^
bootloader.c:135:37: warning: passing argument 3 of ‘simpleserial_addcmd’ from incompatible pointer type [-Wincompatible-pointer-types]
135 | simpleserial_addcmd(0x03, 0x01, read_mem);
| ^~~~~~~~
| |
| uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t ) {aka unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char )}
In file included from bootloader.c:21:
…/./simpleserial/simpleserial.h:44:61: note: expected 'uint8_t ()(uint8_t , uint8_t)’ {aka 'unsigned char ()(unsigned char , unsigned char)’} but argument is of type 'uint8_t ()(uint8_t, uint8_t, uint8_t, uint8_t )’ {aka 'unsigned char ()(unsigned char, unsigned char, unsigned char, unsigned char *)’}
44 | int simpleserial_addcmd(char c, unsigned int len, uint8_t (fp)(uint8_t, uint8_t));
|~~~~~~~~~~~^
…/./simpleserial/simpleserial.c:38:2: error: #error “SS_VER_2_0 is deprecated! Use SS_VER_2_1 instead.”
38 | #error “SS_VER_2_0 is deprecated! Use SS_VER_2_1 instead.”
| ^~~~~
…/./simpleserial/simpleserial.c:9:12: warning: ‘num_commands’ defined but not used [-Wunused-variable]
9 | static int num_commands = 0;
| ^~~~~~~~~~~~
make: *** […/./Makefile.inc:469: objdir/simpleserial.o] Error 1
CalledProcessError Traceback (most recent call last)
/tmp/ipykernel_30517/2295133393.py in
----> 1 get_ipython().run_cell_magic(‘bash’, ‘-s “$PLATFORM” “$SS_VER”’, ‘cd …/…/…/hardware/victims/firmware/simpleserial-aes-bootloader\nmake PLATFORM=$1 CRYPTO_TARGET=TINYAES128C SS_VER=$2\n’)~/.local/lib/python3.8/site-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
2404 with self.builtin_trap:
2405 args = (magic_arg_s, cell)
-> 2406 result = fn(*args, **kwargs)
2407 return result
2408~/.local/lib/python3.8/site-packages/IPython/core/magics/script.py in named_script_magic(line, cell)
140 else:
141 line = script
–> 142 return self.shebang(line, cell)
143
144 # write a basic docstring:in shebang(self, line, cell)
~/.local/lib/python3.8/site-packages/IPython/core/magic.py in (f, *a, **k)
185 # but it’s overkill for just that one bit of state.
186 def magic_deco(arg):
–> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):~/.local/lib/python3.8/site-packages/IPython/core/magics/script.py in shebang(self, line, cell)
243 sys.stderr.flush()
244 if args.raise_error and p.returncode!=0:
–> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err)
246
247 def _run_script(self, p, cell, to_close):CalledProcessError: Command ‘b’cd …/…/…/hardware/victims/firmware/simpleserial-aes-bootloader\nmake PLATFORM=$1 CRYPTO_TARGET=TINYAES128C SS_VER=$2\n’’ returned non-zero exit status 2.