Commit Graph

5 Commits

Author SHA1 Message Date
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
b622687f77 Thu Aug 7 13:39:31 1997 Geoffrey Noer <noer@cygnus.com>
* ocd.h: add OCD_SET_CONNECTION
1997-08-07 20:40:18 +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