Home ] View Cart ] Site Map ] Contact ] Legal ]  

Flash Programmer
Batch Flash Programmer
Target Access DLL
J-SCAN JTAG Debugger
JTAG Commander
OCD Commander
Eclipse Tools
GNU Tools

Macraigor Systems GNU Tools FAQ...

Questions:

What is the GNU toolkit and why are you giving it away for free?
Did Macraigor Systems make changes to the GDB source?
What is OcdRemote and how do I use it?
How Do I Configure mpDemon to interface directly to GDB/Insight (without using OcdRemote)?
What other companies provide software tools that work with Macraigor Systems OCDemon interface devices?
Step-by-step installation instructions for Cygwin under Windows NT/2000/XP
Step-by-step installation instructions for Windows NT/2000/XP GNU Toolkit(s)
Step-by-step installation instructions for X86 Linux GNU Toolkit(s)
Step-by-step installation instructions for Windows OcdRemote package
What is Cygwin and why do I have to install it on my Windows NT/2000/XP system before I can install the GNU toolkit?
Where can I get more information about gdb and gdbtui? 
How do I configure GDB to talk to my target board?
How do I use GDB to set up my target board’s configuration registers?
Is there example code available?
How Do I Install mcgr_hwsupport RPM package on my Linux 32 or 64 System and verify the installation was successful?
How do I install mcgr_hwsupport DEP package on my Ubuntu/Debian Linux 32 System and verify the installion was successful?
Where can I find the source for the standard C and C++ libraries?

How do I install mcgr-hwsupport-libusb DEB package on my Ubuntu/Debian Linux 32/64 System and verify the installation was successful?
How Do I Install mcgr-hwsupport-libusb RPM package on my RedHat/FedoraLinux 32 or 64 System and verify the installion was successful?

What is the GNU toolkit and why are you giving it away for free? 

The GNU toolkit consists of the following software utilities:

  • GCC - an ANSI C compiler 
  • G++ - an ANSI tracking C++ compiler
  • GDB - source and assembly language command line debugger
  • GDBTUI - gdb with a simple windowed interface showing source and breakpoints
  • GAS - GNU assembler
  • LD - GNU linker

Macraigor Systems provides a separate executable, "OcdRemote." This stand-alone utility converts GDB commands to JTAG/BDM signals. 

IE: 

<GDB>--tcp/ip--<OCDRemote>--Macraigor OCDemon Device--JTAG--<Target CPU>

You will need to start OcdRemote in a separate window before starting GDB.

The GNU tools are shareware whose source is provided to all interested parties free of charge by the Free Software Foundation (www.gnu.org). In their words: "The Free Software Foundation (FSF) is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs. We do this by promoting the development and use of free software in all areas of computing ...". 

GO TO TOP

What is OcdRemote and how do I use it?

Prior to running Insight/GDB, you must first start OcdRemote. This stand alone utility converts GDB commands to JTAG/BDM signals.

For example: 

<GDB>-tcp/ip-<OCDRemote>-LPTx-Macraigor OCDemon Device-JTAG--<Target CPU>

Use the following command to start OCDRemote using a RAVEN interconnection device on LPT1 and using TCP/IP port 8888 to receive commands from GDB. In Linux it can either be run in the background or from a second shell window. Under Windows it must be run from a second Cygwin "bash" shell window:

/usr/local/bin/OcdRemote -c <cpu type>

OCDRemote takes additional OPTIONAL parameters that allow you to modify it's modes of operation:

OCDRemote -c <CPU type> [,<CPU type>],..] [-p <port number>] [-d <device>] [- a <device address>] [-s <speed>]

where: 

<CPU type> = 
ARM :  ARM7 | ARM9 | LH7A40X | NetSilicon
MIPS:  MIPS32_4Kc | MIPS32_4Ke | AU1x00 | MIPS64 | Tx49
POWER PC: MPC55x | MPC56x | MPC603 | MPC740 | MPC745 | MPC750 | MPC755 |  MPC8xx |   MPC5554 | MPC8240  | MPC8245 | MPC8247 | MPC8248 | MPC825x | MPC826x | MPC8270 | MPC8271 | MPC8272 | MPC8275 | MPC8280 | MPC85x0 | PPC403 | PPC405 | PPC740 | PPC750 | PPC750fx | PPC750gx
INTEL XSCALE : 80200 | 80219 | 80321 | IOP303 | IOP332 | IOP315 | IOP321 | IXC1100 | IXP42x | IXP2400 | IXP2800 | IXP2840 | PXA210 | PXA25x | PXA26x | PXA27x | Xscale-5IR | Xscale-7IR | Xscale-5IRSlave | Xscale-7IRSlave
UNKNOWN : U:<IR SIZE IN BITS>:<BYPASS SIZE IN BITS>

<port number> = tcp/ip port, default = 8888 

<device> = WIGGLER, RAVEN,MPDEMON_SERIAL, MPDEMON_PARALLEL, MPDEMON_ETHERNET, USB, default = RAVEN 

<device address> = WIGGLER/RAVEN/MPDEMON_PARALLLEL: LPT number 1 - 4 
MPDEMON_SERIAL : COM number : 1 - 4 
MPDEMON_ETHERNET : tcp/ip address in the format : xxx.xxx.xxx.xxx
USB : macraigor USB device number : 0 - 15
default = 1 

<speed> = JTAG clock rate 1 - 8, default = 1 (fastest)

Device/Speed 1 2 3 4 5 6 7 8
MpDemon 18MHz 9Mhz 5MHz 4.5Mhz 2Mhz 1Mhz 500Khz 4.5Khz
Raven 8Mhz 4Mhz 2Mhz 1Mhz 500Khz 125Khz 60Khz 30Khz
Usb2Demon 24Mhz 12Mhz 8Mhz 6Mhz 4.8Mhz 4Mhz 3.5Mhz 75Khz
Usb2Sprite 6Mhz 3Mhz 2Mhz 1.5Mhz 1.2Mhz 1Mhz 850Khz 1Khz
UsbWiggler 6Mhz 3Mhz 2Mhz 1.5Mhz 1.2Mhz 1Mhz 850Khz 1Khz
Wiggler 380Khz 200Khz 140Khz 100Khz 80Khz 68Khz 59Khz 4Khz
 

 Some Examples :

