Commit Graph

11 Commits

Author SHA1 Message Date
Geoffrey Noer
1211388f13 Mon Aug 25 17:08:01 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c: revert Sun change -- enable log file handling
1997-08-26 00:11:16 +00:00
Geoffrey Noer
e8bd2ae702 Sun Aug 24 21:16:59 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c: comment out sections that create and flush wigglers.log
        log file when using the wiggler.
1997-08-25 04:20:11 +00:00
Geoffrey Noer
61a0d0227a Thu Aug 21 14:56:04 1997 Geoffrey Noer <noer@cygnus.com>
* ppc-bdm.c (bdm_ppc_wait): stop printfing ecr, der
        * ocd.c: initialize remote_timeout
        (ocd_wait): while looping, call ocd_do_command with OCD_AYT
        (ocd_get_packet): remove find_packet goto.  If there isn't
        an 0x55 at the start, something is quite wrong so error out
        instead of advancing in the packet and trying again.  If checksum
        is invalid, print error message instead of trying again.
        * ser-ocd.c (ocd_readchar): error if we attempt to read past
        the end of the from_wiggler_buffer.
1997-08-21 23:10:34 +00:00
Geoffrey Noer
a2c23081d5 Tue Aug 12 14:37:18 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c (ocd_wait): loop until we're in BDM mode instead of
        assuming control has returned to GDB.
1997-08-12 21:38:54 +00:00
Geoffrey Noer
2549d2b385 Mon Aug 11 16:22:36 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): macro
        BDM_BREAKPOINT already has braces around it, remove erroneous ones.
        * ser-ocd.c (ocd_write): conditionalize on _WIN32 instead of
        __CYGWIN32__
        * config/powerpc/tm-ppc-eabi.h: remove BDM_NUM_REGS, BDM_REGMAP
        * ppc-bdm.c: move BDM_NUM_REGS, BDM_REGMAP here from tm.h file,
        fill in doc fields of bdm_ppc_ops.
        (bdm_ppc_fetch_registers): don't ask for invalid registers such
        as the MQ or floating point regs not present on ppc 8xx boards
        (bdm_ppc_store_registers): don't write those same invalid registers
        * config/i386/cygwin32.mh: stop including ocd.o ser-ocd.o
        * config/powerpc/ppc-eabi.mt:
        * config/powerpc/ppcle-eabi.mt:
        * config/powerpc/ppc-sim.mt:
        * config/powerpc/ppcle-sim.mt: include ser-ocd.o
1997-08-11 23:40:26 +00:00
Geoffrey Noer
69f78b0e41 Sun Aug 10 16:49:09 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c: move ocd_write_bytes proto to ocd.h since it is used
        by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
        BDM_BREAKPOINT if not defined in tm.h
        (ocd_error): add new error cases
        (ocd_start_remote): send the OCD_INIT command before
        OCD_AYT and OCD_GET_VERSION calls, 80 was correct speed after all
        (ocd_write_bytes): no longer static
        (ocd_insert_breakpoint): no longer static
        (ocd_remove_breakpoint): new
        * ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
        and ocd_remove_breakpoint
        * ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
        and ocd_remove_breakpoint instead of memory_insert_breakpoint
        and memory_remove_breakpoint.
        (bdm_ppc_open): after calling ocd_open, modify DER
        register so interrupts will drop us into debugging mode, finally
        disable the watchdog timer on the board so we don't leave BDM
        mode unexpectedly.
1997-08-11 02:04:16 +00:00
Geoffrey Noer
160db9b295 Sun Aug 10 16:49:09 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.c: move ocd_write_bytes proto to ocd.h since it is used
        by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
        BDM_BREAKPOINT if not defined in tm.h
        (ocd_error): add new error cases
        (ocd_start_remote): send the OCD_INIT command before
        OCD_AYT and OCD_GET_VERSION calls
        (ocd_write_bytes): no longer static
        (ocd_insert_breakpoint): no longer static
        (ocd_remove_breakpoint): new
        * ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
        and ocd_remove_breakpoint
        * ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
        and ocd_remove_breakpoint instead of memory_insert_breakpoint
        and memory_remove_breakpoint.
        (bdm_ppc_open): after calling ocd_open, modify DER
        register so interrupts will drop us into debugging mode, finally
        disable the watchdog timer on the board so we don't leave BDM
        mode unexpectedly.
1997-08-11 00:01:59 +00:00
Geoffrey Noer
9cf7f520c6 Thu Aug 7 19:40:52 1997 Geoffrey Noer <noer@cygnus.com>
Changes to OCD support to support wiggler box as well as
        target boxes:
        * ocd.c: change speed in init command to 0 from 80,
        add (temporary) logging commands to help debugging,
        (ocd_open): if "target ocd wiggler lpt" then use special
        ser-ocd.c serial interface which communicates with Wigglers.dll,
        otherwise do as we did before
        (ocd_get_packet): add OCD_LOG_FILE and OCD_SET_CONNECTION to
        switch of known commands of len 0
        * ocd.h: add OCD_LOG_FILE
        * serial.c (serial_open): do serial_interface_lookup on ocd
        in the case of ocd
        * ser-ocd.c: add buffer to contain responses from sending a
        command to the Wigglers.dll.
        (ocd_readchar): return curr char from buffer and increment ptr
        (ocd_write): send buffer to Wigglers.dll, storing response in
        return buffer and initializing curr location ptr to start of
        buffer.
