CPLD JTAG GPIO
This commit is contained in:
@ -234,6 +234,7 @@ extern "C"
|
||||
#define BOOT2_STATE GPIO_STATE(GPIO5, PIN_BOOT2)
|
||||
#define BOOT3_STATE GPIO_STATE(GPIO1, PIN_BOOT3)
|
||||
#define MIXER_SDATA_STATE GPIO_STATE(PORT_MIXER_SDATA, PIN_MIXER_SDATA)
|
||||
#define CPLD_TDO_STATE GPIO_STATE(PORT_CPLD_TDO, PIN_CPLD_TDO)
|
||||
|
||||
/* TODO add other Pins */
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
The code in this directory is taken from:
|
||||
The code in this directory was originally is taken from:
|
||||
http://www.xilinx.com/support/documentation/application_notes/xapp058.zip
|
||||
(v.5.01)
|
||||
|
||||
@ -8,3 +8,5 @@ what you want, no warranty. (BSD I guess...)"
|
||||
|
||||
Refer to XAPP058 for more information:
|
||||
http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf
|
||||
|
||||
This software has been modified for HackRF.
|
||||
|
@ -12,11 +12,13 @@
|
||||
#include "ports.h"
|
||||
/*#include "prgispx.h"*/
|
||||
|
||||
#include "stdio.h"
|
||||
//#include "stdio.h"
|
||||
#include "hackrf_core.h"
|
||||
|
||||
extern FILE *in;
|
||||
static int g_iTCK = 0; /* For xapp058_example .exe */
|
||||
static int g_iTMS = 0; /* For xapp058_example .exe */
|
||||
static int g_iTDI = 0; /* For xapp058_example .exe */
|
||||
//static int g_iTCK = 0; /* For xapp058_example .exe */
|
||||
//static int g_iTMS = 0; /* For xapp058_example .exe */
|
||||
//static int g_iTDI = 0; /* For xapp058_example .exe */
|
||||
|
||||
#ifdef WIN95PP
|
||||
#include "conio.h"
|
||||
@ -95,6 +97,7 @@ void setPort(short p,short val)
|
||||
/* Printing code for the xapp058_example.exe. You must set the specified
|
||||
JTAG signal (p) to the new value (v). See the above, old Win95 code
|
||||
as an implementation example. */
|
||||
/*
|
||||
if (p==TMS)
|
||||
g_iTMS = val;
|
||||
if (p==TDI)
|
||||
@ -103,6 +106,25 @@ void setPort(short p,short val)
|
||||
g_iTCK = val;
|
||||
printf( "TCK = %d; TMS = %d; TDI = %d\n", g_iTCK, g_iTMS, g_iTDI );
|
||||
}
|
||||
*/
|
||||
if (p==TMS)
|
||||
if (val)
|
||||
gpio_set(PORT_CPLD_TMS, PIN_CPLD_TMS);
|
||||
else
|
||||
gpio_clear(PORT_CPLD_TMS, PIN_CPLD_TMS);
|
||||
if (p==TDI)
|
||||
if (val)
|
||||
gpio_set(PORT_CPLD_TDI, PIN_CPLD_TDI);
|
||||
else
|
||||
gpio_clear(PORT_CPLD_TDI, PIN_CPLD_TDI);
|
||||
if (p==TCK)
|
||||
if (val)
|
||||
gpio_set(PORT_CPLD_TCK, PIN_CPLD_TCK);
|
||||
else
|
||||
gpio_clear(PORT_CPLD_TCK, PIN_CPLD_TCK);
|
||||
|
||||
/* conservative delay */
|
||||
delay(20000);
|
||||
}
|
||||
|
||||
|
||||
@ -139,7 +161,10 @@ unsigned char readTDOBit()
|
||||
}
|
||||
#endif
|
||||
/* You must return the current value of the JTAG TDO signal. */
|
||||
return( (unsigned char) 0 );
|
||||
//return( (unsigned char) 0 );
|
||||
|
||||
delay(2000);
|
||||
return CPLD_TDO_STATE;
|
||||
}
|
||||
|
||||
/* waitTime: Implement as follows: */
|
||||
|
Reference in New Issue
Block a user