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?
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
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
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
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
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:
- Choose Installation Type: Select Install From Internet
- Choose Installation Directory: Specify: Root Directory : "c:\cygwin", Install For : All Users, Default Text File Type: unix/binary
- Select Local Package Directory" : Specify : "c:\"
- Select Connection Type : Specify your ethernet connection type
- Choose download sites : Select a download site
- 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:
- "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"
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
- 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"
- In the popup dialog select the Open button. This will automatically download and install gnutools-<cpu type>-elf-<version>.exe on your your PC.
- 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.
- 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
To install OcdRemote, the example Eclipse/gdb Projects and the Macraigor drivers on your Windows systems do the following :
- 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.
- 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"
- In the popup dialog select the Open button. This will automatically download and install mcgr-hwsupport-<version>.exe
- 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
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
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
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
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
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
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
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
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
|