This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using ULink2 with Analog Devices ADuC7026

When using the ULink2 my ADuC7026 Microcontroller shows as "Unknown JTAG Device" in the ARM Target Driver Setup window. If I use an old ULink it shows up correctly and can be programmed, etc. What's wrong? The IDE detects the ULink2 correctly, it is version 3.53.

  • Did you already reduce the JTAG clock?

    Is this problem on custom hardware or on an ADI eval board?

  • I've just tried 100kHz but it still doesn't work. It reports the IDCODE of 0x9F878787 whereas the old ULink reports an IDCODE of 0x3F0F0F0F. This is with the AD Evaluation Board. The ULink2 works fine with an LPC2138 micro-controller. Thanks, Mark

  • Also the device doesn't run automatically after programming with the old ULink, and I have ticked the "Reset and Run" box and the "Use reset at startup". Cheers, Mark

  • ULINK2 is working with my Analog Devices ADuC7026 Evaluation Board without problems.

    Check also the VCC jumper settings (try both positions).
    http://www.keil.com/support/man/docs/ulink2/ulink2_hw_jumpers.htm

    Note that nRESET pin of the microcontroller is not routed to the JTAG connector on this board and therefore Reset issued from ULINK has no effect. This explains why target is not running after Flash programming despite that "Reset & Run" is selected.

  • Thanks for the tip about the header. The ADuC7026 is now detected correctly. But now I get a new problem - the message "Cannot Load Flash Programming Algorithm". The flash programming settings and algorithm look the same as those for the old ULink, which works, is there some difference between the algorithms for the two ULinks? Any ideas?

  • Flash algorithms are the same for ULINK and ULNIK2.

    You can simply check if you are using the same settings by trying to program the Flash using the same project:

    - open test project

    - connect only ULINK to PC and to target and start programming

    - disconnect ULINK from target and PC

    - connect only ULINK2 to PC and target and start programming

    Beside the error message "Cannot Load Flash Programming Algorithm" check also the Output window for additional messages like "Cannot Write to RAM for Flash Algorithms !".

    When for example writing to RAM failed this usually indicates that remapping is still in effect (due to failed reset).

  • Thanks for your help Robert. I am getting a "Cannot Write to RAM for Flash Algorithms !" message but no amount of reseting or power cycling of the target board will clear it. I did as you suggested with the two ULinks and find that everything works fine with the old ULink, but I always get the error messages with the ULink2. I've tried another ULink2 and that gives exactly the same problems. More ideas? Cheers, Mark

  • Let's first rule out that the programmed application is blocking the chip.

    Erase the complete chip with ULINK and then try to program a blank chip with ULINK2 and tell me the result.

  • Hi Robert. I have erased the chip with my ULink. When I try to program (or even erases it again) with the ULink2 I get errors. Sometimes I get a "No device found in JTAG chain", usually I get the "Cannot Write to RAM for Flash Algorithms!". I have played with the Max JTAG Clock setting, sometimes it can find the device and sometimes it can't. I've checked the board's Vcc voltage, it is 3.3V. Cheers, Mark

  • Have you tried with both ULINK2 jumper settings (as mentioned before) ?

    Can you at least connect to the target ?
    Try to start the debug session with "Load Application at startup" disabled. If you can enter debug mode then check the value of REMAP register (address 0xFFFF0220 in Memory window). The value should be zero.

    Check also the state of BM (Boot Mode) pin. It should be high at reset.

  • Hi Robert, I've tried both jumper positions, in the ARM position the ULink2 reads a garbled IDCODE, but in the 3,3V position it seems to detect the target correctly.

    I usually get a lot of JTAG communication failures when I try to enter debug mode. Using the old ULink I can read the value of 0x06 from the REMAP register. With the ULink2 I think I once read a value of 0x11 from the REMAP register, which is interesting.

    Next week I will have some custom hardware based around the ADuC7021. I'll play with it some more then.

    Cheers, Mark

  • I believe that the problems could be caused by noise on the JTAG lines. The output drivers on ULINK2 are slightly different than on ULINK and this might explain the different behavior.

    However we are not aware of such problems and we have tested ULINK2 (which we now use exclusively) on a lot of different targets. Maybe you can look at the JTAG waveforms with an oscilloscope to check if there is some ringing or other anomaly.

  • Hi, I have looked at TDO, TMS, TCK and TDI with a scope. To trigger some activity I changed the "Max JTAG Clock" to 100kHz each time. The most striking difference between the ULink and the ULink2 is that the frequencies are different. You can see the traces here:

    www.analox.net/.../ULink.zip

    You'll need to download it and unzip.

    Thanks, Mark

  • The waveforms look OK (no problematic noise).

    Can you also check nTRST and nRESET (on ULINK/ULINK2 and on chip - since it might be that they are not routed to the chip).

  • There's no noise on TRST and RESET. The levels on TRST looked a bit odd so I put a 100k pullup on that signal (there isn't one on the AD evaluation board) but it didn't help. Reset wasn't connected to the chip. It is connected now but that didn't help either!

    You are sure that you are using the ULink2 with the AD Microconverter ADuC7026 evaluation board without problems?

    Cheers, Mark