To connect to an  Xscale IQ80321 CPU using a Wiggler(windows only)  LPT2  at  JTAG speed 1 (380 khz), you would enter :
        OcdRemote -c XSCALE-5IR -d WIGGLER -a 2 -s 1

To connect to a MIPS32 4kE CPU using a Raven  LPT1  at  JTAG speed 1 (8 mhz), you would enter :
        OcdRemote -c MIPS32_4KE -d RAVEN -a 1 -s 1

To connect to a Alchemy 1500 CPU using a  mpDemon : ethernet - 192.168.1.30  at JTAG  speed 2 (9 Mhz), you would enter :
        OcdRemote -c AU1x00 -d MPDEMON_ETHERNET -a 192.168.1.30 -s 2

To connect to a ARM920T CPU using an mpDemon: parallel - LPT1  at JTAG speed 3 (5 Mhz), you would enter :
        OcdRemote -c ARM9 -d MPDEMON_PARALLEL -a 1 -s 3

To connect to a PPC8560 CPU using a Usb2Demon  as USB device 0  at JTAG speed 1 (6 Mhz), you would enter :
        OcdRemote -c PPC85xx -d USB -a 0 -s 1

To connect to a Toshiba TX49 CPU using a UsbWiggler as USB device 3  at JTAG speed 2 (6 Mhz), you would enter :
        OcdRemote -c TX49 -d USB -a 3 -s 2

To connect to an PPC860 CPU using a Usb2Sprite  as USB device 2  at JTAG speed 3 (2 Mhz), you would enter :
        OcdRemote -c PPC8xx -d USB -a 2 -s 3



 

How do I configure mpDemon to interface directly to GDB (without using OcdRemote)?

mpDemon version 3.0.0.x can now communicate directly with one or more GDB sessions via  ethernet  to it's internal OcdRemote GDB interface.  Initially, prior to starting the Insight/GDB session(s) on your host, you must first configure the mpDemon's OcdRemote for your target board. OcdRemote converts GDB commands to JTAG/BDM signals that control your target board's CPU(s). IE :

[GDB(s)]--<GDB commands>--[mpDemon/OcdRemote]--<JTAG/BDM signals>--[Target]

To configure OcdRemote you must tell it :
    1) The JTAG/BDM Clock Rate - this is the rate at which the mpDemon clocks the
        JTAG/BDM lines on the target.
    2) The JTAG scan chain configuration - what devices are on the target's JTAG/BDM
        scan chain and if there are multiple devices on the scan chain  (two or more CPUs/TAP
        controllers/FPGAs/ect) what order the devices are in.
Using this information the mpDemon creates a GDB monitor TCP/IP port for each active
CPU on the target board's JTAG/BDM scan chain. You gdb session's gdb.ini file should
have the line :
        remote target <mpDemon's ethernet address>:<cpu's GDB monitor tcp/ip port>

This tells GDB to send it's monitor commands to the <GBB monitor tcp/ip port> on
the mpDemon. These commands will be routed by the mpDemon to a single target CPU.
Multiple GDB sessions can be run simulataneously each controlling a different CPU
on the target board.
For example to debug two PPC8248 CPUs on a target system connected
to an mpDemon at ethernet address 192.168.1.4 configured so that :
    CPU 1 used port 8888 and
    CPU 2 used port 8889 you would start two GDB sessions :
The first session would control CPU 1, it's gdb.ini file would contain the line
    remote target 192.168.1.4:8888
The second session would control CPU 2 it's gdb.ini file would contain the line
    remote target 192.168.1.4:8889

The current scan chain configuration and the port(s) GDB session(s) will use to access
a given CPU are displayed on both the

mpDemon's web page:

        Macraigor Systems LLC mpDemon™

System Configuration     OCDREMOTE Bus Configuration
    
Firmware Version     3.0.0.xxx   Index  CPU Type   JTAG Lengths (in Bits)  TCP/IP Port
                                                                               IR        BYPASS
                                                                               TDO <-
Licenses                                        1     PPC8248                                         8888
JTAG Speed:     2                                                   TDI ->
DHCP             off                                     
IP Address        192.168.1.99
IP Mask            255.255.255.0
IP Gateway        192.168.1.1
MAC Address     00:60:bf:0c:0d:0e
    
and mpDemon's Serial Port display:

     Macraigor Systems mpDemon(tm) version 3.0.0.xxx

API Baud Rate  : 115200
Use DHCP?      : No
TCP/IP Address : 192.168.  1. 99
       Mask    : 255.255.255.  0
       Gateway : 192.168.  1.  1
MAC Address    : 00.60.bf.0c.0d.0e
OCDREMOTE      : JTAG SPEED : 2
                 JTAG TDO <- [1]PPC8248=8888 <- TDI

                          
This configuration information only has to be entered once for a given target system.
It is stored in the mpDemon's flash and will remain active until it is changed by the user.

Modifying mpDemon's ODCRemote  JTAG/BDM Clock Rate:

    The JTAG speed parameter can have a value from 1 (the fastest: ~15 mhz) to 8
    (the slowest: ~8 Khz).

    On the Web page :

        1) Click on the OCDREMOTE Configuration hot text  
        2) Select the new JTAG/BDM speed from the "JTAG Speed" dropdown list
        3) Click the Submit Button to store the new value into flash
        4) Click the Reboot Button to restart the mpDemon, the new value will now take effect

    On the Serial Port Display

        1) enter "0<cr>"  to go to the OCDREMOTE menu
        2) enter the new JTAG/BDM clock rate (1 - 8)
        3) enter "n<cr>" after "Do you want to change the JTAG chain?"
        4) enter "r<cr>" to restart the mpDemon, the new value will now take effect.
        
        
