Trying the Jupyter notebook 1 - Connecting to Hardware. Am getting stuck with an error below. Wondering if anyone could help work through this issue?
Equipment:
CW Husky
UFO Board
STM32F Socket Board
%%bash
cd …/hardware/victims/firmware/simpleserial-base/
make PLATFORM=‘CW308_STM32F3’ CRYPTO_TARGET=‘HWAES’
The firmware is building without error however the following code block returns an error.
Is the “PLATFORM” and “CRYPTO_TARGET” correct? I am utilizing the newer socket board so not sure if this requires a different platform?
Is the hex file path correct?
The goal is to eventually get to the voltage glitching module.
#cw.program_target(scope, cw.programmers.XMEGAProgrammer, "path/to/firmware.hex")
cw.program_target(scope, cw.programmers.STM32FProgrammer, "C:/Users/shiva/chipwh~1/cw/home/portable/chipwhisperer/hardware/victims/firmware/simpleserial-base/simpleserial-base-CW308_STM32F3.hex")
#cw.program_target(scope, cw.programmers.AVRProgrammer, "path/to/firmware.hex")
Failed to detect chip. Check following:
1. Connections and device power.
2. Device has valid clock (or remove clock entirely for internal osc).
3. On Rev -02 CW308T-STM32Fx boards, BOOT0 is routed to PDIC.
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
Cell In[6], line 2
1 #cw.program_target(scope, cw.programmers.XMEGAProgrammer, "path/to/firmware.hex")
----> 2 cw.program_target(scope, cw.programmers.STM32FProgrammer, "C:/Users/shiva/chipwh~1/cw/home/portable/chipwhisperer/hardware/victims/firmware/simpleserial-base/simpleserial-base-CW308_STM32F3.hex")
3 #cw.program_target(scope, cw.programmers.AVRProgrammer, "path/to/firmware.hex")
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\__init__.py:176, in program_target(scope, prog_type, fw_path, **kwargs)
174 prog._logging = None
175 prog.open()
--> 176 prog.find()
177 prog.erase()
178 prog.program(fw_path, memtype="flash", verify=True)
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\capture\api\programmers.py:128, in save_and_restore_pins.<locals>.func_wrapper(self, *args, **kwargs)
125 target_logger.debug('Changing {} pin configuration'.format(pin_setup))
127 try:
--> 128 val = func(self, *args, **kwargs)
129 finally:
130 target_logger.debug('Restoring {} pin configuration'.format(pin_setup))
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\capture\api\programmers.py:397, in STM32FProgrammer.find(self)
395 stm32f = self.stm32prog()
396 stm32f.scope = self.scope
--> 397 sig, chip = stm32f.find()
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\programmer_stm32fserial.py:38, in close_on_fail.<locals>.func_wrapper(self, *args, **kwargs)
35 @wraps(func)
36 def func_wrapper(self, *args, **kwargs):
37 try:
---> 38 return func(self, *args, **kwargs)
39 except:
40 self.close_port()
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\programmer_stm32fserial.py:174, in STM32FSerial.find(self, logfunc)
171 logfunc = print_fun
173 try:
--> 174 self.initChip()
175 except IOError:
176 logfunc("Failed to detect chip. Check following: ")
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\programmer_stm32fserial.py:38, in close_on_fail.<locals>.func_wrapper(self, *args, **kwargs)
35 @wraps(func)
36 def func_wrapper(self, *args, **kwargs):
37 try:
---> 38 return func(self, *args, **kwargs)
39 except:
40 self.close_port()
File c:\users\shiva\chipwh~1\cw\home\portable\chipwhisperer\software\chipwhisperer\hardware\naeusb\programmer_stm32fserial.py:348, in STM32FSerial.initChip(self)
345 fails += 1
347 self.releaseChip()
--> 348 raise IOError("Could not detect STM32F, check connections, BOOT MODE entry setup")
OSError: Could not detect STM32F, check connections, BOOT MODE entry setup
Failed to detect chip. Check following:
1. Connections and device power.
2. Device has valid clock (or remove clock entirely for internal osc).
3. On Rev -02 CW308T-STM32Fx boards, BOOT0 is routed to PDIC.