I designed a board where the JTAG signals have 100k pullups and 80k pull downs.
I plugged 3.3V to both Vref pins with all ground pins populated. Vtarget is left floating.
When I probe the TCK, TMS, ... they all show 1.2V pk-pk voltage swing, and not 3.3V as I would have expected.
However, by some random guess, I plugged in vtarget to 3.3V, and to my surprise the pk-pk voltage swing went up to 3.3V and everything 'seems' to work as expected.
In the datasheet, vtarget is defined to output to a target device, but in my case the target device is powering the Olimex?
I believe there is probably something wrong with the configuration file, but I don't know if that's the right path to debug this. Any ideas?
So it started working after attaching JTAG's pin #19 (TARGET_POWER) to your target's power supply? I think this means that your power supply is insufficient and the target circuit gets powered from ARM-USB-OCD-H. By default pin #19 is optional and not required by JTAG specification, it is an extra - and if your target is sufficiently powered from another source, then pin #19 can safely be left unconnected.
So it started working after attaching JTAG's pin #19 (TARGET_POWER) to your target's power supply?
I measured VREF it is 3.3V. What is strange is that when probing the clk signal sometimes it drives the full 3.3V swing, and sometimes it drives as low as 1.2V.
Also, in our config the VTARGET is driving up to 5V which is actually damaging the board. Is there a way to set this to 3.3V in the config? Also, is there a way to disable this 5V in olimex?
BTW, I'm a board guy. I'm working with our FW guy, but I don't know what he's doing in the config.
No! There is no way to control it, it is always 5V. It is not a mandatory JTAG specification option and if it doesn't work for your case - do not connect it. If you can't lower the voltage to 3.3V via drop-down, then just leave pin #19 unconnected and power your board from another source!