Modifying mpDemon's OCDRemote  JTAG Scan Chain Configuration:

    On the Web page :

        1) Click on the OCDREMOTE Configuration hot text  
        2) To :    
            Change the type of CPU already in the list:
                Select the new CPU type from the "CPU Type" dropdown list for that
                position it the scan chain. If the device you wish to add is not a
                CPU (i.e. a TAP controller, FPGA, ect) select the "UNKNOWN" device type and
                enter the length in bits of the device's JTAG Instruction register in the
                JTAG Parameters IR column, and the length in bits of the device when it is
                placed in bypass mode (this is typically: 1) in the JTAG Parameters Bypass
                length column.  
            Add a new CPU to the list :
                Click the Add CPU button, a new CPU of "UNKNOWN" type will be added to the
                bottom of the list. Change the type of CPU to the one you need as above.
            Delete a CPU from the list :
                Next to the CPU you want to remove from the scan chain list, click the
                Delete button. That entry will be removed from the list. The port numbers
                will change to relect the new list order                 
        3) Click the Submit Button to store the new scan chain configuration into flash
        4) Click the Reboot Button to restart the mpDemon, the new values will now take effect

    On the Serial Port Display

        1) enter "0<cr>"  to go to the OCDREMOTE menu
        2) enter "<cr>" to retain the current JTAG/BDM clock rate
        3) enter "y<cr>" after "Do you want to change the JTAG chain?"
        4) at the "Number of Devices in Scan Chain" prompt enter the
            number of devices (CPUs and other devices) in the JTAG/BDM
            scan chain. If you enter "<cr>" the current value shown in
            brackets [] will be retained.
        5) At each "Device [<scan chain index>]" prompt enter enter the name of
            the CPU/device at this location in the scan chain.If the device you
            wish to add is not a CPU (i.e. a TAP controller, FPGA, ect) enter
            the "UNKNOWN:<ir length in bits>:<bypass length in bits>" device type.
            Where <ir length in bits> = the length in bits of the device's JTAG
            Instruction register and
            <bypass length in bits> = the length in bits of the device when it is
            placed in bypass mode (this is typically: 1).
        6) At each "TCP/IP port number : [<cpu's GDB monitor tcp/ip port>]" prompt
            enter "<cr>" this will let OCDREMOTE assign the port number to the CPU.
        7) After all the CPUs have been entered enter any key to return to the main
            menu
        8) enter "r<cr>" to restart the mpDemon, the new values will now take effect


Did Macraigor Systems make changes to the GDB source?

No. Macraigor uses the standard GNU GDB release.

We provide a utility, OcdRemote that looks to GDB like a target based monitor waiting on a TCP/IP port for GDB monitor format commands. Macraigor has added CPU specific commands to OcdRemote that are accessable  via GDB's "monitor" command. In the GDB command window enter "monitor help" for a list of the commands available for your CPU type.  See the answer to "What is OcdRemote and how do I use it" FAQ for more information on how to run OcdRemote.. 

GO TO TOP

What other companies provide software tools that work with Macraigor Systems OCDemon interface devices? 

GO TO TOP

Step-by-step installation instructions for Cygwin under Windows NT/2000/XP

All of our hardware interfaces are supported on the Windows 2000/NT/XP platform
UsbWiggler,Usb2Demon,Usb2Sprite and mpDemon are supported on the Vista32 platform.

We tested with Cygwin 1.5.25-15 with the Make, Expat, libexpat0, libgmp3, and libmpfr1 packages added. To install cygwin on your Windows system:

Go to www.cygwin.com

Select the "Install or update now (using setup.exe)"  hypertext, download/run setup.exe and make the following choices in the "Cygwin Setup" dialogs:

  1. Choose Installation Type: Select Install From  Internet
  2. Choose Installation Directory: Specify: Root Directory : "c:\cygwin", Install For : All Users, Default Text File Type: unix/binary
  3. Select Local Package Directory"  : Specify : "c:\"
  4. Select Connection Type : Specify your ethernet connection type
  5. Choose download sites : Select a download site
  6. Select Packages: 

    a) Expand the "Devel" category by clicking on the "+" sign, then scroll to:

     "make: The gnu version of the make utility," 

      click the arrows icon to replace "skip" with a version number.

    b) Expand the "Libs" category by clicking one the "+" sign, scroll to:
    1. "expat: XML parser library"

      "libexpat0: XML parser library written in C"

      "libgmp3: Run time Library for GMP arbitrary precision arithmetic"

      "libmpfr1: A library for multiple precision floating point arithmetic with exact rounding"



    2.  
     click the arrows icon to replace "skip" with their version numbers.

Clicking the NEXT button in the "Select Packages" dialog box will start the Cygwin Installation.

GO TO TOP

Step-by-step installation instructions for Windows NT/2000/XP  GNU Toolkits

NOTE: PRIOR TO RUNNING THIS INSTALLATION: 
- CYGWIN MUST BE INSTALLED ON YOUR SYSTEM 
- WINDOWS NT/2000 USERS SHOULD LOG IN AS ADMINISTRATOR 

  1. On the GNU Tools page of our web site select either the:  "ARM7T/ARM9T/NetSilicon/Xscale/MX21.Mx31 GNU Toolkit", "PowerPC GnuToolkit", "MIPS32-4Kc/4Ke/Alchemy MIPS64-5kc/TX49", or "i386 GNU Tookit" hypertext, right click the mouse and select "open"
  2. In the popup dialog select the Open button. This will automatically download and install gnutools-<cpu type>-elf-<version>.exe on your your PC. 
  3. Your cywin /usr/local/bin directory will now contain the arm/i386/mips/powerpc Gnu tools : <cpu type>-elf-gcc.exe, <cpu type>-elf-gdb.exe, <cpu type>-elf-ld.exe, ect.  The /usr/local/man directory will now contain man pages for the Gnu tools.
  4. You should now download and install OcdRemote if you are going to use the GNU tools to debug your target with a Macraigor Wiggler,  Raven, Usb2Demon, UsbWiggler, or Usb2Sprite. This download will also installexample Eclipse/GDB projects to your See the answer to "What is OcdRemote and how do I use it" FAQ for more information on how to download and run OcdRemote.

