TARGET DE2-70: Add pushbuttons and a some VSYNC support
[yari.git] / gdbstub / README
blobf7fcef5f4476b81ad55859c10284aff27e4548d1
1 NOTE: Running this code on your PalmPC or HandheldPC may cause it to lose
2 data.  No warranty of any sort is provided.  Proceed at your own risk.
3 That being said, pressing the reset button will usually return the device
4 into WinCE as it normally does.  This being (part of) a debugger, though,
5 it is very possible to corrupt sections of WinCE user data.  No safeguards
6 are taken against that in the code.  You've been warned (twice).
8 The following files were taken from the Linux-MIPS kernel source:
10 gdb-stub.c              Slightly modified to remove some include files
11 gdb-low.S               Part of the exception handler
12 ld.script.little        Link script for the kernel
14 The other source files are:
16 entry.S                 Entry point
17 gdb-support.c           Low-level serial IO routines
18 kernmisc.c              Some more stuff from the kernel that gdb-stub.c
19                         depends on
21 There are two versions of gdb-support.c. gdb-supoort.c.clio is specific
22 to the Vadem Clio.  gdb-support.c.freestyle is specific to the Everex
23 Freestyle, but should work on any VR4102 or higher based WinCE device
24 that doesn't have additional power management features on the serial port
25 beyond what is built into the CPU.  Rename the appropriate file to
26 gdb-support.c before running make.
28 Most of the include files are from the Linux kernel include dir, make
29 sure your cross-developement environment is set up to find them correctly.
30 This is usually done by making symbolic links to the linux and asm-mips
31 (link as asm) directories in a directory that is in the include path.
33 The Makefile assumes you have the mipsel cross-development tools
34 somewhere in path.  Note that these files must be compiled without
35 optimization (which the Makefile does) to insure the peripheral register
36 writes go in the correct order.  The code could have been modified to
37 make it optimization-safe (for example, all the registers should be cast
38 as volatile), but that would make it less clear.
40 Exceptions are not currently implemented, despite the presence of the part
41 in gdb-low.S.  The code in gdb-stub.c really wants to run as part of the
42 kernel, so I decided not to worry about exception handling until the Linux
43 CE kernel is in actual existence.  As a result of this, breakpoints are
44 not handled.  They can be set, but they will probably just cause a lock-up.
46 By the way, if you take a look at the code, I'm sure you'll realize what
47 an utter hack-job it is.  I don't want to hear it.  This is really only a
48 stopgap effort until the kernel is working, at which point gdb-stub.c
49 should be a lot happier.
52 Mike Klar
53 wyldfier@iname.com