diff options
| author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-03-26 21:47:26 +0000 | 
|---|---|---|
| committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-03-26 21:47:26 +0000 | 
| commit | 5ed126c4f90948fbf53d186dc4ef49018fb5ecfc (patch) | |
| tree | 40a1444d10e0413a202440b595b3a707df22a513 /src/target/etb.h | |
| parent | 9b13ffe4e2edc1eabdf52c2d117396b1b21de968 (diff) | |
| download | openocd_libswd-5ed126c4f90948fbf53d186dc4ef49018fb5ecfc.tar.gz openocd_libswd-5ed126c4f90948fbf53d186dc4ef49018fb5ecfc.tar.bz2 openocd_libswd-5ed126c4f90948fbf53d186dc4ef49018fb5ecfc.tar.xz openocd_libswd-5ed126c4f90948fbf53d186dc4ef49018fb5ecfc.zip | |
- fixed arm926 cp15 command bug (thanks to Vincent Palatin for this patch)
- fixed compiler warnings throughout the code (thanks to Vincent Palatin for this patch)
- added support for accessing ETB (embedded trace buffer) registers
git-svn-id: svn://svn.berlios.de/openocd/trunk@134 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/etb.h')
| -rw-r--r-- | src/target/etb.h | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/src/target/etb.h b/src/target/etb.h new file mode 100644 index 00000000..55b7857b --- /dev/null +++ b/src/target/etb.h @@ -0,0 +1,62 @@ +/***************************************************************************
 + *   Copyright (C) 2007 by Dominic Rath                                    *
 + *   Dominic.Rath@gmx.de                                                   *
 + *                                                                         *
 + *   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.             *
 + ***************************************************************************/
 +#ifndef ETB_H
 +#define ETB_H
 +
 +#include "target.h"
 +#include "register.h"
 +#include "arm_jtag.h"
 +
 +/* ETB registers */
 +enum
 +{
 +    ETB_ID = 0x00,
 +    ETB_RAM_DEPTH = 0x01,
 +    ETB_RAM_WIDTH = 0x02,
 +    ETB_STATUS = 0x03,
 +    ETB_RAM_DATA = 0x04,
 +    ETB_RAM_READ_POINTER = 0x05,
 +    ETB_RAM_WRITE_POINTER = 0x06,
 +    ETB_TRIGGER_COUNTER = 0x07,
 +    ETB_CTRL = 0x08,
 +};
 +
 +typedef struct etb_s
 +{
 +	int chain_pos;
 +	int cur_scan_chain;
 +	reg_cache_t *reg_cache;
 +} etb_t;
 +
 +typedef struct etb_reg_s
 +{
 +	int addr;
 +	etb_t *etb;
 +} etb_reg_t;
 +
 +extern reg_cache_t* etb_build_reg_cache(etb_t *etb);
 +extern int etb_read_reg(reg_t *reg);
 +extern int etb_write_reg(reg_t *reg, u32 value);
 +extern int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask);
 +extern int etb_store_reg(reg_t *reg);
 +extern int etb_set_reg(reg_t *reg, u32 value);
 +extern int etb_set_reg_w_exec(reg_t *reg, u8 *buf);
 +
 +#endif /* ETB_H */
 | 