GO TO TOP

 

Step-by-step installation instructions for X86 Linux GNU Toolkits 

The Linux based packages are provided as RPM files. You will need the particular rpm package for the processor that you are interested in. This supplies the GNU compilers, assembler, linker,  debugger and source, make, and gdbinit files for several example boards . You will also need to install OcdRemote. This utility runs alongside GDB and serves as a gdb monitor command to the Macraigor API translator. Installing OcdRemote also installes the OCDemon device drivers/libraries. You can then debug your target board via GDB using the Macraigor Systems JTAG OCDemon hardware interconnect devices. All of the compiler rpm packages can be installed together without conflicting.

The GNU processor tools packages are in: 
  mcgr-gnutools-powerpc-<version>.i386.rpm For the PowerPC processor 
  mcgr-gnutools-arm-<version>.i386.rpm For the ARM7T/ARM9T/NetSilicon processors
  mcgr-gnutools-xscale-<version>.i386.rpm For the Intel Xscale processors
  mcgr-gnutools-mips-<version>.i386.rpm For the MIPS32-K4c/4ke-Alchemy processors
  mcgr-gnutools-mips-<version>.i386.rpm For the MIPS64/TX49 processors 

OcdRemote and the Macraigor Drivers are in: 
  mcgr-hwsupport-<version>.i386.rpm
 
The rpm packages can be installed using the rpm command as below. You must run these commands with root privileges. 
  rpm -U mcgr-gnutools-arm-<version>-.i386.rpm 
  rpm -U mcgr-gnutools-powerpc-<version>-.i386.rpm 
  rpm -U mcgr-gnutools-xscale-<version>-.i386.rpm
  rpm -U mcgr-gnutools-mips-<version>-.i386.rpm 
  rpm -U mcgr-hwsupport-<version>-.i386.rpm   

The GNU tools will be installed in the directory /usr/local/bin. This should be added to your PATH environment variable. The cross development tools have the processor name and output format encoded in their name. Thus, the PowerPC GNU debugger GDB will be called powerpc-elf-gdb and the compiler will be named powerpc-elf-gcc. Example applications are placed in /usr/local/macragior/demo/<cpu type>/<target board> directories. The readme.txt file in each directory gives detailed information on how to build and debug the board specific example application using the GNU toolkit.

GO TO TOP

Step-by-step installation instructions for Windows OcdRemote package

To install OcdRemote, the example Eclipse/gdb Projects and the Macraigor drivers on your Windows systems do the following :

  1. If you have not already done so, install the Cygwin™ package,  see Step-by-step installation instructions for Cygwin under Windows NT/2000/XP for more details on how to do this.
  2. On the GNU Tools page of our web site select  "Macraigor OCDRemote + Macraigor Utilities/Drivers + Eclipse/GNU  Example Projects" or hypertext, right click the mouse and select "open"
  3. In the popup dialog select the Open button. This will automatically download and install mcgr-hwsupport-<version>.exe
  4. You will need to reboot your computer after installation completes to install the Macragior Device drivers.
The Ocdremote and Macraigor DLLs will be added to your Cygwin™:  /usr/local/bin directory. Example Eclipse/gdb project : source, README, Makefile, ldscript, and gdbinit files placed in c:\Program Files\Macragior Systems\Eclipse Demos\<cpu type>\<target board> directories.

NOTE: If you have an mpDemon version 3.0.0.1 or later and an ethernet connection between your PC and mpDemon, you can skip downloading OcdRemote and use the mpDemon's built in OcdRemote GDB interface. See How do I configure mpDemon to interface directly to GDB/Insight (without using OcdRemote)?

GO TO TOP
 

What is Cygwin and why do I have to install it on my Windows NT/200/XP system before I can install the GNU toolkit? 

The Cygwin tools are ports of the popular GNU development tools and utilities for Windows NT/2000/XP. They function through the use of the Cygwin library which provides the UNIX system calls and environment that these programs require. As a result, it is possible to easily port many significant UNIX programs without the need for extensive changes to the source code. (for more information on CygwinTM go to Red Hat’s web page www.redhat.com, then search on the keyword "CygwinTM"). 

The GNU tools expect to be running under a "UNIX-like" environment. CygwinTM provides this under Windows through its BASH shell.

GO TO TOP

Where can I get more information about gdb? 

Additional information on Insight is available from the GNU gdb documentation page http://www.gnu.org/software/gdb/documentation.  Gdb Man pages are part of the GNU toolkit install package.  Typing "man <cpu-type>-elf-<utility-name> (for example: "man mips-elf-gdb") in a Cygwin Bash window will start the display of that utility's Man pages. Typing "<cpu-type>-elf-gdb --help" in a Bash window displays a brief description of the utility and it's command line options.

GO TO TOP

How do I configure GDB to talk to my target board? 

The gdb "target" command establishes a connection to the remote target to be debugged.

When using Macraigor Interface devices this "target" is the separate executable OcdRemote  or mpDemon OcdRemote typically waiting on the TCP/IP socket <localhost>:8888 for gdb to connect (see "What is OcdRemote and how do I use it").

Your gdb.ini file should contain the line :

# This connects to a OcdRemote executable running on your PC
target remote localhost:8888

This establishes the connection between : 
GDB <-> OcdRemote <-> Wiggler/Raven/UsbDemon/UsbSprite/mpDemon <-> Target

OR the line :

# This connects to a OcdRemote executable running on your mpDemon
target remote <mpDemon ethenet address>:8888

This establishes the connection between GDB and the OcdRemote running on the mpDemon located at <mpDemon ethernet address>  ie : 
GDB <-> mpDemon/OcdRemote <-> Target

tGO TO TOP

How do I use GDB to set up my target board’s configuration registers? 

The gdb "set" command is used for setting the value of registers. The complete list of known registers can be obtained using the "info reg" command. 

