Home » Source Code » » jelie-1.3-_-ezusb_jtag.h - linux下的jtag调试软件--JTAG debugg
Click here to see more ▼
Click here to hide ▲


    Sponsored links


			/*
 * This file is part of Jelie,
 * (c) 2002 Julien Pilet <julien.pilet@epfl.ch> and
 * Stephane Magnenat <stephane.magnenat@epfl.ch>
 *
 * Jelie 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.
 *
 * Jelie 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 Foobar; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

/*! \file
 *
 * This is the definition of the JTAG controller
 *
 * \author Julien Pilet <julien.pilet@epfl.ch>
 * \author Stephane Magnenat <stephane.magnenat@epfl.ch>
 */

#ifndef __EZUSB_JTAG_H
#define __EZUSB_JTAG_H

#include "ezusb_loader.h"
#include "jtag.h"

//! The implementation of JTAG Control for EzUSB
/*! This class inherits from JTAGControl as it's
	purprose is to implement a JTAG interface.
	It also inherits from EzUSB so all program upload
	facilities are already here. */
class EzUSBJTAG: public EzUSB, public JTAGControl
{
protected:
	//! Method used internally to send and receive a buffer
	void writeAndReadBuffer(unsigned char *buffer, int toWrite, int toRead, unsigned long delay=0);

	//! interneal queu for message queuing
	unsigned char queue[64];

	//! internal position in queu
	int queuePos;

public:
	//! The constructor, call EzUSB's one with empty file name and install signal handlers
	EzUSBJTAG();

	//! The destructor, remove signal handlers
	virtual ~EzUSBJTAG();

	//! Initialize the link with the connection device.
	// \return true on success, false on error.
	virtual bool init(int argc, char **argv);

	//! Read and write the jtag instruction register.
	virtual void ireg(unsigned char *data);

	//! Read and write the jtag data register.
	//
	// \param data a pointer to a buffer which will be exchanged with the
	// JTAG data register.
	// \param length number of bits to read/write.
	virtual void dreg(unsigned char *data, unsigned char length, bool writeOnly=false);

	//! Put the JTAG in run test/idle mode
	virtual void jtagReset(void);

	//! Assert or deassert the cpu reset line.
	virtual void cpuReset(bool state);

	//! Assert or deassert the TRST (the JTAG Reset line)
	virtual void trst(bool state);

	//! Idle for some TCKs in the run test/idle state.
	virtual void idle(unsigned int nbTCK);

	//! Flush the jtag write only command queue
	virtual void flushQueue(void);

	virtual const char *getName(void) const { return "ezusb"; }
};

#endif
			Click here to download
Expand> <Close


File list

