Cortex SWD with Crossworks 2.0

Comments

21 comments

  • Avatar
    Michael Freeman

    I found this under the SWD adaptor:

    "You can use this as a format converter on our CrossConnects; however, full SWD capability requires a firmware upgrade which you can download from our website."

    We are using CrossConnect and Jlinks for our debugging tools. Do we have to get a FTDI bassed debugger to make this work???

     

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    Hi Michael,

    * CrossConnect SWD update for Classic and Lite is on the CrossConnect Page.

    * As a format converter it will work to convert 20-pin standard JTAG to 10-pin Cortex JTAG.

    * SWD is fully supported using CrossConnect Classic and Lite and Segger J-Link that can indeed do SWD (V6 or later I believe).

    0
    Comment actions Permalink
  • Avatar
    Michael Freeman

    Thanks Paul,

    I am out in the field with a customer and was supporting Phil back at Update Systems. It looks like  he got it to work now.

    Thanks again 

    0
    Comment actions Permalink
  • Avatar
    Tom Engelberth

    Is the SWD Converter just a 20 pin to 10 pin adaptor or does it have active circuits in it?  If it has no active circuits in is there a schematic showing the connections so we can make our own if we want to.

     

    Thanks

    Tom

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    This is not a simple 20-to-10 converter, no.  Yes, it does have buffers and so on.  And no, we don't publish the schematic.

    0
    Comment actions Permalink
  • Avatar
    Hugo Vincent

    Paul,

    We are currently evaluating Cross Studio using a Olimex ARM-USB-OCD-H and the Rowley SWD adapter. (We are using the -H rather than the plain OCD as we need 1.8V support). Can you please post the pin-out for the 20-pin socket on the Rowley SWD adapter? We currently are attaching it to an Olimex EM-32G880F128-STK via the 20-pin cable (i.e. OCD-H is attached to Rowley SWD adapter, and the target side of the adapter is connected to the Olimex dev board via an 20-pin cable). Do we instead need to make up a custom 10-pin (from the output of the SWD adapter) to 20-pin (for the dev board) cable?

    I have set up the OCD-H in Cross Studio as per the third FAQ item here: http://www.olimex.com/dev/arm-usb-ocd-h.html but believe I may be missing the SWD-related mask options for it to work correctly with the Rowley SWD adapter. We get an error saying "Target Not Recognized".

    Regards,

    Hugo Vincent

    NovaParking Ltd

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    Hi,

    The OCD-H is now supported by default in the latest CrossWorks distributions.  Right click in the target window and you should be able to restore the default targets which include OCD-H.  You need to set the interface type to SWD and you will need to reduce the clock frequency as the OCD-H can run at 30MHz which is too fast for the SWD on an EFM32.

    Connect the 20-pin plug to the OCD-H socket directly so it's poking out, then connect a 20-pin cable between the target and the CrossConnect (i.e. the one you took out of the OCD-H).

    If you're using it on the "big" dev kit with the big graphic LCD, you need to fiddle around and get the JTAG to work using an external connection rather than the built-in JTAG.  Or you can just use the built-in J-Link, works just fine with CrossWorks in SWD mode.

    0
    Comment actions Permalink
  • Avatar
    Hugo Vincent

    We are using 2.0.10.2011011700.9509 which appears to be the latest version, and even after restoring the default targets, no OCD-H is listed. Perhaps you could send me the XML definition? It sounds like our hardware connections are correct and just the CrossStudio options are wrong. 

    Many thanks,

    Hugo Vincent

    NovaParking Ltd.

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    The OCD and OCD-H targets are the same; CrossWorks figures out which you are connected to.  Make sure you have set the interface to SWD mode.

    0
    Comment actions Permalink
  • Avatar
    Hugo Vincent

    When I select Olimex ARM-USB-OCD in the target window (after doing a fresh "restore default targets"), and attempt to connect to it, it says "No Olimex ARM-USB-OCD devices are attached". However when I enter it as a generic FTDI device as per the Olimex FAQ I can connect to it and it says Target not recognized. So clearly, CrossWorks is not (correctly) figuring out which I am connected to as you say. Would you be able to give the SWD mask values as per my original post?

    Hugo Vincent

    NovaParking Ltd

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    Ahh, OK, I was getting confused with the Tiny; looks like Tsvetan has introduced another product using the FT2232H.  Could you raise a ticket and Jon will probably be able to tell you which settings you need for SWD on a standard speed OCD and you will need to tell him the VID/PID combination. We'll go get one of these.

    0
    Comment actions Permalink
  • Avatar
    Satish Kumar

    I have the same problem that Hugo has.  Has this been resolved? 

    Satish Kumar

    0
    Comment actions Permalink
  • Avatar
    Hugo Vincent

    It has been resolved - basically it works fine as is, if you just follow all the instructions carefully and drop the clock speed down substantially. You can then raise the clock speed (a clock divider of 4 is consistently reliable with our hardware).

    Hugo

    0
    Comment actions Permalink
  • Avatar
    Robert Wood

    What is the absolute minimum number of pins we can get away with using on the target board if we make an adapter to go to our own target board? Do we still need reset and VTref or can we get away with something like SWDIO, SWCLK and GND? The fewer pins we have to connect between the processor and the adapter the better as we are connecting to a flexible PCB and leaving exposed pads to connect to.

     

    Previously we've been using AVRs and using the SPI interface to program the boards and had a little adapter board to convert from the six pin AVRISP header to our target board. We'd do the same with the Crossworks SWD interface (so in the end we'd have an adapter hooked up to the Crosswords to SWD adapter).

     

    Thanks!

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    On the SWD adapter you need to supply SWDIO, SWCLK, GND and a reference voltage to run the buffers.  As long as there is some target reference, whether it comes from your target board or is generated somehow else, you're good.

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    ...and I would say, TRY IT OUT BEFORE COMMITTING TO A BOARD using some prototyping wires.

    0
    Comment actions Permalink
  • Avatar
    Robert Wood

    Thanks, Paul, we'll give it  a try. :)

    0
    Comment actions Permalink
  • Avatar
    Mark Norton

    Paul,

    I have a couple of the Cross Connect Lites.  I see that you stated that SWD is supported.  I tried with an adapter and I get a message that SWD is not supported.  Do I need to update the firmware in the Lite?  If so, where is that firmware?  Thanks

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    CrossConnect firmware updater is on the CrossConnect page:

    http://www.rowley.co.uk/arm/CrossConnect.htm

    0
    Comment actions Permalink
  • Avatar
    Mark Norton
    Hi Paul. I had tried that but it told me that it was not for my device. I was trying to use one of the cross connect lites.
    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    You may well have one of the very early CrossConnect Lites that can't do this.  :-(

    0
    Comment actions Permalink

Please sign in to leave a comment.