The value of a register can be set with following command: 
  set reg $r1 = 0x44 this will set the r1 register to 44 hex. 

The "reg" portion of the set command is not strictly necessary but is recommended as it adds error checking. With the "reg" flag the register name must be a valid register name or an error is returned. Without the "reg" flag if the name is not recognized as valid register then gdb will create a variable with that name and no error will be flagged.

Macraigor's Ocdremote utility provides a "monitor reg <register-name> [= <value>]" command that differs from gdb's set command in that it immediately writes the value to the cpu rather than waiting until the next time the target is run.  Entering "monitor regnames" will display a list of  the supported target register names.

The setup of a target board’s configuration registers is a good candidate to be included in the gdbinit initialization file. Either "set reg <name> = <value>" or "monitor reg <name> = <value>" commands can be used. See the example Project gdbinit files for more information.

GO TO TOP

Is there example code available? 

Yes.  The OcdRemote download installs example Eclipse/Gdb Projects in the "c:\Program Files\Macraigor Systems\Eclipse Demos\<cpu type>\<target board> directories. There are small example program: source, README, Makefile, ldscript, and gdbinit files that can be built with the supplied tools and downloaded into a specific target board. The examples include a small C program that manipulates some variables and a small assembly source file called crt0.S that contains the actual start code for the target and performs the necessary initialization before the C program "main" function can be called. There are no I/O calls because that would depend on the I/O available in the particular target.
Here is a list of the target boards we provide examples for :

ARM MIPS POWER PC Xscale i386
ARM
CM920T
Alchemy
AU1100-1550
AMCC
405EP Taihhu
ADI
IXP23xx
ARM
CM940E-S
Alchemy
PB1000
EmbededPlanet
EP80219
ARM
CM1136FJ-S
Alchemy
PB1100
AMCC
405GPR Sycamore
Intel
DBPAX27x
Atmel
AT91M55800A
Alchemy
PB1500
AMCC
440EP Bamboo
Intel
IQ80310
Atmel
AT91M63200
MIPS
Atlas 4Kc
AMCC
440EP Yosemite
Intel
IQ80315
Atmel
AT91R9200T
MIPS
Malta 4Ke
AMCC
440EPx Sequoia
Intel
IQ80321
Atmel
AT91x40
MIPS
Malta 5Kc
AMCC
440BP Ebony
Intel
IQ80331
Cirrus
EDB7209
Toshiba
TX4927EVB
AMCC
440GX Ocotea
Intel
IQ81342
Cogent
CSB337
AMCC
440GX Tiashan
Intel
IQ81348
Cogent
CSB535/536fs
Embedded Planet
EP405
Intel
IXDP425
Conexant
CS82110
Embedded Planet
EP440C
Intel
IXDP426
Conexant
CS86202
Embedded Planet
EPE8248e
Intel
IXDP1100
Embedded Planet
EP8971
Freescale
iMX1/21/31ADS
Freescale
Lite MPC5200B
Freescale
MAC7100EVB
Freescale
MPC5x5ETAS
NetSilicon
NSDB7520
Freescale
MPC8xxADS
NetSilicon
NSDB9750
Freescale
MPC5554Demo
NetSilicon
NSEVAL9360
Freescale
MPC8266ADS
OKI
ML675K
Freescale
MPC8372ADS
Sharp
EVB79520
Freescale
MPC8280PQ2FADS
Sharp
LH7A4xx
Freescale
MPC8541ADS
STMicro
STR710EVAL
Freesclae
MPC8560ADS
TI
OMAP1510

GO TO TOP

How Do I Install mcgr_hwsupport RPM package on my Linux 32 or 64 System and verify the installion was successful?

1) Our USB drivers have to be built on your linux system. As a result your system has to have the kernel code installed in either
/usr/src/linux or
/usr/src/linux/kernels/<LinuxVersion> 
(where <LinuxVersion> your linux's version, for example 
/usr/src/kernels/2.6.22.9-61.fc6.i686)

If your Linux system currently does not have it's source code installed you will need to run the package manager to install it. On RedHat systems you would :

1) Bring up the package manager using the :
      Applications -> Add/Remove Software menu

2) Click the search tab in the Package Manager and search for the kernel-devel packages and install them.

The file version.h is created when you first compile the Linux kernel source code. Some distributions provide a compiled kernel without the file version.h. 
Look under either:

/usr/src/linux/include/linux OR
/usr/src/kernels/<LinuxVersion>/include/linux

to see if you have this file. If you do not, follow these steps in order to install the file: 

Become super user: 
$ su 
Change directory to the Linux source directory: 
# cd /usr/src/linux Or
# cd /usr/src/kernels/<LinuxVersion>
Type: 
# make xconfig 
Save the configuration by choosing Save and Exit. 
Type: 
# make dep 


2) Log in as root. You will need to INSTALL and RUN our software as root. cd to the directory which contains your RPM files. By convention on a RedHat Linux 32 system this will be :
/usr/src/redhat/RPMS/i386
on a RedHat Linux 64 system :
/usr/src/redhat/RPMS/x86_64

If you have a previous version of our RPM installed, first un-install (if needed)

# rpm -e mcgr-hwsupport-<OldVersionNumber>

Now install the new package with

# rpm -i mcgr-hwsupport-<NewVersionNumber>.i386.rpm (Linux 32) OR
# rpm -i mcgr-hwsupport-<NewVersionNumber>.x86_64.rpm (Linux 64)

verify installation by 

# rpm -q --all | grep mcgr

which will display the following if the rpm completed successfully : 

mcgr-hwsupport-<NewVersionNumber> 


3) Verify that our Usb driver windrvr6 got built successfully :

# ls /dev/windrvr6 

should display :

/dev/windrvr6

4) Verify that the driver is running:

# /sbin/modprobe windrvr6

should display :

/lib/modules/<your OS version>/kernel/drivers/misc/windrvr6.ko

5) The following libraries and their soft links should now exist on your system :

