Hello, I would like to ask how to add Assembly source file based on the project of simpleserial-aes.
I noticed that the makefile of the simpleserial-aes project contains the following: makefile, Makefile, Makefile.inc , Makefile.simpleserial as well as Makefile.platform.
Obviously Makefile.platform It’s nothing to do with it.
I try to add ASRC in Makefile.inc , as shown in follow, it still fails.
How can I add assembly file and C language to compile?
Sincerely hope you can instruct me.
Best wish
List Assembler source files here.
Make them always end in a capital .S. Files ending in a lowercase .s
will not be considered source files but generated files (assembler
output from the compiler), and will be deleted upon “make clean”!
Even though the DOS/Win* filesystem matches both .s and .S the same,
it will preserve the spelling of the filenames, and gcc itself does
care about how the name is spelled on its command-line.
ASRC +=
gf256mul.S
aes_sbox-asm.S
Hi,
You can just add ASRC+=gf256mul.S
… directly to the project makefile. Doing it this way will add it for every project and you’ll need to put the files in the directory above, I think.
Alex
Dear Alex , thank you very much for your help. I have solved the above problems. But I have a new problem. I would like to consult how to set my sample points (I hope to collect 500 thousand points). In addition, I would like to consult how to do dual channel data acquisition?
For captures longer than the sample buffer (~24k on the Lite ~98k on the Pro), you have two options:
- Use streaming mode (Pro only). Note that this will limit your sample rate to 10MS/s, but will let you capture many millions of samples.
- Capture multiple traces with different offsets and connect them together after capture.
Regarding dual channel, you’ll need to have multiple ChipWhisperer boards. From there, you can hook them up to a computer, specify the serial number of the ChipWhisperer, and proceed as normal. For example:
scope1 = cw.scope(sn='11223348421893420883094')
scope2 = cw.scope(sn='12309189058901891954019')
If you call cw.scope()
with multiple connected (but without specifying the serial number), it should print out a list of connected ChipWhisperers with serial numbers.
Alex
Thanks again for your help. I also want to consult how to modify the sampling frequency? I tried to change “self.adc.clk_freq = 7.5E6” to “self.adc.clk_freq = 7.5E6”, but It’s pity that he reported a mistake —>“(“Attempt to set unknown attribute in <class ‘chipwhisperer.capture.scopes._OpenADCInterface.TriggerSettings’>”, ‘clk_freq’)”
The ADC frequency can be set as either x1 or x4 of an internally generated clock (modifiable via scope.clock.clkgen_freq
) or an external clock. See ReadTheDocs for the clock module documentation.
Alex
Thanks for your care, I have solved all the problems I encountered some time ago. I am trying to rewrite the control software of CW308 by C#. Where should I start?
I’d probably start with replicating the bottom level of the USB communication (chipwhisperer/hardware/naeusb/naeusb.py
), as well at taking a look at the firmware for the microcontroller on the Lite or Nano (chipwhisperer/hardware/capture/*
, should be a few levels deeper in a src
folder).
I haven’t looked much at it, but you might want to take a look at the Go port of ChipWhisperer: https://github.com/google/gocw, as it may be a bit cleaner than our Python implementation.
Alex