Compare commits

..

12 Commits

Author SHA1 Message Date
David Brownell
56e74908d1 Label builds as OpenOCD v0.4.0
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-21 12:20:13 -08:00
David Brownell
4aa0a4d811 User's Guide mentions OS-specific installation
Specifically the Linux issue of needing "udev" rules, and MS-Windows
needing driver configuration.

Also, update the existing udev note to use the correct name of that
rules file in the source tree.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-21 09:29:24 -08:00
David Brownell
bb4cb7935e arm920t line length cleanup
The recent patch to fixbreakpoints and dcache handling added
a bunch of overlong lines (80+ chars) ... shrink them, and do
the same to a few lines which were already overlong.

Also add a few FIXME comments to nudge (a) replacement of some
magic numbers with opcode macros, which will be much better at
showing what's actually going on, and (b) correct return codes.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-20 20:47:38 -08:00
David Brownell
57d5673dea CSB337 board cleanup (quasi-regression)
Get rid of new nasty warning:

NOTE! Severe performance degradation without fast memory access enabled...

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-20 20:47:38 -08:00
David Brownell
d2a2c14d20 FreeBSD buildfix
Fix an unused variable warning seen when building the parport driver
under FreeBSD.

Using information from Xiaofan Chen <xiaofanc@gmail.com>

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-20 11:11:43 -08:00
Marc Pignat
3f30563c88 atm920t : fix breakpoints and data cache handling
Breakpoints did not work because the data cache was not flushed
properly.

As a bonus add capability to write to memory marked as read only
by the MMU, which allows software breakpoints in such memory
regions.
2010-02-19 08:18:12 +01:00
David Brownell
aa8db989b9 ARM920T scanchain 15 comments/cleanup
For folk who don't know the ARM920 JTAG interface very well, the
two modes of scan chain 15 access to CP15 are confusing.

Make those parts of the ARM920 code less opaque, by:

 - Adding comments referencing the relevant parts of the TRM,
   catching up to similar updates in the User's Guide.

 - Replacing magic numbers in physical access clients with
   symbolic equivalents.

No functional change.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-16 18:50:16 -08:00
Øyvind Harboe
fa1cfc2d4d gpl: fix GPL startup message
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-02-15 22:59:41 +01:00
David Brownell
5869992314 LPC1768.cfg -- partial fixes for bogus reset-init handler
Cortex-M targets don't support ARM instructions.

Leave the NVIC.VTOR setup alone, but comment how the whole
routine looks like one big bug...

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-15 13:39:16 -08:00
Mathias Kuester
52d4ba3467 fix crash with DSP563XX
When a DSP563xx-aware GDB asks OpenOCD for target registers,
the result should be a GDB with register data ... not an
OpenOCD crash.

(Note that mainline GDB doesn't currently support this core,
so for now, this requires a GDB with FreeScale patches.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-14 12:59:10 -08:00
David Brownell
a2ce3a51df NEWS: mention removal of obsolete commands
Removed remaining support for various commands, like advice for
migrating old-style TAP declarations.

The documentation no longer describes them either ... so if users have
been delaying config updates, they may need to consult older releases.

ALL this stuff has been clearly marked as "do not use" for at least a
year now, so anyone still using it hasn't been holding up their end.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-13 20:14:49 -08:00
David Brownell
4c4ec09110 Restore "-dev" version suffix (0.4.0-rc2-dev)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-13 15:28:05 -08:00
11 changed files with 488 additions and 167 deletions

2
NEWS
View File

@@ -11,6 +11,8 @@ Boundary Scan:
Target Layer: Target Layer:
General General
- Removed commands which have been obsolete for at least
a year (from both documentation and, sometimes, code).
- new "reset-assert" event, for systems without SRST - new "reset-assert" event, for systems without SRST
ARM ARM
- supports "reset-assert" event (except on Cortex-M3) - supports "reset-assert" event (except on Cortex-M3)

4
README
View File

@@ -64,8 +64,8 @@ you can build the in-tree documentation.
Installing OpenOCD Installing OpenOCD
================== ==================
On Linux, you may have permissions problems to address. The best On Linux, you may have permissions problems to address. The best way
way to do this is to use the contrib/udev.rules file. It probably to do this is to use the contrib/openocd.udev rules file. It probably
belongs somewhere in /etc/udev/rules.d, but consult your operating belongs somewhere in /etc/udev/rules.d, but consult your operating
system documentation to be sure. In particular, make sure that it system documentation to be sure. In particular, make sure that it
matches the syntax used by your operating system's version of udev. matches the syntax used by your operating system's version of udev.

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.60) AC_PREREQ(2.60)
AC_INIT([openocd], [0.4.0-rc2], AC_INIT([openocd], [0.4.0],
[OpenOCD Mailing List <openocd-development@lists.berlios.de>]) [OpenOCD Mailing List <openocd-development@lists.berlios.de>])
AC_CONFIG_SRCDIR([src/openocd.c]) AC_CONFIG_SRCDIR([src/openocd.c])

View File