/usr/lib/libMacraigorAPI.so -> /usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorJtagio.so -> /usr/lib/libMacraigorJtagio.so.1.0
/usr/lib/libMacraigorJtagio.so.1.0
/usr/lib/libmacraigortemplate.so -> /usr/lib/libmacraigortemplate.so.3.0.2.6
/usr/lib/libmacraigortemplate.so.3.0.2.6

(use # ls -la /usr/lib/lib*[Mm]acraigor*.* to get above list)

/usr/lib/libwdapi921.so -> /usr/local/macraigor/WinDriver/lib/libwdapi921.so

(# ls -la /usr/libwdapi*.* to display this link)

/usr/local/macraigor/WinDriver/lib/libwdapi921.so

6) The RPM file should have added a line to your /ect/rc.local file so that 
windrvr6 is started each time your system boots up. 

# fgrep windrvr6 /etc/rc.local

should display :

/usr/local/macraigor/WinDriver/redist/wdreg windrvr6

7) The Macraigor executables are installed in /usr/local/bin

# ls /usr/local/bin 

should display (along with files origionally in /usr/local/bin)

/usr/local/bin/DccTerminal - ARM Debug Communications Terminal
/usr/local/bin/DccTerminal.jar
/usr/local/bin/JTAGScanChainAnalyzer - JTAG scan chain analyzer
/usr/local/bin/JTAGScanChainAnalyzer.jar
/usr/local/bin/OcdCommander - Assembly level debugger
/usr/local/bin/OcdCommander.jar
/usr/local/bin/ocdremote - gdb to JTAG interface program 
/usr/local/bin/UsbDemonFinder - Macraigor Usb Device locator
/usr/local/bin/UsbDemonFinder.jar


8) The Eclipse/gnu tools Demos are installed in /usr/local/macraigor/EclipseDemos. 
The command 

# ls /usr/local/macraigor/EclipseDemos/*/*

will display them. Each demo directory contains README, source, makefile, ldscript, gdbinit and Eclipse project files that can be built and run on a specific manufacturer's eval board.

9) The Macraigor JAVA tools in /usr/local/bin require Java 1.6.0 or later. You can download the latest version of the Java JRE from Sun's web site :

http://www.java.com/en/download/index.jsp 

Once you have downloaded and un-zipped the latest version of Java (typically in /usr/local/java) you will need to modify the current soft-link so it points to this new version. The procedure to do so goes like this :

# which java 

displays :

/usr/bin/java (or wherever your java soft-link lives)

Entering

# ls -la /usr/bin/java

displays :

/usr/bin/java -> <soft-link to java>

You need to modify the "which soft-link" to point to your new java. For example if your new java release lives in : /usr/local/java/jrel1.6.0_07   and which displayed :/usr/bin/java  you would change the soft-link to

#ln -s /usr/local/java/jrel1.6.0_07/bin/java /usr/bin/java 
GO TO TOP

How do I install mcgr_hwsupport DEB package on my Ubuntu/Debian Linux 32 System and verify the installion was successful?

1) Our USB drivers have to be built on your Linux system. As a result your system has to have the kernel code and headers installed in 
/usr/src/linux-source-<LinuxVersion> 
/usr/src/linux-headers-<LinuxVersion> AND
/usr/src/linux-headers-<LinuxVerison>-generic
(where <LinuxVersion> your linux's version, for example /usr/src/linux-source-2.6.35)

If your Linux system currently does not have it's source code installed you will need to to install it using apt-get. To do so on Ubuntu systems you would type: 
sudo apt-get install linux-source 
Our driver build process needs the file version.h. It should be in: 
/usr/src/linux-headers-<LinuxVersion>-generic/linux/include
You can use : “find /usr/src/ -name version.h –print” to confirm this.

2) You will need to INSTALL and RUN our software as root using sudo. cd to the directory which contains your DEB files. Most users download them into their $HOME directory.
You can get a list of the currently installed Macraigor packages by entering:
dpkg --get-selections | grep mcg
If you have a previous version of our DEB installed, first un-install (if needed):
sudo dpkg --remove mcgr-hwsupport (package name from dpkg –get-selections list)

Now install the new package with

sudo dpkg –install mcgr-hwsupport-<NewVersionNumber>_i386.deb


verify installation by entering :

dpkg –get-selections | grep mcgr

which will display the following if the deb completed successfully : 

mcgr-hwsupport 


3) Verify that our Usb driver windrvr6 got built successfully :

ls /dev/windrvr6 

should display :

/dev/windrvr6

4) Verify that the driver is running:

sudo /sbin/modprobe -l windrvr6

should display :

/lib/modules/<your OS version>/kernel/drivers/misc/windrvr6.ko

5) The following libraries and their soft links should now exist on your system :
/usr/lib/libMacraigorAPI.so -> /usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorAsmDasm.so -> /usr/lib/libMacraigorAsmDasm.so.1.0
/usr/lib/libMacraigorAsmDasm.so.1.0
/usr/lib/libMacraigorJtagio.so -> /usr/lib/libMacraigorJtagio.so.1.0
/usr/lib/libMacraigorJtagio.so.1.0
/usr/lib/libmacraigortemplate.so -> /usr/lib/libmacraigortemplate.so.3.0.2.9
/usr/lib/libmacraigortemplate.so.3.0.2.9

(use ls -la /usr/lib/lib*[Mm]acraigor*.* to get above list)
/usr/lib/libjtag_usb2.so -> /usr/lib/libjtag_usb2.so.2.0
/usr/lib/libjtag_usb2.so.2.o

(use ls -la /usr/lib/libjtag_usb*.* to get above list)

/usr/lib/libwdapi1000.so -> /usr/local/macraigor/WinDriver/lib/libwdapi1000.so

(ls -la /usr/lib/libwdapi*.* to display this link)

/usr/local/macraigor/WinDriver/lib/libwdapi1000.so

6) The .deb file should have added these two files : 
/etc/init.d/macraigor_windrvr6 
/etc/rc2.d/S99macraigor_windrvr6 
to the Linux system boot directories so that windrvr6 is started each time your system boots up. 


