5c8ba01776
S-record download code into srec.c. * srec.c srec.h: New files. Contain S-record loading routines formerly in monitor.c. * serial.c serial.h: New routine just like fprintf, but uses serial_t instead of FILE *. * sh-tdep.c (frame_find_saved_regs init_extra_frame_info): Don't add four to saved pc (makes things match manual). Also, fix bug where we didn't get pc from stack frame correctly. * config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to saved pc. Real hardware does this for you. * sh3-rom.c (sh3_load): New routine. Sets up for download then calls generic S-record loader. * config/h8300/h8300.mt, config/h8500/h8500.mt, config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt: Add srec.o to TDEPFILES.
36 lines
1.3 KiB
C
36 lines
1.3 KiB
C
/* S-record download support for GDB, the GNU debugger.
|
|
Copyright 1995 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|
|
|
void load_srec PARAMS ((serial_t desc, const char *file, int maxrecsize,
|
|
int flags, int hashmark));
|
|
|
|
/* S-record capability flags */
|
|
|
|
/* Which record types are supported */
|
|
#define SREC_2_BYTE_ADDR 0x00000001
|
|
#define SREC_3_BYTE_ADDR 0x00000002
|
|
#define SREC_4_BYTE_ADDR 0x00000004
|
|
#define SREC_TERM_SHIFT 3
|
|
|
|
#define SREC_ALL (SREC_2_BYTE_ADDR | SREC_3_BYTE_ADDR | SREC_4_BYTE_ADDR \
|
|
| ((SREC_2_BYTE_ADDR | SREC_3_BYTE_ADDR | SREC_4_BYTE_ADDR) \
|
|
<< SREC_TERM_SHIFT))
|
|
|
|
#define SREC_BINARY 0x00000040 /* Supports binary form of S-records */
|