I have problem with flashing D2000 unit please support me if any of you have some idea. I made custom board for IoT by my selfs of course it is first version and till end of curent year I want to produce next version. Third version after tests it should go to our clients (about end of February).
I paste into the custom board parts responsible for power and reset of the mcu. In next step I connect the JTAG from original D2000 board and reset line. As next step I connect board int ISSM environment and set up conection via JTAG as on screen below. I was verry happy that it is working properly. In next step I want to flash ROM in my new MCU but during ROM flashing process (about 50%) I recived the error as on second screen below. In case of any problem I can attacht my schematic or board layout. Does anyone have some idea what can be wrong or maybe some of you had similary problem?
sorry for my delay in topic. Couple days ago I recieved the corrected PCB's based on two layers (picture below ) and.... it looks like everything works fine :-). Comunication between the board and its envionment is stable, debuging works ok (APP and ROM loading is working properly) and the reset also seems to work properly - Today I'll set it up and let it for long term test.
What was the problem:
In my opinion I made couple mistakes: first there was a badly designed power regulator. Second mistake: power filtering of MCU. Third mistake: the width of the power lines.
Anyway - now it looks like the board works fine. If anyone had similary problems I'm willing to share my project experience etc.
Thank you all for support !
thanks for your fast response diagrams are below I'm using DC/DC step down converter LM3671 where output is 3.3 V (3.27V).
I connect input of the LM3671 with J22 pin 3 of D2000 dev kit (3.3V). What do you think about the both crystals ? they are need to be soldered or not ?
Crystals are not required, otherwise jtag didn't start at all. Try to connect 3.3V from Intel's board directly to your hardware, bypassing DC-DC. Maybe voltage drops down while firmwaring.
Should be closer to DVDD (1.8V), check this voltage please, maybe something wrnog with internal LDO. Also check soldering on the board.
Now I have bypassed LM3671 (powered from 3.3v on D2000 dev kit) the JTAG lines and RST are disconnected. I that situation on the voltage on marked point is 1,7 V
When I connect the JTAG lines and RESET (RESET D2000 dev kit I connect as on picture below) the voltage in the same point is 1.05V
Something goes wrong Check the voltage on the DVDD directly. Did you try to upload ROM with disconnected RESET from Intel's board?
Out of topic: Free pads of X2 crystal should be connected to the ground.
I try to upload ROM with disconnected RESET but effect is as on screen below. Voltage are as on picture below 1.8v. I juts wondering why when I'm connecting RESET the voltage goes down from 1,75 to 1.05 V. OOT - thanks.
The device is recognized correctly. Try to find short-circuit of JTAG lines on your board. Does Intel's board work right while firmwaring? I don't imagine right now why 1.8V drops down.
The JTAG seems to work: it properly detects the quark tap/device.
I've seen similar error messages before on my custom boards. The JTAG on the Intel Quark D2000 board implements an additional signal to reset the D2000 MCU using RST_N signal. And apparently the "Update target ROM" resets the D2000 and expects to find the Quark in a reset state.
My workaround is to run OpenOCD manually from command line (instructions below are for Linux):
bin/openocd -f scripts/interface/ftdi/flyswatter2.cfg -f scripts/board/quark_d2000.cfg -c "set QUARK_D2000_OTPC_DATA_WRITE_ENABLED 1" -c "flash_rom $ISSM_BSP_ROOT/soc/quark_d2000/rom/quark_d2000_rom.bin" -c exit
Sometimes I need to push the reset button on my Quark board for this procedure to work.
Hi Lockdog sorry for my delay but yesterday I had unexpected problems with Internet connection. I'm checking mentioned short-circuit of JTAG lines. Yes When I connect other D200 board it works properly.
Hi SergeyK, thanks for your response. I have connecet J22 pin 3 from dev board to RESET on my board if you talk about this reset.
I am talking about the MCU reset, not the JTAG TRST signal. That is pin 30, RST_N or RESET_N. If you look at the Intel Quark D2000 board schematic, it is connected through Q3 to FT232HL. This allows ISSM to reset the MCU.
If I understand correctly, you're using the Intel Quark D2000 board as the JTAG interface, when perhaps you can connect RST_N on your board to Intel's board reset switch SW1 pin 1.
On my own Quark D2000 projects I have a 10 pin JTAG connector, and I was using a Flyswatter2 USB to JTAG adapter. The 10-pin JTAG connector does not provide system reset signal, and I had similar errors (target is running) when trying to update ROM from ISSM. But it did work properly from the command line, I think I had to reset the board manually before running the openocd command.
"If I understand correctly, you're using the Intel Quark D2000 board as the JTAG interface, when perhaps you can connect RST_N on your board to Intel's board reset switch SW1 pin 1."
Yes I'm using D2000 dev kit as programmer and I took RST signal from jumper J22 pin 3 (RESET) and I connect it to my board to reset button - it is correct as I think yes ?
I'm wondering because now when I'm trying to flash ROM I can do this correctly but I need press RESET button on my board (even when J22_3 is connected to my board reset) on the begin of ROM flashing process.