7) The Macraigor executables are installed in /usr/local/bin

ls /usr/local/bin 

should display (along with files originally in /usr/local/bin)

/usr/local/bin/DccTerminal - ARM Debug Communications Terminal
/usr/local/bin/DccTerminal.jar
/usr/local/bin/JTAGScanChainAnalyzer - JTAG scan chain analyzer
/usr/local/bin/JTAGScanChainAnalyzer.jar
/usr/local/bin/OcdCommander - Assembly level debugger
/usr/local/bin/OcdCommander.jar
/usr/local/bin/ocdremote - gdb to JTAG interface program 
/usr/local/bin/UsbDemonFinder - Macraigor Usb Device locator
/usr/local/bin/UsbDemonFinder.jar


8) The Eclipse/gnu tools Demos are installed in /usr/local/macraigor/EclipseDemos. 
The command 

ls /usr/local/macraigor/EclipseDemos/*/*

will display them. Each demo directory contains README, source, Makefile, ldscript, gdbinit and Eclipse project files that can be built and run on a specific manufacturer's eval board.

9) The Macraigor JAVA tools in /usr/local/bin require Java 1.6.0 or later. To download the latest version of the Java JRE from the Ubuntu Software Center: 
- Start up the Ubuntu Software Center app
- Select : 
- Get Software 
- Provided By Ubuntu
- Open JDK Java <Version> Runtime
and install it. You can check the : 
- Installed Software 
- Provided By Ubuntu
- Open JDK Java <Version> Runtime 

list to see if it is has already been installed on your system.
Once you have installed the latest version of Java (typically in /usr/lib/jvm/java-<Verson>-openjdk/jre/bin/java) you will need to modify the current soft-link so it points to this new version. The procedure to do so goes like this:

which java 

displays :

/usr/bin/java (or wherever your java soft-link lives)

Entering

ls -la /usr/bin/java

displays :

/usr/bin/java -> <soft-link to java>

You need to modify the "which soft-link" to point to your new java. For example if your new java release lives in : /usr/lib/jvm/java-6-openjdk/jre/bin and which displayed :/usr/bin/java you would change the soft-link to

sudo ln -s /usr/lib/jvm/java-6-openjdk/jre/bin/java /usr/bin/java 

GO TO TOP

Where can I find the source for the standard C and C++ libraries?

libc - GNU C Library:
http://directory.fsf.org/project/libc/

Diet libc - a C library that is optimized for small size. It has has the bare minimum of files: the system call wrappers (including socket stuff) and malloc, etc. to create small statically linked binaries:
http://directory.fsf.org/project/dietlibc/

Links to Other C and C++ libraries:
http://directory.fsf.org/category/clibs/

Newlib - C library intended for use on embedded systems. 
It is a conglomeration of several library parts, all under free
software licenses that make them easily usable on embedded products.
http://sources.redhat.com/newlib

uClibc - C library for developing embedded Linux systems. It is much smaller
than the GNU C Library, but nearly all applications supported by 
glibc also work perfectly with uClibc.
http://www.uclibc.org/

Other Open Source C libraries: 
http://www.uclibc.org/other_libs.html

GO TO TOP

How do I install mcgr-hwsupport-libusb DEB package on my Ubuntu/Debian Linux 32/64 System and verify the installation was successful?

1) Our USB libraries require that your system have the libusb 1.0 (or later) package installed (it is included in Ubuntu 2.10 and later verisons).
    You can get see if this package has been installed on your systems by entering:
        dpkg --get-selections | grep libusb-1.0

    If your Linux system currently does not have this package installed you will need to to install it using apt-get. To do so on Ubuntu systems you would type: 
        sudo apt-get install libusb-1.0 

2) You will need to INSTALL and RUN our software as root using sudo. cd to the directory which contains your DEB files. Most users download them into their $HOME directory.
     If you have a previous version of our DEB installed, first un-install (if needed):
         sudo dpkg --remove mcgr-hwsupport (or mcgr-hwsupport-libusb)   <- package name from dpkg –get-selections list

    Now install the new package with

      sudo dpkg –install mcgr-hwsupport-libusb-<NewVersionNumber>.i386.deb    32 bit or
      sudo dpkg –install mcgr-hwsupport-libusb-<NewVersionNumber>_amd64.deb    64 bit    

    verify installation by entering :
       dpkg –get-selections | grep mcgr

   which will display the following if the deb completed successfully : 
       mcgr-hwsupport-libusb 

3) The following libraries and their soft links should now exist on your system :
    /usr/lib/libMacraigorAPI.so -> /usr/lib/libMacraigorAPI.so.1.0
    /usr/lib/libMacraigorAPI.so.1.0
    /usr/lib/libMacraigorJtagio.so -> /usr/lib/libMacraigorJtagio.so.3.0
    /usr/lib/libMacraigorJtagio.so.3.0
    /usr/lib/libmacraigortemplate.so -> /usr/lib/libmacraigortemplate.so.<version>
    /usr/lib/libmacraigortemplate.so.<version>

    (use ls -la /usr/lib/lib*[Mm]acraigor*.* to get above list)

    /usr/lib/libjtag_usb2.so -> /usr/lib/libjtag_usb2.so.3.0
    /usr/lib/libjtag_usb2.so.3.o

4) The dpkg file should have added the file /ect/udev/rules.d/99-usb2demon.rules to your system. 
   This allows any user to access Macaigor USB devices

5) The Macraigor executables are installed in /usr/local/bin

    ls /usr/local/bin 

    should display (along with files originally in /usr/local/bin)

    /usr/local/bin/DccTerminal - ARM Debug Communications Terminal
    /usr/local/bin/DccTerminal.jar
    /usr/local/bin/JTAGScanChainAnalyzer - JTAG scan chain analyzer
    /usr/local/bin/JTAGScanChainAnalyzer.jar
    /usr/local/bin/OcdCommander - Assembly level debugger
    /usr/local/bin/OcdCommander.jar
    /usr/local/bin/ocdremote - gdb to JTAG interface program 
    /usr/local/bin/UsbDemonFinder - Macraigor Usb Device locator
    /usr/local/bin/UsbDemonFinder.jar

6) The Eclipse/gnu tools Demos are installed in /usr/local/macraigor/EclipseDemos. 
    The command 

     ls /usr/local/macraigor/EclipseDemos/*/*

     will display them. Each demo directory contains README, source, Makefile, ldscript, gdbinit and Eclipse project files that can be built and run on a specific manufacturer's eval board.

