Hi,
I’m attempting to integrate Kyber with ChipWhisperer, but I’ve encountered some errors related to timeouts in the OpenADC component.
In the firmware, I’ve utilized trigger_high()
to initiate the triggering process.
For my experiments, I’m using CWLite with the STM32F4 development board. Is there any way to resolve this issue?
Thank you.
Most likely your target is never getting to get_pt()
.
Make sure the length of text
corresponds to what you have where you add your get_pt()
with simpleserial_addcmd()
.
Hi,
Thank you for getting back to me. I have set my text length to 32 bytes, and I also made sure to set simpleserial_addcmd() to 32 bytes, but the error still persists
Are you sure that the baudrates are set correctly, on both the ChipWhisperer side and the target side?
I would also suggest attaching a debugger to your target to see what it’s doing / whether it’s stuck somewhere.
I noticed that changing the SS_VER from 1_1 to 2_1 made it work. This leads me to suspect that the issue might be related to the baud rate. Are there any alternative methods to set or verify the baud rate?
In general, for the firmware code used in our courses, you can set SS_VER to either 1_1 or 2_1, but you have to use the same version to compile the firmware:
make ... SS_VER=<SS_VER_2_1 | SS_VER_1_1>
that you use to talk to the target:
target = cw.target(scope, <cw.targets.SimpleSerial2 | cw.targets.SimpleSerial)
For both versions, the baud rate used by ChipWhisperer will default to the correct setting, assuming that the target is clocked at 7.37 MHz and that the baud rate set by the target firmware has not been changed.
If you wish to clock the target at a different speed, scale the baud rate accordingly by adjusting target.baud
.
Hello, I recently started working on a new kyber project, and after processing the firmware, I encountered the same trigger issue again, even though I’ve confirmed that the lengths are same. This time, I modified the baudrate based on the clock frequency, which is 29,538,471 according to my version V1. I calculated the new baudrate as 29,538,471 / 7.37MHz * 38,400. Can you tell me what might be going wrong with this approach?
Is 29 MHz your ADC sampling clock or your target clock – what does scope.clock
show?
The baud rate is tied to the target clock, not the ADC sampling clock.
If your target clock is actually 29 MHz, the next step I would suggest is to use a debugger to see what your target is doing.
Oh, it seems I misinterpreted it as the ADC sampling clock. This is the result I got when I printed scope.clock