1997-08-08 02:57:35 +00:00
Geoffrey Noer
2d38a02f54 Thu Aug 7 13:39:31 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.h: add OCD_SET_CONNECTION
        * ocd.c: rename "do_command" to "ocd_do_command"
1997-08-07 20:49:46 +00:00
Geoffrey Noer
706eff3f9d Thu Aug 7 13:09:17 1997 Geoffrey Noer <noer@cygnus.com>
Nomenclature change.  BDM is a specific type of OCD
        (On chip debugging).  Wiggler is the parallel port box controlled
        by Wigglers.dll.  The faster target box from Macraigor Systems
        is not a wiggler.
        * ocd.c:
        * ocd.h:
        * ppc-bdm.c:
	* ser-ocd.c:
        Replace all instances of "wiggler_" with "ocd_" and change most other
        instances of "wiggler" to "ocd" or "ocd device" depending on context.
        * config/m68k/monitor.mt: remove remote-wiggler.o from TDEPFILES
        until OCD with that target is supported again.
1997-08-07 20:19:26 +00:00
Geoffrey Noer
35ce4f0813 Wed Aug 6 16:15:31 1997 Geoffrey Noer <noer@cygnus.com>
* Makefile.in: add DLLTOOL = @DLLTOOL@, pass on DLLTOOL to
        sub makes, change clean rule to also remove *.a to remove
        libwigglers.a, in dependencies: add ppc-bdm.o ocd.o ser-ocd.o and
        remove remote-wiggler.o
        * configure.in: add DLLTOOL support
        * configure: regenerate
        * wigglers.def: new file for imports for wigglers.dll
        * ser-ocd.c: new file which is layer between ocd.c and either the
        wigglers.dll or the target box, only stub so far
        * config/powerpc/ppc-eabi.mt: add ppc-bdm.o to TDEPFILES
        * config/powerpc/ppc-sim.mt: add ppc-bdm.o to TDEPFILES
        * config/i386/cygwin32.mh: add ocd.o ser-ocd.o libwigglers.a
        to XDEPFILES, add rules to build libwigglers.a

        checking in changes of Stu Grossman  <grossman@cygnus.com>:
        * remote-wiggler.c: delete
        * ocd.c: new, was remote-wiggler.c
        always include sys/types.h, include ocd.h, move WIGGLER
        commands and many wiggler prototypes to ocd.h, make wiggler_desc
        static, stop making local wiggler functions static,
        define write_mem_command for wiggler_write_bytes
        (wiggler_start_remote): stop hardcoding the target type,
        instead set and use a target_type variable.
        (wiggler_open): add new target_type and ops args
        (wiggler_wait): now no longer takes pid and target_status as args,
        stop trying to set target_status struct, remove BGND insn
        checks
        (read_bdm_registers): renamed to wiggler_read_bdm_registers
        (wiggler_read_bdm_registers): numregs arg changed to reglen arg,
        remove pktlen check, set reglen instead of numregs
        (dump_all_bdm_regs): delete
        (wiggler_fetch_registers): delete
        (wiggler_prepare_to_store): now just an empty function
        (wiggler_store_registers): delete
        (wiggler_read_bdm_register): new
        (wiggler_write_bdm_registers): new
        (wiggler_write_bdm_register): new
        (wiggler_write_bytes): use write_mem_command variable instead of
        WIGGLER_WRITE_MEM
        (get_packet): renamed to wiggler_get_packet, change refs throughout
        (put_packet): renamed to wiggler_put_packet, change refs throughout
        (wiggler_get_packet): add break to default case of switch,
        change length of WIGGLER_GET_VERSION len to 10 from 4 to match
        specs
        (wiggler_mourn): unpush_target with current_ops, not &wiggler_ops
        (flash_xfer_memory): delete
        (noop_store_registers): new placeholder replacement for
        target_store_registers() which prevents generic_load from trying to
        set up the PC.
        (bdm_update_flash_command): add store_registers_tmp variable,
        make handling of wiggler_ops more generic -- define wiggler_ops
        in a target-specific file instead (such as ppc-bdm.c in the case
        of the ppc), use current_target to deal with registers again
        making this file less target-specific.
        (bdm_read_register_command): new
        (_initialize_remote_wiggler): stop doing add_target (&wiggler_ops),
        comment out add_cmd ("read-register", ...)
        * ocd.h: new, contains common wiggler prototypes, command definitions
        * ppc-bdm.c: file for ppc-specific OCD code, including target_ops
        structure for ppc bdm
        (bdm_ppc_open): new
        (bdm_ppc_wait): new
        (bdm_ppc_fetch_registers): new
        (bdm_ppc_store_registers_: new
        (_initialize_bdm_ppc): new
	* config/powerpc/tm-ppc-eabi.h: add necessary CPU32 BDM defines
1997-08-07 06:31:46 +00:00