NameSizeDate
 <>0.00 B2003-11-03 08:43
 Makefile.in24.05 kB2003-11-03 08:37
 configure200.74 kB2003-11-03 08:37
 AUTHORS169.00 B2003-11-03 07:31
 COPYING17.57 kB2003-10-09 23:27
 INSTALL9.02 kB2003-10-09 23:27
 Makefile.am757.00 B2003-11-03 07:31
 acinclude.m45.87 kB2003-11-03 08:29
 aclocal.m437.16 kB2003-11-03 08:37
 config.h.in3.90 kB2003-11-03 08:43
 configure.in4.66 kB2003-11-03 08:37
 depcomp13.54 kB2003-10-09 23:27
 install-sh6.96 kB2003-10-09 23:27
 missing10.03 kB2003-10-09 23:27
 mkinstalldirs1.94 kB2003-10-09 23:27
 cmdline.cpp15.69 kB2003-11-03 07:31
 cmdline.h10.38 kB2003-11-03 07:31
 debug.cpp1.79 kB2003-11-03 07:31
 debug.h1.63 kB2003-11-03 07:31
 filemanager.cpp8.61 kB2003-11-03 07:31
 filemanager.h2.73 kB2003-11-03 07:31
 gdbremote.cpp11.69 kB2003-11-03 07:31
 gdbremote.h3.00 kB2003-11-03 07:31
 jtag.h2.97 kB2003-11-03 07:31
 jtag_order.h1.21 kB2003-11-03 07:31
 jtagctrl_factory.cpp2.87 kB2003-11-03 07:31
 jtagctrl_factory.h1.76 kB2003-11-03 07:31
 jtagpxa250.cpp16.63 kB2003-11-03 07:31
 jtagpxa250.h7.16 kB2003-11-03 07:31
 main.cpp6.93 kB2003-11-03 07:31
 tcp.c6.31 kB2003-11-03 07:31
 tcp.h1.88 kB2003-11-03 07:31
 step.h47.00 B2003-11-03 07:31
 step.cpp8.65 kB2003-11-03 07:31
 pp_jtag.cpp6.00 kB2003-11-03 07:31
 pp_jtag.h1.89 kB2003-11-03 07:31
 ezusb_jtag.h2.77 kB2003-11-03 07:31
 ezusb_loader.cpp11.60 kB2003-11-03 07:31
 ezusb_loader.h2.88 kB2003-11-03 07:31
 ezusb_jtag.cpp5.16 kB2003-11-03 07:31
 jtag_usb.ihx5.66 kB2003-11-03 07:31
 jtag_usb.c9.74 kB2003-11-03 07:31
 ezusb.h22.60 kB2003-11-03 07:31
 bootstrap85.00 B2003-11-03 07:41
 LICENSE14.78 kB2003-11-03 07:31
 <>0.00 B2003-11-03 08:43
 Makefile.in11.01 kB2003-11-03 08:37
 Makefile.am654.00 B2003-11-03 07:51
 basic_gpio_init.S4.68 kB2003-11-03 07:31
 debug_handler.S8.04 kB2003-11-03 07:31
 jtag_com.S1.57 kB2003-11-03 07:31
 serial.S3.15 kB2003-11-03 07:31
 high_vectors.S1.36 kB2003-11-03 07:31
 led.S1.40 kB2003-11-03 07:31
 loadreg.S1.11 kB2003-11-03 07:31
 pxa250regs.S23.74 kB2003-11-03 07:31
 target_to_host.h1.59 kB2003-11-03 07:31
 korebot-conf.S4.26 kB2003-11-03 08:36
 armonie-conf.S3.17 kB2003-11-03 07:31
 debug_handler.bin1.77 kB2003-11-03 08:36
 <>0.00 B2003-11-03 08:43
 Makefile.in6.84 kB2003-11-03 08:37
 Makefile.am41.00 B2003-11-03 07:31
 little_endian.fig1.86 kB2003-11-03 07:31
 manuel.lyx35.02 kB2003-11-03 07:31
 <>0.00 B2003-11-03 08:43
 Makefile.in11.45 kB2003-11-03 08:37
 Makefile.am483.00 B2003-11-03 07:31
 fcs.S1.32 kB2003-11-03 07:31
 turbo.S1.29 kB2003-11-03 07:31
 fcs.bin80.00 B2003-11-03 08:34
 turbo.bin80.00 B2003-11-03 08:34
 chspeed205.00 B2003-11-03 07:31
 loadlinux503.00 B2003-11-03 07:31
 loadlinux_turbo503.00 B2003-11-03 07:31
 goturbo207.00 B2003-11-03 07:31
 <>0.00 B2003-11-03 08:43
 Makefile.in12.30 kB2003-11-03 08:37
 Makefile.am601.00 B2003-11-03 07:31
 bm.S243.00 B2003-11-03 07:31
 flash.c5.48 kB2003-11-03 07:31
 serial.c3.13 kB2003-11-03 07:31
 serial.h118.00 B2003-11-03 07:31
 flash.bin37.20 kB2003-11-03 08:34
 enp.lnj807.00 B2003-11-03 08:34
 enp.j820.00 B2003-11-03 07:31
 flashid57.00 B2003-11-03 07:31
...
    Sponsored links

Related source codes

×

Login CodeForge

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com
×

Sorry, you don't have enough CF coins! ^_^|||

Fast channel (Get CF coins immediately):

10 CF coins (points) for $10.00 USD
22 CF coins (points) for20.00USD
55 CF coins (points) for50.00USD
120 CF coins (points) for100.00USD
Free channel :

Submit your source codes
You could get 1-10 CF coins
More……