@@ -506,6 +506,14 @@ as Tcl scripts, from a @file{startup.tcl} file internal to the server.
@cindex logfile @cindex logfile
@cindex directory search @cindex directory search
Properly installing OpenOCD sets up your operating system to grant it access
to the JTAG adapters. On Linux, this usually involves installing a file
in @file{/etc/udev/rules.d,} so OpenOCD has permissions. MS-Windows needs
complex and confusing driver configuration for every peripheral. Such issues
are unique to each operating system, and are not detailed in this User's Guide.
Then later you will invoke the OpenOCD server, with various options to
tell it how each debug session should work.
The @option{--help} option shows: The @option{--help} option shows:
@verbatim @verbatim
bash$ openocd --help bash$ openocd --help
@@ -1984,6 +1992,10 @@ MMU: disabled, D-Cache: disabled, I-Cache: enabled
@cindex config file, interface @cindex config file, interface
@cindex interface config file @cindex interface config file
Correctly installing OpenOCD includes making your operating system give
OpenOCD access to JTAG adapters. Once that has been done, Tcl commands
are used to select which one is used, and to configure how it is used.
JTAG Adapters/Interfaces/Dongles are normally configured JTAG Adapters/Interfaces/Dongles are normally configured
through commands in an interface configuration through commands in an interface configuration
file which is sourced by your @file{openocd.cfg} file, or file which is sourced by your @file{openocd.cfg} file, or

View File

@@ -190,7 +190,7 @@ int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[])
if (help_flag) if (help_flag)
{ {
LOG_OUTPUT("Open On-Chip Debugger\n(c) 2005-2008 by Dominic Rath\n\n"); LOG_OUTPUT("Open On-Chip Debugger\nLicensed under GNU GPL v2\n");
LOG_OUTPUT("--help | -h\tdisplay this help\n"); LOG_OUTPUT("--help | -h\tdisplay this help\n");
LOG_OUTPUT("--version | -v\tdisplay OpenOCD version\n"); LOG_OUTPUT("--version | -v\tdisplay OpenOCD version\n");
LOG_OUTPUT("--file | -f\tuse configuration file <name>\n"); LOG_OUTPUT("--file | -f\tuse configuration file <name>\n");

View File

@@ -265,7 +265,6 @@ static int parport_init(void)
struct cable *cur_cable; struct cable *cur_cable;
#if PARPORT_USE_PPDEV == 1 #if PARPORT_USE_PPDEV == 1
char buffer[256]; char buffer[256];
int i = 0;
#endif #endif
cur_cable = cables; cur_cable = cables;
@@ -323,7 +322,8 @@ static int parport_init(void)
LOG_DEBUG("...open"); LOG_DEBUG("...open");
#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) #if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
i = ioctl(device_handle, PPCLAIM); int i = ioctl(device_handle, PPCLAIM);
if (i < 0) if (i < 0)
{ {
LOG_ERROR("cannot claim device"); LOG_ERROR("cannot claim device");

View File

@@ -228,7 +228,8 @@ struct command_context *setup_command_handler(Jim_Interp *interp)
} }
LOG_DEBUG("command registration: complete"); LOG_DEBUG("command registration: complete");
LOG_OUTPUT(OPENOCD_VERSION "\n"); LOG_OUTPUT(OPENOCD_VERSION "\n"
"Licensed under GNU GPL v2\n");
global_cmd_ctx = cmd_ctx; global_cmd_ctx = cmd_ctx;

File diff suppressed because it is too large Load Diff

View File

@@ -246,6 +246,29 @@ static const struct
/* *INDENT-ON* */ /* *INDENT-ON* */
}; };
static int dsp563xx_get_gdb_reg_list(struct target *target, struct reg **reg_list[],
int *reg_list_size)
{
struct dsp563xx_common *dsp563xx = target_to_dsp563xx(target);
int i;
if (target->state != TARGET_HALTED)
{
return ERROR_TARGET_NOT_HALTED;
}
*reg_list_size = DSP563XX_NUMCOREREGS;
*reg_list = malloc(sizeof(struct reg *) * (*reg_list_size));
for (i = 0; i < DSP563XX_NUMCOREREGS; i++)
{
(*reg_list)[i] = &dsp563xx->core_cache->reg_list[i];
}
return ERROR_OK;
}
int dsp563xx_read_core_reg(struct target *target, int num) int dsp563xx_read_core_reg(struct target *target, int num)
{ {
uint32_t reg_value; uint32_t reg_value;
@@ -974,6 +997,8 @@ struct target_type dsp563xx_target = {
.target_request_data = NULL, .target_request_data = NULL,
.get_gdb_reg_list = dsp563xx_get_gdb_reg_list,
.halt = dsp563xx_halt, .halt = dsp563xx_halt,
.resume = dsp563xx_resume, .resume = dsp563xx_resume,
.step = dsp563xx_step, .step = dsp563xx_step,

View File

@@ -113,3 +113,5 @@ proc csb337_reset_init { } {
} }
$_TARGETNAME configure -event reset-init {csb337_reset_init} $_TARGETNAME configure -event reset-init {csb337_reset_init}
arm7_9 fast_memory_access enable

View File

@@ -33,11 +33,11 @@ target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNA
# LPC1768 has 32kB of SRAM on its main system bus (so-called Local On-Chip SRAM) # LPC1768 has 32kB of SRAM on its main system bus (so-called Local On-Chip SRAM)
$_TARGETNAME configure -work-area-phys 0x10000000 -work-area-size 0x8000 -work-area-backup 0 $_TARGETNAME configure -work-area-phys 0x10000000 -work-area-size 0x8000 -work-area-backup 0
# REVISIT is there any good reason to have this reset-init event handler??
# Normally they should set up (board-specific) clocking then probe the flash...
$_TARGETNAME configure -event reset-init { $_TARGETNAME configure -event reset-init {
# Force target into ARM state # Force NVIC.VTOR to point to flash at 0 ...
arm core_state arm # WHY? This is it's reset value; we run right after reset!!
#do not remap 0x0000-0x0020 to anything but the flash
# mwb 0xE01FC040 0x01
mwb 0xE000ED08 0x00 mwb 0xE000ED08 0x00
} }