7) The Macraigor JAVA tools in /usr/local/bin require Java 1.6.0 or later. To download the latest version of the Java JRE from the Ubuntu Software Center: 
    - Start up the Ubuntu Software Center app
    - Select : 
    - Get Software 
    - Provided By Ubuntu
    - Open JDK Java <Version> Runtime
       and install it. You can check the : 
    - Installed Software 
    - Provided By Ubuntu
    - Open JDK Java <Version> Runtime 
    list to see if it is has already been installed on your system.
    Once you have installed the latest version of Java (typically in /usr/lib/jvm/java-<Verson>-openjdk/jre/bin/java) you will need to modify the current soft-link so it points to this new version.
     The procedure to do so goes like this:
    which java 

      displays :

        /usr/bin/java (or wherever your java soft-link lives)

     Entering

    ls -la /usr/bin/java

    displays :

        /usr/bin/java -> <soft-link to java>

You need to modify the "which soft-link" to point to your new java. For example if your new java release lives in : /usr/lib/jvm/java-6-openjdk/jre/bin and which displayed :/usr/bin/java you would change the soft-link to

sudo ln -s /usr/lib/jvm/java-6-openjdk/jre/bin/java /usr/bin/java 

GO TO TOP

How Do I Install mcgr-hwsupport-libusb RPM package on my RedHat/FedoraLinux 32 or 64 System and verify the installation was successful?


1) Our USB libraries require that your system have the libusb 1.0 (or later) package installed (it is included in RedHat 6/Fedora 18 and later versions).
    You can get see if this package has been installed on your systems by entering:
       # rpm -q --all  | grep libusb-1.0
    If your Linux system currently does not have this package installed you will need to to install it. To do so on RedHat/Fedora systems: 
      1) Bring up the package manager using the :
    Applications -> Add/Remove Software menu

      2) Click the search tab in the Package Manager and search for the libusb-1.0 package and install it.


2)  Log in as root. You will need to INSTALL and RUN our software as root. cd to the directory which contains your RPM files. Most users download our RPM files to 
    $HOME/Downloads
     If you have a previous version of our RPM installed, first un-install (if needed)

       # rpm -e mcgr-hwsupport-<OldVersionNumber>  (or mcgr-hwsupport-libusb-<OldVersionNumber>

     Now install the new package with

       # rpm -i mcgr-hwsupport-libusb-<NewVersionNumber>.i386.rpm (Linux 32) OR
       # rpm -i mcgr-hwsupport-libusb-<NewVersionNumber>.x86_64.rpm (Linux 64)

     verify installation by 

      # rpm -q --all | grep mcgr

    which will display the following if the rpm completed successfully : 
    mcgr-hwsupport-libusb-<NewVersionNumber> 

3) The following libraries and their soft links should now exist on your system :

/usr/lib/libMacraigorAPI.so -> /usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorAPI.so.1.0
/usr/lib/libMacraigorJtagio.so -> /usr/lib/libMacraigorJtagio.so.3.0
/usr/lib/libMacraigorJtagio.so.3.0
/usr/lib/libmacraigortemplate.so -> /usr/lib/libmacraigortemplate.so.<version>
/usr/lib/libmacraigortemplate.so.<version>

(use # ls -la /usr/lib/lib*[Mm]acraigor*.* to get above list)

 /usr/lib/libjtag_usb2.so -> /usr/lib/libjtag_usb2.so.3.0
 /usr/lib/libjtag_usb2.so.3.0

4) The RPM file should have added the file /ect/udev/rules.d/99-usb2demon.rules to your system. This allows any user to access 
    Macaigor USB devices. 

5) The Macraigor executables are installed in /usr/local/bin

# ls /usr/local/bin 

should display (along with files origionally in /usr/local/bin)

/usr/local/bin/DccTerminal - ARM Debug Communications Terminal
/usr/local/bin/DccTerminal.jar
/usr/local/bin/JTAGScanChainAnalyzer - JTAG scan chain analyzer
/usr/local/bin/JTAGScanChainAnalyzer.jar
/usr/local/bin/OcdCommander - Assembly level debugger
/usr/local/bin/OcdCommander.jar
/usr/local/bin/ocdremote - gdb to JTAG interface program 
/usr/local/bin/UsbDemonFinder - Macraigor Usb Device locator
/usr/local/bin/UsbDemonFinder.jar


6) The Eclipse/gnu tools Demos are installed in /usr/local/macraigor/EclipseDemos. 
The command 

# ls /usr/local/macraigor/EclipseDemos/*/*

will display them. Each demo directory contains README, source, makefile, ldscript, gdbinit and Eclipse project files that can be built and run on a specific manufacturer's eval board.

7) The Macraigor JAVA tools in /usr/local/bin require Java 1.6.0 or later. You can download the latest version of the Java JRE from Sun's web site :

http://www.java.com/en/download/index.jsp 

Once you have downloaded and un-zipped the latest version of Java (typically in /usr/local/java) you will need to modify the current soft-link so it points to this new version. The procedure to do so goes like this :

# which java 

displays :

/usr/bin/java (or wherever your java soft-link lives)

Entering

# ls -la /usr/bin/java

displays :

/usr/bin/java -> <soft-link to java>

You need to modify the "which soft-link" to point to your new java. For example if your new java release lives in : /usr/local/java/jrel1.6.0_07 and which displayed :/usr/bin/java you would change the soft-link to

#ln -s /usr/local/java/jrel1.6.0_07/bin/java /usr/bin/java 

GO TO TOP