Open nikitalita opened 5 months ago
I have also confirmed that it isn’t something with my particular scope by setting scope.io.nrst
via the python api on the host machine, and that does work; setting it to high, low, and high_z produces the expected output.
What does scope.io.cwe.oa.sendMessage(0x80, "CW_IOROUTE_ADDR", Validate=False, maxResp=8)[5]
return?
0
(before and after running that test function)
In order for the SAM3U's TARGET_NRST pin (PA17) to be passed on to the target nRST pin, the CW-lite FPGA must be placed in "AVR programming mode" by calling scope.io.cwe.setAVRISPMode(True)
.
This will also affect how the MOSI and SCK pins are driven-- MOSI will get driven from SAM_MOSI (PA14), SCK will get driven from SAM_SCK (PA15).
Yup, that fixed it, thanks. This should probably be documented somewhere, I was banging my head against the wall for a few hours there.
I hear your pain... there is no documentation at all for the capture hardware's firmware, since we don't expect most users to touch it, and so it hasn't been a priority. Be aware that all the target connections go through the FPGA, and if you ever run into a situation like this, don't hesitate to ping us for help!
I am currently attempting to get the N76E003 (and other NuMicro 8051 chips) ICP programmer into the CW firmware. Part of the ICP programming algorithm is that you have to send a certain sequence on the reset line with specific timing in order to get it into ICP mode. So in order to do that, I have to be able to toggle the nRST line in firmware.
However, in my testing with the ChipWhisperer Lite, I am not able to get the naeusb firmware to toggle reset on or off at all.
Here's the output of my logic analyzer with a test function with just me toggling the NRST, PDID, and PDIC pins on and off at 100ms intervals:
I am configuring the NRST pin the same way that all the other things in naeusb do:
I have tried a number of things; using different target boards, setting the scope up with default setup, not setting it up with the default setup, setting
nrst
to high, low, etc. beforehand, none of it seems to work. I am out of ideas as to things I can try at this point.To reproduce, stick this in
naeusb_usart.c
:then run this in python:
My setup is a chipwhisperer lite connected directly to a UFO board with any target board.