@itemize @bullet
@item @b{usbjtag}
-@* Link Unknown [not easily verified]
+@* Link @url{www.ixo.de/info/usb_jtag}
@item @b{jtagkey}
@* See: @url{http://www.amontec.com/jtagkey.shtml}
@item @b{oocdlink}
@item @b{comstick}
@* Link: @url{http://www.hitex.com/index.php?id=383}
@item @b{stm32stick}
-@* Link Unknown [not easily verified]
+@* Link @url{http://www.hitex.com/stm32-stick}
+@item @b{axm0432_jtag}
+@* Axiom AXM-0432 Link @url{http://www.axman.com}
@end itemize
@section USB JLINK based
@* Unknown.
@item @b{Lattice}
-@* From Lattice Semiconductor [link unknown]
+@* ispDownload from Lattice Semiconductor @url{http://www.latticesemi.com/lit/docs/devtools/dlcable.pdf}
@item @b{flashlink}
@* From ST Microsystems, link:
void stm32stick_reset(int trst, int srst);
void axm0432_jtag_reset(int trst, int srst);
-
/* blink procedures for layouts that support a blinking led */
void olimex_jtag_blink(void);
void turtle_jtag_blink(void);
LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction);
}
-
void axm0432_jtag_reset(int trst, int srst)
{
if (trst == 1)
high_output |= nTRST;
}
- if (srst == 1)
- {
- high_output &= ~nSRST;
- }
- else if (srst == 0)
- {
- high_output |= nSRST;
- }
-
- /* command "set data bits low byte" */
- BUFFER_ADD = 0x82;
- BUFFER_ADD = high_output;
- BUFFER_ADD = high_direction;
- LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction);
-}
-
-
+ if (srst == 1)
+ {
+ high_output &= ~nSRST;
+ }
+ else if (srst == 0)
+ {
+ high_output |= nSRST;
+ }
+ /* command "set data bits low byte" */
+ BUFFER_ADD = 0x82;
+ BUFFER_ADD = high_output;
+ BUFFER_ADD = high_direction;
+ LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction);
+}
void flyswatter_reset(int trst, int srst)
{
char *openex_string = NULL;
u8 latency_timer;
- LOG_DEBUG("'ft2232' interface using FTD2XX with '%s' layout (%4.4x:%4.4x)",
- ft2232_layout, vid, pid);
+ LOG_DEBUG("'ft2232' interface using FTD2XX with '%s' layout (%4.4x:%4.4x)",ft2232_layout, vid, pid);
#if IS_WIN32 == 0
/* Add non-standard Vid/Pid to the linux driver */
if ((status = FT_SetVIDPID(vid, pid)) != FT_OK)
{
- LOG_WARNING("couldn't add %4.4x:%4.4x",
- vid, pid);
+ LOG_WARNING("couldn't add %4.4x:%4.4x", vid, pid);
}
#endif
DWORD num_devices;
if (more) {
- LOG_WARNING("unable to open ftdi device (trying more): %lu",
- status);
+ LOG_WARNING("unable to open ftdi device (trying more): %lu", status);
*try_more = 1;
return ERROR_JTAG_INIT_FAILED;
}
return ERROR_OK;
}
-
int axm0432_jtag_init(void)
{
u8 buf[3];
- u8 buf_read[1];
u32 bytes_written;
- u32 bytes_read;
low_output = 0x08;
low_direction = 0x2b;
return ERROR_JTAG_INIT_FAILED;
}
-
if (strcmp(layout->name, "axm0432_jtag") == 0)
{
nTRST = 0x08;
high_output = 0x0;
high_direction = 0x0c;
- if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
+ if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
{
- LOG_ERROR("can't set nTRSTOE to push-pull on the Dicarlo jtag");
- }
+ LOG_ERROR("can't set nTRSTOE to push-pull on the Dicarlo jtag");
+ }
else
{
high_output |= nTRST;
}
- if (jtag_reset_config & RESET_SRST_PUSH_PULL)
+ if (jtag_reset_config & RESET_SRST_PUSH_PULL)
{
LOG_ERROR("can't set nSRST to push-pull on the Dicarlo jtag");
}
return ERROR_OK;
}
-
-
-
int jtagkey_init(void)
{
u8 buf[3];
}
nSRST = 0x40;
-
+
high_output = 0x00;
high_direction = 0x0C;
nTRSTnOE = 0x00; /* no output enable for nTRST */
nSRST = 0x02;
nSRSTnOE = 0x00; /* no output enable for nSRST */
-
+
high_output = 0x03;
high_direction = 0x03;
nTRSTnOE = 0x00; /* no output enable for nTRST */
nSRST = 0x80;
nSRSTnOE = 0x00; /* no output enable for nSRST */
-
+
high_output = 0x01;
high_direction = 0x03;