Olimex USB Devices Driver Download For Windows



Connecting the Olimex ARM-USB-OCD JTAG Pod. Turn off power to the target. Verify any jumper and switch settings on your target board. On the Olimex LPC-P2106, do not install the BSL (serial bootloader) jumper; do install the DEBUG (DBGSEL active) jumper; do not install the JRST (reset by RS-232 DTR) jumper. Download the Windows Driver Kit (WDK) and install it. Create a driver package folder on the machine that the USB device is connected to.

GDB is an open-source debugger, part of the GNU project. GDB defines a serial protocol, more often used on TCP/IP than on actual serial connections, to permit remote debugging. NoICE can use this protocol to debug ARM targets. (Note that NoICE does not use GDB or any GDB code - only theGDB protocol in order to communicate with a target.)

OpenOCD (http://developer.berlios.de/projects/openocd) is a free, open-source programthat implements both a GDB server and a simple TTY (via TELNET) interface toARM JTAG. It supports a number of JTAG interface pods including:

  • Macraigor Wiggler http://www.macraigor.com (parallel port)
  • Wiggler clones such as the one from Olimexhttps://www.olimex.com/dev/arm-jtag.html
  • Olimex ARM-USB-OCD https://www.olimex.com/dev/arm-usb-ocd.html
  • Amontec JTAG key http://www.amontec.com/jtagkey.shtml
  • Signalyerhttp://www.signalyzer.com

In the section of the tutorial, we will show how to use OpenOCD as a GDB server in orderto connect the Olimex ARM-USB-OCD and Wiggler clone pods to an LPC2106 target.Our target board is the Olimex LPC-P2106-B.

For

If you haven't done so already, we recommend that you go through Running NoICE for the first time beforereading this section of the tutorial.

Click here for a tutorial on connecting to hardware using the Segger JLink.

Click here for a tutorial on connecting to hardware using H-JTAG (supports the Macraigor Wiggler and clones)

Obtainingand Installing OpenOCD and Drivers

If you are familiar with Cygwin, you can download the OpenOCD source code fromhttp://developer.berlios.de/projects/openocd and build it yourself.

However, most users will find it simpler to download a pre-built version of OpenOCDfrom YAGARTO (Yet Another GNU ARM Toolchain) at http://www.yagarto.de.Download 'Open On-Chip Debugger' (and the GNU toolchain and Eclipse IDE if you want them).

Complete instructions for OpenOCD are athttp://www.yagarto.de/howto/openocd/index.html. For our purposes, you will need toinstall at least OpenOCD and the drivers.

Click here if you are using the Olimex ARM-USB-OCD JTAG Pod

Click here if you are using a Macraigor Wiggler or Wiggler clone JTAG Pod

Connectingthe Olimex ARM-USB-OCD JTAG Pod

  1. Turn off power to the target.
  2. Verify any jumper and switch settings on your target board. On theOlimex LPC-P2106, do not install the BSL (serial bootloader) jumper;do install the DEBUG (DBGSEL active) jumper;do not install the JRST (reset by RS-232 DTR) jumper.For other target boards, consult your board's documentation.
  3. Connect the pod to the JTAG connector on your target. Be sure to orientthe connector correctly, or damage to the pod or the target board may result.In many cases, the cable and the connector will be keyed so that onlyone orientation is possible.

    Pin 1 on the JTAG cable is almost always indicated by a red stripe on theedge of the cable.

    Pin 1 of the JTAG connector on the target board is often indicated by a'1' on the silk-screen. If not, look on the back of the board. Pin 1is often indicated by a square pad.

  4. Connect the USB cable from the Olimex pod to your PC.
    Windows should detect the new device

    Tell Windows to search for a driver

    Select the driver location, usually something like depending on where you installed OpenOCD.

    Found the driver!

    This procedure will repeat two more times, since the Olimex pod includesa serial port (not quite sure what the third time is). The driver inf filesare ftdibus.inf, ftdiport.inf, and ftdi2xx.inf.

Connectinga Macraigor Wiggler or Wiggler clone JTAG Pod

Yagarto OpenOCD uses the giveio driver to provide program access to the parallel port.The following steps must be performed with administrator rights.

Go to a command prompt, and navigate to the 'parport' directory under wherever you installed OpenOCD - usually something like

You should see three batch files: install_giveio.bat, remove_giveio.bat, and status_giveio.bat.Olimex usb devices driver download for windows 7

Run status_giveio.bat. If giveio is not installed or running, you should see a display similar to this.

If giveio is not installed, run install_giveio.bat. You should see a display similar to this.

Run status_giveio.bat again. If giveio is installed and running, you should see a display similar to this.

This procedure only needs to be done once. On subsequent reboots, giveio.syswill be restarted automatically.

You are now ready to connect the Wiggler to your target hardware (administrator rights not required)

  1. Turn off power to the target.
  2. Verify any jumper and switch settings on your target board. On theOlimex LPC-P2106, do not install the BSL (serial bootloader) jumper;do install the DEBUG (DBGSEL active) jumper;do not install the JRST (reset by RS-232 DTR) jumper.For other target boards, consult your board's documentation.
  3. Connect the pod to the JTAG connector on your target. Be sure to orientthe connector correctly, or damage to the pod or the target board may result.In many cases, the cable and the connector will be keyed so that onlyone orientation is possible.

    Pin 1 on the JTAG cable is almost always indicated by a red stripe on theedge of the cable.

    Pin 1 of the JTAG connector on the target board is often indicated by a'1' on the silk-screen. If not, look on the back of the board. Pin 1is often indicated by a square pad.

  4. Turn on power to the target. This also supplies power to the Wiggler.
  5. Connect the parallel cable from the Wiggler to your PC.

Running OpenOCD

Before you can run NoICE, you must run OpenOCD as a GDB server. If youinstalled the Yagarto version of OpenOCD, look in the 'bin' directory under wherever you installed OpenOCD, usually something like

You should see two files,

  • openocd-ftd2xx.exe for use with USB connected pods based on the FTDI2232 chipsuch as the Olimex ARM-USB-OCD
  • openocd-pp.exe for use with parallel-port connected pods such as the Wiggler.

OpenOCD must be run with a configuration file to specify varioustarget options.

To use the Olimex ARM-USB-OCD we run

where the file arm7_olimex_usb.cfg contains:

Additional sample cfg files may be found in the OpenOCD binconfigs subdirectory.

Running openocd-ftd2xx should result in output something like this

If you have problems, more information configuration options, and a varietyof sample configuration files are available fromOpenOCD and YAGARTO

Once OpenOCD is up and running, you can run NoICE

To use the Olimex Wiggler clone we would run

Olimex usb devices driver download for windows 10

where the file arm7_wig.cfg contains:

Running openocd-pp should result in output similar to that shown above.

Once OpenOCD is up and running, you can run NoICE

Running NoICE

  1. Run NoICE.
  2. Select 'Target Communications' from the 'Options' menu, thenselect 'GDB Interface' from the 'Interface' drop-list.
    • Select 'TCP/IP' as the communications method.
    • Enter 'localhost' as the host name, and '3333' as the port. The port number must match the gdb_port setting in OpenOCD's cfg file.
    • Select your Target Chip: 'Philips LPC2106' in this example.
    • Set the CPU frequency to match the target. The Olimex board has an 14.7456 MHz crystal, so the CPU frequency is 14.7456 MHz.
    • If your target is a Philips LPC2xxx, set the 'Play this file after Reset' as shown, and read the digression on ARM Reset. For ohter targets, you can often leave this field blank, or consult NoICE help.

Olimex USB Devices Driver Download For Windows

ADigression on ARM Reset

Some ARM vendors have decided to make life difficult by quirks in thereset handling of their ARM processors. In particular, Philips (whichmakes some lovely inexpensive processors with wonderful peripherals)has a bootloader that takes control after reset. It computes a checksumon the ARM interrupt vectors. Only if the checksum is deemed correct willcontrol be passed to the Flash reset vector. If the checksum isn't correct, the boot loader remains is control, and may be seen by NoICE.

However, the boot loader scheme means that the only way JTAG can 'reset' a Philips LPC2xxx is to reset it, let it run long enough for the boot loader to do its stuff, and then stop the program. Unfortunately, at the time of stop there is no telling what the states of the various peripherals are,whether RAM or Flash or the boot loader mapped at location zero, etc.OpenOCD does not implement the GDB reset message.The GDB protocol document deprecates the reset message, so OpenOCD iscertainly 'legal', but reset is a very useful message for embedded debugging.In order to get a reliable reset of your target in the absence of GDBreset, we recommend that you specify aPlay After Reset command file with content similar to the following:

A file called OpenOCD_Reset.noi containing this content will be installedin your NoICEconfig directory.

Olimex USB Devices Driver Download For Windows

Press 'OK' in the Target Communications dialog, and NoICE will show an initialdisplay like that shown below. If you exit NoICE and come back in, you willreturn right here.

Olimex Usb Devices Driver Download For Windows 8

In this case, memory contains a previously-burned program. Since theARM begins execution at address 0, that is where PC starts out. NoICEdisassembles from the PC.

One restriction on the GDB protocol is that it does not provide access to the ARM's banked or shadow registers. You can see R0 through R15 and CPSR for the current mode, but the SPSR and registers for other modes are not visible asthey are when you use the simulator, JLink, or RDI interfaces.

At this point, you may wish to repeat the simulator exampleson real hardware.

If you look at OpenOCD's output window, you will see something like this

Don't worry about the warning messages: when NoICE starts up, it sends various commands to the GDB server in order to determine what features are available. IfOpenOCD doesn't support a command, it may issue a warning output.

The next step is to burn a program into Flash. This example uses ImageCraft ICCARM,as described in the previous section of the tutorial, Compiling for Source-level Debugging.

OlimexYou can follow along even if you don't have this compiler. All files necessary foryou to run the NoICE demo may be downloaded here: hellofoo.zip.Setup for other compilers is generally similar.

Run NoICE. Select 'File', 'Load...'.

By default, you will see hex files such as hellofoo.s19. You could load that, but all you would get would be disassembly, as the s19 file doesn't contain any symbolic debug information.

So change the 'Files of type' to'ImageCraft DBG files'.

Navigate to hellofoo.dbg and press 'OK'.

When you Load the file into the Flash range, a progress dialog appears:It shows the address being burned and the progress of the burn.

Once burning is completed, you can continue with the source-level debugging example

NoICE help on ARM