Zach Welch <zw@superlucidity.net> use static keyword in jtag layer and drivers

git-svn-id: svn://svn.berlios.de/openocd/trunk@1479 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2009-04-21 05:29:23 +00:00
parent 81f9e0a0bc
commit d2d75efb39
15 changed files with 544 additions and 529 deletions

View File

@ -56,7 +56,7 @@
#include "log.h"
/* configuration */
u16 amt_jtagaccel_port;
static u16 amt_jtagaccel_port;
/* interface variables
*/
@ -68,27 +68,32 @@ static int rtck_enabled = 0;
#if PARPORT_USE_PPDEV == 1
static int device_handle;
int addr_mode = IEEE1284_MODE_EPP | IEEE1284_ADDR ;
int data_mode = IEEE1284_MODE_EPP | IEEE1284_DATA ;
static int addr_mode = IEEE1284_MODE_EPP | IEEE1284_ADDR ;
#define AMT_AW(val) do { ioctl(device_handle, PPSETMODE, &addr_mode); write(device_handle, &val, 1); } while (0)
#define AMT_AR(val) do { ioctl(device_handle, PPSETMODE, &addr_mode); read(device_handle, &val, 1); } while (0)
static int data_mode = IEEE1284_MODE_EPP | IEEE1284_DATA ;
#define AMT_DW(val) do { ioctl(device_handle, PPSETMODE, &data_mode); write(device_handle, &val, 1); } while (0)
#define AMT_DR(val) do { ioctl(device_handle, PPSETMODE, &data_mode); read(device_handle, &val, 1); } while (0)
#else
#define AMT_AW(val) do { outb(val, amt_jtagaccel_port + 3); } while (0)
#define AMT_AR(val) do { val = inb(amt_jtagaccel_port + 3); } while (0)
#define AMT_DW(val) do { outb(val, amt_jtagaccel_port + 4); } while (0)
#define AMT_DR(val) do { val = inb(amt_jtagaccel_port + 4); } while (0)
#endif
int amt_jtagaccel_execute_queue(void);
int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx);
int amt_jtagaccel_speed(int speed);
int amt_jtagaccel_init(void);
int amt_jtagaccel_quit(void);
#endif // PARPORT_USE_PPDEV
int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int amt_jtagaccel_execute_queue(void);
static int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx);
static int amt_jtagaccel_speed(int speed);
static int amt_jtagaccel_init(void);
static int amt_jtagaccel_quit(void);
static int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
/* tap_move[i][j]: tap movement command to go from state i to state j
* 0: Test-Logic-Reset
@ -98,7 +103,7 @@ int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *c
* 4: Shift-IR
* 5: Pause-IR
*/
u8 amt_jtagaccel_tap_move[6][6][2] =
static u8 amt_jtagaccel_tap_move[6][6][2] =
{
/* RESET IDLE DRSHIFT DRPAUSE IRSHIFT IRPAUSE */
{{0x1f, 0x00}, {0x0f, 0x00}, {0x8a, 0x04}, {0x0a, 0x00}, {0x06, 0x00}, {0x96, 0x00}}, /* RESET */
@ -122,7 +127,7 @@ jtag_interface_t amt_jtagaccel_interface =
.quit = amt_jtagaccel_quit,
};
int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx)
static int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "parport_port", amt_jtagaccel_handle_parport_port_command,
COMMAND_CONFIG, NULL);
@ -132,7 +137,7 @@ int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx)
return ERROR_OK;
}
void amt_jtagaccel_reset(int trst, int srst)
static void amt_jtagaccel_reset(int trst, int srst)
{
if (trst == 1)
aw_control_rst |= 0x4;
@ -147,7 +152,7 @@ void amt_jtagaccel_reset(int trst, int srst)
AMT_AW(aw_control_rst);
}
int amt_jtagaccel_speed(int speed)
static int amt_jtagaccel_speed(int speed)
{
aw_control_baudrate &= 0xf0;
aw_control_baudrate |= speed & 0x0f;
@ -156,7 +161,7 @@ int amt_jtagaccel_speed(int speed)
return ERROR_OK;
}
void amt_jtagaccel_end_state(tap_state_t state)
static void amt_jtagaccel_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
tap_set_end_state(state);
@ -167,7 +172,7 @@ void amt_jtagaccel_end_state(tap_state_t state)
}
}
void amt_wait_scan_busy(void)
static void amt_wait_scan_busy(void)
{
int timeout = 4096;
u8 ar_status;
@ -183,7 +188,7 @@ void amt_wait_scan_busy(void)
}
}
void amt_jtagaccel_state_move(void)
static void amt_jtagaccel_state_move(void)
{
u8 aw_scan_tms_5;
u8 tms_scan[2];
@ -210,7 +215,7 @@ void amt_jtagaccel_state_move(void)
tap_set_state(end_state);
}
void amt_jtagaccel_runtest(int num_cycles)
static void amt_jtagaccel_runtest(int num_cycles)
{
int i = 0;
u8 aw_scan_tms_5;
@ -243,7 +248,7 @@ void amt_jtagaccel_runtest(int num_cycles)
amt_jtagaccel_state_move();
}
void amt_jtagaccel_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
static void amt_jtagaccel_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
{
int bits_left = scan_size;
int bit_count = 0;
@ -325,7 +330,7 @@ void amt_jtagaccel_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_s
tap_set_state(tap_get_end_state());
}
int amt_jtagaccel_execute_queue(void)
static int amt_jtagaccel_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue; /* currently processed command */
int scan_size;
@ -431,7 +436,7 @@ int amt_jtagaccel_get_giveio_access(void)
}
#endif
int amt_jtagaccel_init(void)
static int amt_jtagaccel_init(void)
{
#if PARPORT_USE_PPDEV == 1
char buffer[256];
@ -536,13 +541,13 @@ int amt_jtagaccel_init(void)
return ERROR_OK;
}
int amt_jtagaccel_quit(void)
static int amt_jtagaccel_quit(void)
{
return ERROR_OK;
}
int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
return ERROR_OK;
@ -554,7 +559,7 @@ int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
{

View File

@ -77,32 +77,32 @@ static u8 usb_in_buffer[ARMJTAGEW_IN_BUFFER_SIZE];
static u8 usb_out_buffer[ARMJTAGEW_OUT_BUFFER_SIZE];
/* External interface functions */
int armjtagew_execute_queue(void);
int armjtagew_speed(int speed);
int armjtagew_khz(int khz, int *jtag_speed);
int armjtagew_register_commands(struct command_context_s *cmd_ctx);
int armjtagew_init(void);
int armjtagew_quit(void);
static int armjtagew_execute_queue(void);
static int armjtagew_speed(int speed);
static int armjtagew_khz(int khz, int *jtag_speed);
static int armjtagew_register_commands(struct command_context_s *cmd_ctx);
static int armjtagew_init(void);
static int armjtagew_quit(void);
/* CLI command handler functions */
int armjtagew_handle_armjtagew_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int armjtagew_handle_armjtagew_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
/* Queue command functions */
void armjtagew_end_state(tap_state_t state);
void armjtagew_state_move(void);
void armjtagew_path_move(int num_states, tap_state_t *path);
void armjtagew_runtest(int num_cycles);
void armjtagew_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
void armjtagew_reset(int trst, int srst);
void armjtagew_simple_command(u8 command);
int armjtagew_get_status(void);
static void armjtagew_end_state(tap_state_t state);
static void armjtagew_state_move(void);
static void armjtagew_path_move(int num_states, tap_state_t *path);
static void armjtagew_runtest(int num_cycles);
static void armjtagew_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
static void armjtagew_reset(int trst, int srst);
//static void armjtagew_simple_command(u8 command);
static int armjtagew_get_status(void);
/* tap buffer functions */
void armjtagew_tap_init(void);
int armjtagew_tap_execute(void);
void armjtagew_tap_ensure_space(int scans, int bits);
void armjtagew_tap_append_step(int tms, int tdi);
void armjtagew_tap_append_scan(int length, u8 *buffer, scan_command_t *command);
static void armjtagew_tap_init(void);
static int armjtagew_tap_execute(void);
static void armjtagew_tap_ensure_space(int scans, int bits);
static void armjtagew_tap_append_step(int tms, int tdi);
static void armjtagew_tap_append_scan(int length, u8 *buffer, scan_command_t *command);
/* ARM-JTAG-EW lowlevel functions */
typedef struct armjtagew_jtag
@ -110,20 +110,20 @@ typedef struct armjtagew_jtag
struct usb_dev_handle* usb_handle;
} armjtagew_jtag_t;
armjtagew_jtag_t *armjtagew_usb_open(void);
void armjtagew_usb_close(armjtagew_jtag_t *armjtagew_jtag);
int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_length, int in_length);
int armjtagew_usb_write(armjtagew_jtag_t *armjtagew_jtag, int out_length);
int armjtagew_usb_read(armjtagew_jtag_t *armjtagew_jtag, int exp_in_length);
static armjtagew_jtag_t *armjtagew_usb_open(void);
static void armjtagew_usb_close(armjtagew_jtag_t *armjtagew_jtag);
static int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_length, int in_length);
static int armjtagew_usb_write(armjtagew_jtag_t *armjtagew_jtag, int out_length);
static int armjtagew_usb_read(armjtagew_jtag_t *armjtagew_jtag, int exp_in_length);
/* helper functions */
int armjtagew_get_version_info(void);
static int armjtagew_get_version_info(void);
#ifdef _DEBUG_USB_COMMS_
void armjtagew_debug_buffer(u8 *buffer, int length);
static void armjtagew_debug_buffer(u8 *buffer, int length);
#endif
armjtagew_jtag_t* armjtagew_jtag_handle;
static armjtagew_jtag_t* armjtagew_jtag_handle;
@ -142,7 +142,7 @@ jtag_interface_t armjtagew_interface =
};
int armjtagew_execute_queue(void)
static int armjtagew_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue;
int scan_size;
@ -239,7 +239,7 @@ int armjtagew_execute_queue(void)
/* Sets speed in kHz. */
int armjtagew_speed(int speed)
static int armjtagew_speed(int speed)
{
int result;
int speed_real;
@ -273,21 +273,21 @@ int armjtagew_speed(int speed)
}
int armjtagew_khz(int khz, int *jtag_speed)
static int armjtagew_khz(int khz, int *jtag_speed)
{
*jtag_speed = khz;
return ERROR_OK;
}
int armjtagew_register_commands(struct command_context_s *cmd_ctx)
static int armjtagew_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "armjtagew_info", armjtagew_handle_armjtagew_info_command, COMMAND_EXEC,
"query armjtagew info");
return ERROR_OK;
}
int armjtagew_init(void)
static int armjtagew_init(void)
{
int check_cnt;
@ -325,7 +325,7 @@ int armjtagew_init(void)
return ERROR_OK;
}
int armjtagew_quit(void)
static int armjtagew_quit(void)
{
armjtagew_usb_close(armjtagew_jtag_handle);
return ERROR_OK;
@ -334,7 +334,7 @@ int armjtagew_quit(void)
/***************************************************************************/
/* Queue command implementations */
void armjtagew_end_state(tap_state_t state)
static void armjtagew_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
{
@ -348,7 +348,7 @@ void armjtagew_end_state(tap_state_t state)
}
/* Goes to the end state. */
void armjtagew_state_move(void)
static void armjtagew_state_move(void)
{
int i;
int tms = 0;
@ -363,7 +363,7 @@ void armjtagew_state_move(void)
tap_set_state(tap_get_end_state());
}
void armjtagew_path_move(int num_states, tap_state_t *path)
static void armjtagew_path_move(int num_states, tap_state_t *path)
{
int i;
@ -394,7 +394,7 @@ void armjtagew_path_move(int num_states, tap_state_t *path)
tap_set_end_state(tap_get_state());
}
void armjtagew_runtest(int num_cycles)
static void armjtagew_runtest(int num_cycles)
{
int i;
@ -421,7 +421,7 @@ void armjtagew_runtest(int num_cycles)
}
}
void armjtagew_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
static void armjtagew_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
{
tap_state_t saved_end_state;
@ -449,7 +449,7 @@ void armjtagew_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size,
}
}
void armjtagew_reset(int trst, int srst)
static void armjtagew_reset(int trst, int srst)
{
const u8 trst_mask = (1u<<5);
const u8 srst_mask = (1u<<6);
@ -498,7 +498,7 @@ void armjtagew_reset(int trst, int srst)
}
int armjtagew_get_status(void)
static int armjtagew_get_status(void)
{
int result;
@ -530,7 +530,7 @@ int armjtagew_get_status(void)
return ERROR_OK;
}
int armjtagew_get_version_info(void)
static int armjtagew_get_version_info(void)
{
int result;
char sn[16];
@ -559,7 +559,7 @@ int armjtagew_get_version_info(void)
return ERROR_OK;
}
int armjtagew_handle_armjtagew_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int armjtagew_handle_armjtagew_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (armjtagew_get_version_info() == ERROR_OK)
{
@ -596,13 +596,13 @@ static pending_scan_result_t pending_scan_results_buffer[MAX_PENDING_SCAN_RESULT
static int last_tms;
void armjtagew_tap_init(void)
static void armjtagew_tap_init(void)
{
tap_length = 0;
pending_scan_results_length = 0;
}
void armjtagew_tap_ensure_space(int scans, int bits)
static void armjtagew_tap_ensure_space(int scans, int bits)
{
int available_scans = MAX_PENDING_SCAN_RESULTS - pending_scan_results_length;
int available_bits = ARMJTAGEW_TAP_BUFFER_SIZE * 8 - tap_length;
@ -613,7 +613,7 @@ void armjtagew_tap_ensure_space(int scans, int bits)
}
}
void armjtagew_tap_append_step(int tms, int tdi)
static void armjtagew_tap_append_step(int tms, int tdi)
{
last_tms = tms;
int index = tap_length / 8;
@ -668,7 +668,7 @@ void armjtagew_tap_append_scan(int length, u8 *buffer, scan_command_t *command)
/* Pad and send a tap sequence to the device, and receive the answer.
* For the purpose of padding we assume that we are in idle or pause state. */
int armjtagew_tap_execute(void)
static int armjtagew_tap_execute(void)
{
int byte_length;
int tms_offset;
@ -764,7 +764,7 @@ int armjtagew_tap_execute(void)
/*****************************************************************************/
/* JLink USB low-level functions */
armjtagew_jtag_t* armjtagew_usb_open()
static armjtagew_jtag_t* armjtagew_usb_open()
{
struct usb_bus *busses;
struct usb_bus *bus;
@ -812,14 +812,14 @@ armjtagew_jtag_t* armjtagew_usb_open()
return NULL;
}
void armjtagew_usb_close(armjtagew_jtag_t *armjtagew_jtag)
static void armjtagew_usb_close(armjtagew_jtag_t *armjtagew_jtag)
{
usb_close(armjtagew_jtag->usb_handle);
free(armjtagew_jtag);
}
/* Send a message and receive the reply. */
int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_length, int in_length)
static int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_length, int in_length)
{
int result;
@ -842,7 +842,7 @@ int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_length, int
}
/* Write data from out_buffer to USB. */
int armjtagew_usb_write(armjtagew_jtag_t *armjtagew_jtag, int out_length)
static int armjtagew_usb_write(armjtagew_jtag_t *armjtagew_jtag, int out_length)
{
int result;
@ -864,7 +864,7 @@ int armjtagew_usb_write(armjtagew_jtag_t *armjtagew_jtag, int out_length)
}
/* Read data from USB into in_buffer. */
int armjtagew_usb_read(armjtagew_jtag_t *armjtagew_jtag, int exp_in_length)
static int armjtagew_usb_read(armjtagew_jtag_t *armjtagew_jtag, int exp_in_length)
{
int result = usb_bulk_read(armjtagew_jtag->usb_handle, ARMJTAGEW_EPT_BULK_IN, \
(char*)usb_in_buffer, exp_in_length, ARMJTAGEW_USB_TIMEOUT);
@ -881,7 +881,7 @@ int armjtagew_usb_read(armjtagew_jtag_t *armjtagew_jtag, int exp_in_length)
#ifdef _DEBUG_USB_COMMS_
#define BYTES_PER_LINE 16
void armjtagew_debug_buffer(u8 *buffer, int length)
static void armjtagew_debug_buffer(u8 *buffer, int length)
{
char line[81];
char s[4];

View File

@ -119,14 +119,14 @@ static u32* pio_base;
/* low level command set
*/
int at91rm9200_read(void);
void at91rm9200_write(int tck, int tms, int tdi);
void at91rm9200_reset(int trst, int srst);
static int at91rm9200_read(void);
static void at91rm9200_write(int tck, int tms, int tdi);
static void at91rm9200_reset(int trst, int srst);
int at91rm9200_speed(int speed);
int at91rm9200_register_commands(struct command_context_s *cmd_ctx);
int at91rm9200_init(void);
int at91rm9200_quit(void);
static int at91rm9200_speed(int speed);
static int at91rm9200_register_commands(struct command_context_s *cmd_ctx);
static int at91rm9200_init(void);
static int at91rm9200_quit(void);
jtag_interface_t at91rm9200_interface =
{
@ -140,7 +140,7 @@ jtag_interface_t at91rm9200_interface =
.quit = at91rm9200_quit,
};
bitbang_interface_t at91rm9200_bitbang =
static bitbang_interface_t at91rm9200_bitbang =
{
.read = at91rm9200_read,
.write = at91rm9200_write,
@ -148,12 +148,12 @@ bitbang_interface_t at91rm9200_bitbang =
.blink = 0
};
int at91rm9200_read(void)
static int at91rm9200_read(void)
{
return (pio_base[device->TDO_PIO + PIO_PDSR] & device->TDO_MASK) != 0;
}
void at91rm9200_write(int tck, int tms, int tdi)
static void at91rm9200_write(int tck, int tms, int tdi)
{
if (tck)
pio_base[device->TCK_PIO + PIO_SODR] = device->TCK_MASK;
@ -172,7 +172,7 @@ void at91rm9200_write(int tck, int tms, int tdi)
}
/* (1) assert or (0) deassert reset lines */
void at91rm9200_reset(int trst, int srst)
static void at91rm9200_reset(int trst, int srst)
{
if (trst == 0)
pio_base[device->TRST_PIO + PIO_SODR] = device->TRST_MASK;
@ -185,13 +185,13 @@ void at91rm9200_reset(int trst, int srst)
pio_base[device->SRST_PIO + PIO_CODR] = device->SRST_MASK;
}
int at91rm9200_speed(int speed)
static int at91rm9200_speed(int speed)
{
return ERROR_OK;
}
int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
return ERROR_OK;
@ -206,14 +206,14 @@ int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cm
return ERROR_OK;
}
int at91rm9200_register_commands(struct command_context_s *cmd_ctx)
static int at91rm9200_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "at91rm9200_device", at91rm9200_handle_device_command,
COMMAND_CONFIG, NULL);
return ERROR_OK;
}
int at91rm9200_init(void)
static int at91rm9200_init(void)
{
struct device_t *cur_device;
@ -284,7 +284,7 @@ int at91rm9200_init(void)
return ERROR_OK;
}
int at91rm9200_quit(void)
static int at91rm9200_quit(void)
{
return ERROR_OK;

View File

@ -71,12 +71,9 @@ bitbang_interface_t *bitbang_interface;
*/
#define CLOCK_IDLE() 0
int bitbang_execute_queue(void);
/* The bitbang driver leaves the TCK 0 when in idle */
void bitbang_end_state(tap_state_t state)
static void bitbang_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
tap_set_end_state(state);
@ -87,7 +84,7 @@ void bitbang_end_state(tap_state_t state)
}
}
void bitbang_state_move(void)
static void bitbang_state_move(void)
{
int i=0, tms=0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
@ -103,7 +100,7 @@ void bitbang_state_move(void)
tap_set_state(tap_get_end_state());
}
void bitbang_path_move(pathmove_command_t *cmd)
static void bitbang_path_move(pathmove_command_t *cmd)
{
int num_states = cmd->num_states;
int state_count;
@ -139,7 +136,7 @@ void bitbang_path_move(pathmove_command_t *cmd)
tap_set_end_state(tap_get_state());
}
void bitbang_runtest(int num_cycles)
static void bitbang_runtest(int num_cycles)
{
int i;
@ -182,7 +179,7 @@ static void bitbang_stableclocks(int num_cycles)
void bitbang_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
static void bitbang_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
{
tap_state_t saved_end_state = tap_get_end_state();
int bit_cnt;

View File

@ -36,10 +36,10 @@
bitq_interface_t* bitq_interface; /* low level bit queue interface */
bitq_state_t bitq_in_state; /* state of input queue */
static bitq_state_t bitq_in_state; /* state of input queue */
u8* bitq_in_buffer; /* buffer dynamically reallocated as needed */
int bitq_in_bufsize = 32; /* min. buffer size */
static u8* bitq_in_buffer; /* buffer dynamically reallocated as needed */
static int bitq_in_bufsize = 32; /* min. buffer size */
/*
* input queue processing does not use jtag_read_buffer() to avoid unnecessary overhead

View File

@ -37,10 +37,10 @@ static int clock_count; /* count clocks in any stable state, only stable
static u32 dummy_data;
int dummy_speed(int speed);
int dummy_register_commands(struct command_context_s *cmd_ctx);
int dummy_init(void);
int dummy_quit(void);
static int dummy_speed(int speed);
static int dummy_register_commands(struct command_context_s *cmd_ctx);
static int dummy_init(void);
static int dummy_quit(void);
static int dummy_khz(int khz, int *jtag_speed);
static int dummy_speed_div(int speed, int *khz);
@ -63,12 +63,12 @@ jtag_interface_t dummy_interface =
.quit = dummy_quit,
};
int dummy_read(void);
void dummy_write(int tck, int tms, int tdi);
void dummy_reset(int trst, int srst);
void dummy_led(int on);
static int dummy_read(void);
static void dummy_write(int tck, int tms, int tdi);
static void dummy_reset(int trst, int srst);
static void dummy_led(int on);
bitbang_interface_t dummy_bitbang =
static bitbang_interface_t dummy_bitbang =
{
.read = dummy_read,
.write = dummy_write,
@ -76,7 +76,7 @@ bitbang_interface_t dummy_bitbang =
.blink = dummy_led
};
int dummy_read(void)
static int dummy_read(void)
{
int data = 1 & dummy_data;
dummy_data = (dummy_data >> 1) | (1<<31);
@ -84,7 +84,7 @@ int dummy_read(void)
}
void dummy_write(int tck, int tms, int tdi)
static void dummy_write(int tck, int tms, int tdi)
{
/* TAP standard: "state transitions occur on rising edge of clock" */
if( tck != dummy_clock )
@ -121,7 +121,7 @@ void dummy_write(int tck, int tms, int tdi)
}
}
void dummy_reset(int trst, int srst)
static void dummy_reset(int trst, int srst)
{
dummy_clock = 0;
@ -158,29 +158,29 @@ static int dummy_speed_div(int speed, int *khz)
return ERROR_OK;
}
int dummy_speed(int speed)
static int dummy_speed(int speed)
{
return ERROR_OK;
}
int dummy_register_commands(struct command_context_s *cmd_ctx)
static int dummy_register_commands(struct command_context_s *cmd_ctx)
{
return ERROR_OK;
}
int dummy_init(void)
static int dummy_init(void)
{
bitbang_interface = &dummy_bitbang;
return ERROR_OK;
}
int dummy_quit(void)
static int dummy_quit(void)
{
return ERROR_OK;
}
void dummy_led(int on)
static void dummy_led(int on)
{
}

View File

@ -50,14 +50,14 @@ static volatile u8 *gpio_data_direction_register;
/* low level command set
*/
int ep93xx_read(void);
void ep93xx_write(int tck, int tms, int tdi);
void ep93xx_reset(int trst, int srst);
static int ep93xx_read(void);
static void ep93xx_write(int tck, int tms, int tdi);
static void ep93xx_reset(int trst, int srst);
int ep93xx_speed(int speed);
int ep93xx_register_commands(struct command_context_s *cmd_ctx);
int ep93xx_init(void);
int ep93xx_quit(void);
static int ep93xx_speed(int speed);
static int ep93xx_register_commands(struct command_context_s *cmd_ctx);
static int ep93xx_init(void);
static int ep93xx_quit(void);
struct timespec ep93xx_zzzz;
@ -73,7 +73,7 @@ jtag_interface_t ep93xx_interface =
.quit = ep93xx_quit,
};
bitbang_interface_t ep93xx_bitbang =
static bitbang_interface_t ep93xx_bitbang =
{
.read = ep93xx_read,
.write = ep93xx_write,
@ -81,12 +81,12 @@ bitbang_interface_t ep93xx_bitbang =
.blink = 0,
};
int ep93xx_read(void)
static int ep93xx_read(void)
{
return !!(*gpio_data_register & TDO_BIT);
}
void ep93xx_write(int tck, int tms, int tdi)
static void ep93xx_write(int tck, int tms, int tdi)
{
if (tck)
output_value |= TCK_BIT;
@ -108,7 +108,7 @@ void ep93xx_write(int tck, int tms, int tdi)
}
/* (1) assert or (0) deassert reset lines */
void ep93xx_reset(int trst, int srst)
static void ep93xx_reset(int trst, int srst)
{
if (trst == 0)
output_value |= TRST_BIT;
@ -124,13 +124,13 @@ void ep93xx_reset(int trst, int srst)
nanosleep(&ep93xx_zzzz, NULL);
}
int ep93xx_speed(int speed)
static int ep93xx_speed(int speed)
{
return ERROR_OK;
}
int ep93xx_register_commands(struct command_context_s *cmd_ctx)
static int ep93xx_register_commands(struct command_context_s *cmd_ctx)
{
return ERROR_OK;
@ -157,7 +157,7 @@ static int set_gonk_mode(void)
return ERROR_OK;
}
int ep93xx_init(void)
static int ep93xx_init(void)
{
int ret;
@ -231,7 +231,7 @@ int ep93xx_init(void)
return ERROR_OK;
}
int ep93xx_quit(void)
static int ep93xx_quit(void)
{
return ERROR_OK;

View File

@ -70,20 +70,20 @@
#define _DEBUG_USB_COMMS_
#endif
int ft2232_execute_queue(void);
static int ft2232_execute_queue(void);
int ft2232_speed(int speed);
int ft2232_speed_div(int speed, int* khz);
int ft2232_khz(int khz, int* jtag_speed);
int ft2232_register_commands(struct command_context_s* cmd_ctx);
int ft2232_init(void);
int ft2232_quit(void);
static int ft2232_speed(int speed);
static int ft2232_speed_div(int speed, int* khz);
static int ft2232_khz(int khz, int* jtag_speed);
static int ft2232_register_commands(struct command_context_s* cmd_ctx);
static int ft2232_init(void);
static int ft2232_quit(void);
int ft2232_handle_device_desc_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
int ft2232_handle_serial_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
int ft2232_handle_layout_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
int ft2232_handle_vid_pid_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
int ft2232_handle_latency_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
static int ft2232_handle_device_desc_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
static int ft2232_handle_serial_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
static int ft2232_handle_layout_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
static int ft2232_handle_vid_pid_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
static int ft2232_handle_latency_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc);
/**
@ -97,11 +97,11 @@ int ft2232_handle_latency_command(struct command_context_s* cmd_ctx, char* cmd,
static int ft2232_stableclocks(int num_cycles, jtag_command_t* cmd);
char * ft2232_device_desc_A = NULL;
char* ft2232_device_desc = NULL;
char* ft2232_serial = NULL;
char* ft2232_layout = NULL;
unsigned char ft2232_latency = 2;
static char * ft2232_device_desc_A = NULL;
static char* ft2232_device_desc = NULL;
static char* ft2232_serial = NULL;
static char* ft2232_layout = NULL;
static unsigned char ft2232_latency = 2;
#define MAX_USB_IDS 8
/* vid = pid = 0 marks the end of the list */
@ -117,31 +117,31 @@ typedef struct ft2232_layout_s
} ft2232_layout_t;
/* init procedures for supported layouts */
int usbjtag_init(void);
int jtagkey_init(void);
int olimex_jtag_init(void);
int flyswatter_init(void);
int turtle_init(void);
int comstick_init(void);
int stm32stick_init(void);
int axm0432_jtag_init(void);
int sheevaplug_init(void);
static int usbjtag_init(void);
static int jtagkey_init(void);
static int olimex_jtag_init(void);
static int flyswatter_init(void);
static int turtle_init(void);
static int comstick_init(void);
static int stm32stick_init(void);
static int axm0432_jtag_init(void);
static int sheevaplug_init(void);
/* reset procedures for supported layouts */
void usbjtag_reset(int trst, int srst);
void jtagkey_reset(int trst, int srst);
void olimex_jtag_reset(int trst, int srst);
void flyswatter_reset(int trst, int srst);
void turtle_reset(int trst, int srst);
void comstick_reset(int trst, int srst);
void stm32stick_reset(int trst, int srst);
void axm0432_jtag_reset(int trst, int srst);
void sheevaplug_reset(int trst, int srst);
static void usbjtag_reset(int trst, int srst);
static void jtagkey_reset(int trst, int srst);
static void olimex_jtag_reset(int trst, int srst);
static void flyswatter_reset(int trst, int srst);
static void turtle_reset(int trst, int srst);
static void comstick_reset(int trst, int srst);
static void stm32stick_reset(int trst, int srst);
static void axm0432_jtag_reset(int trst, int srst);
static void sheevaplug_reset(int trst, int srst);
/* blink procedures for layouts that support a blinking led */
void olimex_jtag_blink(void);
void flyswatter_jtag_blink(void);
void turtle_jtag_blink(void);
static void olimex_jtag_blink(void);
static void flyswatter_jtag_blink(void);
static void turtle_jtag_blink(void);
ft2232_layout_t ft2232_layouts[] =
{
@ -200,7 +200,7 @@ jtag_interface_t ft2232_interface =
.quit = ft2232_quit,
};
int ft2232_write(u8* buf, int size, u32* bytes_written)
static int ft2232_write(u8* buf, int size, u32* bytes_written)
{
#if BUILD_FT2232_FTD2XX == 1
FT_STATUS status;
@ -233,7 +233,7 @@ int ft2232_write(u8* buf, int size, u32* bytes_written)
}
int ft2232_read(u8* buf, u32 size, u32* bytes_read)
static int ft2232_read(u8* buf, u32 size, u32* bytes_read)
{
#if BUILD_FT2232_FTD2XX == 1
DWORD dw_bytes_read;
@ -281,7 +281,7 @@ int ft2232_read(u8* buf, u32 size, u32* bytes_read)
}
int ft2232_speed(int speed)
static int ft2232_speed(int speed)
{
u8 buf[3];
int retval;
@ -302,7 +302,7 @@ int ft2232_speed(int speed)
}
int ft2232_speed_div(int speed, int* khz)
static int ft2232_speed_div(int speed, int* khz)
{
/* Take a look in the FT2232 manual,
* AN2232C-01 Command Processor for
@ -314,7 +314,7 @@ int ft2232_speed_div(int speed, int* khz)
}
int ft2232_khz(int khz, int* jtag_speed)
static int ft2232_khz(int khz, int* jtag_speed)
{
if (khz==0)
{
@ -355,7 +355,7 @@ int ft2232_khz(int khz, int* jtag_speed)
}
int ft2232_register_commands(struct command_context_s* cmd_ctx)
static int ft2232_register_commands(struct command_context_s* cmd_ctx)
{
register_command(cmd_ctx, NULL, "ft2232_device_desc", ft2232_handle_device_desc_command,
COMMAND_CONFIG, "the USB device description of the FTDI FT2232 device");
@ -383,7 +383,7 @@ void ft2232_end_state(tap_state_t state)
}
void ft2232_read_scan(enum scan_type type, u8* buffer, int scan_size)
static void ft2232_read_scan(enum scan_type type, u8* buffer, int scan_size)
{
int num_bytes = (scan_size + 7) / 8;
int bits_left = scan_size;
@ -407,7 +407,7 @@ void ft2232_read_scan(enum scan_type type, u8* buffer, int scan_size)
}
void ft2232_debug_dump_buffer(void)
static void ft2232_debug_dump_buffer(void)
{
int i;
char line[256];
@ -428,7 +428,7 @@ void ft2232_debug_dump_buffer(void)
}
int ft2232_send_and_recv(jtag_command_t* first, jtag_command_t* last)
static int ft2232_send_and_recv(jtag_command_t* first, jtag_command_t* last)
{
jtag_command_t* cmd;
u8* buffer;
@ -546,7 +546,7 @@ int ft2232_send_and_recv(jtag_command_t* first, jtag_command_t* last)
}
void ft2232_add_pathmove(pathmove_command_t* cmd)
static void ft2232_add_pathmove(pathmove_command_t* cmd)
{
int num_states = cmd->num_states;
int state_count = 0;
@ -742,7 +742,7 @@ void ft2232_add_scan(int ir_scan, enum scan_type type, u8* buffer, int scan_size
}
int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, u8* buffer, int scan_size)
static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, u8* buffer, int scan_size)
{
int num_bytes = (scan_size + 7) / 8;
int bits_left = scan_size;
@ -952,7 +952,7 @@ int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, u8* buffer, int
}
int ft2232_predict_scan_out(int scan_size, enum scan_type type)
static int ft2232_predict_scan_out(int scan_size, enum scan_type type)
{
int predicted_size = 3;
int num_bytes = (scan_size - 1) / 8;
@ -979,7 +979,7 @@ int ft2232_predict_scan_out(int scan_size, enum scan_type type)
}
int ft2232_predict_scan_in(int scan_size, enum scan_type type)
static int ft2232_predict_scan_in(int scan_size, enum scan_type type)
{
int predicted_size = 0;
@ -1001,7 +1001,7 @@ int ft2232_predict_scan_in(int scan_size, enum scan_type type)
}
void usbjtag_reset(int trst, int srst)
static void usbjtag_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1040,7 +1040,7 @@ void usbjtag_reset(int trst, int srst)
}
void jtagkey_reset(int trst, int srst)
static void jtagkey_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1081,7 +1081,7 @@ void jtagkey_reset(int trst, int srst)
}
void olimex_jtag_reset(int trst, int srst)
static void olimex_jtag_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1116,7 +1116,7 @@ void olimex_jtag_reset(int trst, int srst)
}
void axm0432_jtag_reset(int trst, int srst)
static void axm0432_jtag_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1146,7 +1146,7 @@ void axm0432_jtag_reset(int trst, int srst)
}
void flyswatter_reset(int trst, int srst)
static void flyswatter_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1174,7 +1174,7 @@ void flyswatter_reset(int trst, int srst)
}
void turtle_reset(int trst, int srst)
static void turtle_reset(int trst, int srst)
{
trst = trst;
@ -1195,7 +1195,7 @@ void turtle_reset(int trst, int srst)
}
void comstick_reset(int trst, int srst)
static void comstick_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1224,7 +1224,7 @@ void comstick_reset(int trst, int srst)
}
void stm32stick_reset(int trst, int srst)
static void stm32stick_reset(int trst, int srst)
{
if (trst == 1)
{
@ -1259,7 +1259,7 @@ void stm32stick_reset(int trst, int srst)
void sheevaplug_reset(int trst, int srst)
static void sheevaplug_reset(int trst, int srst)
{
if (trst == 1)
high_output &= ~nTRST;
@ -1278,7 +1278,7 @@ void sheevaplug_reset(int trst, int srst)
LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction);
}
int ft2232_execute_queue()
static int ft2232_execute_queue()
{
jtag_command_t* cmd = jtag_command_queue; /* currently processed command */
u8* buffer;
@ -1755,7 +1755,7 @@ static int ft2232_purge_libftdi(void)
#endif /* BUILD_FT2232_LIBFTDI == 1 */
int ft2232_init(void)
static int ft2232_init(void)
{
u8 buf[1];
int retval;
@ -1837,7 +1837,7 @@ int ft2232_init(void)
}
int usbjtag_init(void)
static int usbjtag_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -1912,7 +1912,7 @@ int usbjtag_init(void)
}
int axm0432_jtag_init(void)
static int axm0432_jtag_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -1982,7 +1982,7 @@ int axm0432_jtag_init(void)
}
int jtagkey_init(void)
static int jtagkey_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2064,7 +2064,7 @@ int jtagkey_init(void)
}
int olimex_jtag_init(void)
static int olimex_jtag_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2131,7 +2131,7 @@ int olimex_jtag_init(void)
}
int flyswatter_init(void)
static int flyswatter_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2178,7 +2178,7 @@ int flyswatter_init(void)
}
int turtle_init(void)
static int turtle_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2219,7 +2219,7 @@ int turtle_init(void)
}
int comstick_init(void)
static int comstick_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2263,7 +2263,7 @@ int comstick_init(void)
}
int stm32stick_init(void)
static int stm32stick_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2307,7 +2307,7 @@ int stm32stick_init(void)
}
int sheevaplug_init(void)
static int sheevaplug_init(void)
{
u8 buf[3];
u32 bytes_written;
@ -2358,7 +2358,7 @@ int sheevaplug_init(void)
return ERROR_OK;
}
void olimex_jtag_blink(void)
static void olimex_jtag_blink(void)
{
/* Olimex ARM-USB-OCD has a LED connected to ACBUS3
* ACBUS3 is bit 3 of the GPIOH port
@ -2380,7 +2380,7 @@ void olimex_jtag_blink(void)
}
void flyswatter_jtag_blink(void)
static void flyswatter_jtag_blink(void)
{
/*
* Flyswatter has two LEDs connected to ACBUS2 and ACBUS3
@ -2393,7 +2393,7 @@ void flyswatter_jtag_blink(void)
}
void turtle_jtag_blink(void)
static void turtle_jtag_blink(void)
{
/*
* Turtelizer2 has two LEDs connected to ACBUS2 and ACBUS3
@ -2413,7 +2413,7 @@ void turtle_jtag_blink(void)
}
int ft2232_quit(void)
static int ft2232_quit(void)
{
#if BUILD_FT2232_FTD2XX == 1
FT_STATUS status;
@ -2434,7 +2434,7 @@ int ft2232_quit(void)
}
int ft2232_handle_device_desc_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
static int ft2232_handle_device_desc_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
{
char *cp;
char buf[200];
@ -2469,7 +2469,7 @@ int ft2232_handle_device_desc_command(struct command_context_s* cmd_ctx, char* c
}
int ft2232_handle_serial_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
static int ft2232_handle_serial_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
{
if (argc == 1)
{
@ -2484,7 +2484,7 @@ int ft2232_handle_serial_command(struct command_context_s* cmd_ctx, char* cmd, c
}
int ft2232_handle_layout_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
static int ft2232_handle_layout_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
{
if (argc == 0)
return ERROR_OK;
@ -2496,7 +2496,7 @@ int ft2232_handle_layout_command(struct command_context_s* cmd_ctx, char* cmd, c
}
int ft2232_handle_vid_pid_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
static int ft2232_handle_vid_pid_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
{
int i;
@ -2529,7 +2529,7 @@ int ft2232_handle_vid_pid_command(struct command_context_s* cmd_ctx, char* cmd,
}
int ft2232_handle_latency_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
static int ft2232_handle_latency_command(struct command_context_s* cmd_ctx, char* cmd, char** args, int argc)
{
if (argc == 1)
{

View File

@ -89,13 +89,13 @@ static u8 gw16012_control_value = 0x0;
static int device_handle;
#endif
int gw16012_execute_queue(void);
int gw16012_register_commands(struct command_context_s *cmd_ctx);
int gw16012_speed(int speed);
int gw16012_init(void);
int gw16012_quit(void);
static int gw16012_execute_queue(void);
static int gw16012_register_commands(struct command_context_s *cmd_ctx);
static int gw16012_speed(int speed);
static int gw16012_init(void);
static int gw16012_quit(void);
int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
jtag_interface_t gw16012_interface =
{
@ -109,7 +109,7 @@ jtag_interface_t gw16012_interface =
.quit = gw16012_quit,
};
int gw16012_register_commands(struct command_context_s *cmd_ctx)
static int gw16012_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "parport_port", gw16012_handle_parport_port_command,
COMMAND_CONFIG, NULL);
@ -117,7 +117,7 @@ int gw16012_register_commands(struct command_context_s *cmd_ctx)
return ERROR_OK;
}
void gw16012_data(u8 value)
static void gw16012_data(u8 value)
{
value = (value & 0x7f) | gw16012_msb;
gw16012_msb ^= 0x80; /* toggle MSB */
@ -137,7 +137,7 @@ void gw16012_data(u8 value)
#endif
}
void gw16012_control(u8 value)
static void gw16012_control(u8 value)
{
if (value != gw16012_control_value)
{
@ -159,7 +159,7 @@ void gw16012_control(u8 value)
}
}
void gw16012_input(u8 *value)
static void gw16012_input(u8 *value)
{
#if PARPORT_USE_PPDEV == 1
ioctl(device_handle, PPRSTATUS, value);
@ -173,7 +173,7 @@ void gw16012_input(u8 *value)
}
/* (1) assert or (0) deassert reset lines */
void gw16012_reset(int trst, int srst)
static void gw16012_reset(int trst, int srst)
{
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
@ -188,13 +188,13 @@ void gw16012_reset(int trst, int srst)
gw16012_control(0x0b);
}
int gw16012_speed(int speed)
static int gw16012_speed(int speed)
{
return ERROR_OK;
}
void gw16012_end_state(tap_state_t state)
static void gw16012_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
tap_set_end_state(state);
@ -205,7 +205,7 @@ void gw16012_end_state(tap_state_t state)
}
}
void gw16012_state_move(void)
static void gw16012_state_move(void)
{
int i=0, tms=0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
@ -221,7 +221,7 @@ void gw16012_state_move(void)
tap_set_state(tap_get_end_state());
}
void gw16012_path_move(pathmove_command_t *cmd)
static void gw16012_path_move(pathmove_command_t *cmd)
{
int num_states = cmd->num_states;
int state_count;
@ -252,7 +252,7 @@ void gw16012_path_move(pathmove_command_t *cmd)
tap_set_end_state(tap_get_state());
}
void gw16012_runtest(int num_cycles)
static void gw16012_runtest(int num_cycles)
{
tap_state_t saved_end_state = tap_get_end_state();
int i;
@ -275,7 +275,7 @@ void gw16012_runtest(int num_cycles)
gw16012_state_move();
}
void gw16012_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
static void gw16012_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
{
int bits_left = scan_size;
int bit_count = 0;
@ -348,7 +348,7 @@ void gw16012_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
}
}
int gw16012_execute_queue(void)
static int gw16012_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue; /* currently processed command */
int scan_size;
@ -436,7 +436,7 @@ int gw16012_execute_queue(void)
}
#if PARPORT_USE_GIVEIO == 1
int gw16012_get_giveio_access()
static int gw16012_get_giveio_access()
{
HANDLE h;
OSVERSIONINFO version;
@ -461,7 +461,7 @@ int gw16012_get_giveio_access()
}
#endif
int gw16012_init(void)
static int gw16012_init(void)
{
#if PARPORT_USE_PPDEV == 1
char buffer[256];
@ -555,13 +555,13 @@ int gw16012_init(void)
return ERROR_OK;
}
int gw16012_quit(void)
static int gw16012_quit(void)
{
return ERROR_OK;
}
int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
return ERROR_OK;

View File

@ -77,33 +77,33 @@ static u8 usb_emu_result_buffer[JLINK_EMU_RESULT_BUFFER_SIZE];
#define JLINK_MAX_SPEED 12000
/* External interface functions */
int jlink_execute_queue(void);
int jlink_speed(int speed);
int jlink_speed_div(int speed, int* khz);
int jlink_khz(int khz, int *jtag_speed);
int jlink_register_commands(struct command_context_s *cmd_ctx);
int jlink_init(void);
int jlink_quit(void);
static int jlink_execute_queue(void);
static int jlink_speed(int speed);
static int jlink_speed_div(int speed, int* khz);
static int jlink_khz(int khz, int *jtag_speed);
static int jlink_register_commands(struct command_context_s *cmd_ctx);
static int jlink_init(void);
static int jlink_quit(void);
/* CLI command handler functions */
int jlink_handle_jlink_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int jlink_handle_jlink_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
/* Queue command functions */
void jlink_end_state(tap_state_t state);
void jlink_state_move(void);
void jlink_path_move(int num_states, tap_state_t *path);
void jlink_runtest(int num_cycles);
void jlink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
void jlink_reset(int trst, int srst);
void jlink_simple_command(u8 command);
int jlink_get_status(void);
static void jlink_end_state(tap_state_t state);
static void jlink_state_move(void);
static void jlink_path_move(int num_states, tap_state_t *path);
static void jlink_runtest(int num_cycles);
static void jlink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
static void jlink_reset(int trst, int srst);
static void jlink_simple_command(u8 command);
static int jlink_get_status(void);
/* J-Link tap buffer functions */
void jlink_tap_init(void);
int jlink_tap_execute(void);
void jlink_tap_ensure_space(int scans, int bits);
void jlink_tap_append_step(int tms, int tdi);
void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command);
static void jlink_tap_init(void);
static int jlink_tap_execute(void);
static void jlink_tap_ensure_space(int scans, int bits);
static void jlink_tap_append_step(int tms, int tdi);
static void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command);
/* Jlink lowlevel functions */
typedef struct jlink_jtag
@ -111,21 +111,21 @@ typedef struct jlink_jtag
struct usb_dev_handle* usb_handle;
} jlink_jtag_t;
jlink_jtag_t *jlink_usb_open(void);
void jlink_usb_close(jlink_jtag_t *jlink_jtag);
int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_length);
int jlink_usb_write(jlink_jtag_t *jlink_jtag, int out_length);
int jlink_usb_read(jlink_jtag_t *jlink_jtag, int expected_size);
int jlink_usb_read_emu_result(jlink_jtag_t *jlink_jtag);
static jlink_jtag_t *jlink_usb_open(void);
static void jlink_usb_close(jlink_jtag_t *jlink_jtag);
static int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_length);
static int jlink_usb_write(jlink_jtag_t *jlink_jtag, int out_length);
static int jlink_usb_read(jlink_jtag_t *jlink_jtag, int expected_size);
static int jlink_usb_read_emu_result(jlink_jtag_t *jlink_jtag);
/* helper functions */
int jlink_get_version_info(void);
static int jlink_get_version_info(void);
#ifdef _DEBUG_USB_COMMS_
void jlink_debug_buffer(u8 *buffer, int length);
static void jlink_debug_buffer(u8 *buffer, int length);
#endif
jlink_jtag_t* jlink_jtag_handle;
static jlink_jtag_t* jlink_jtag_handle;
/***************************************************************************/
/* External interface implementation */
@ -142,7 +142,7 @@ jtag_interface_t jlink_interface =
.quit = jlink_quit
};
int jlink_execute_queue(void)
static int jlink_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue;
int scan_size;
@ -238,7 +238,7 @@ int jlink_execute_queue(void)
}
/* Sets speed in kHz. */
int jlink_speed(int speed)
static int jlink_speed(int speed)
{
int result;
@ -272,28 +272,28 @@ int jlink_speed(int speed)
return ERROR_OK;
}
int jlink_speed_div(int speed, int* khz)
static int jlink_speed_div(int speed, int* khz)
{
*khz = speed;
return ERROR_OK;
}
int jlink_khz(int khz, int *jtag_speed)
static int jlink_khz(int khz, int *jtag_speed)
{
*jtag_speed = khz;
return ERROR_OK;
}
int jlink_register_commands(struct command_context_s *cmd_ctx)
static int jlink_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "jlink_info", jlink_handle_jlink_info_command, COMMAND_EXEC,
"query jlink info");
return ERROR_OK;
}
int jlink_init(void)
static int jlink_init(void)
{
int check_cnt;
@ -331,7 +331,7 @@ int jlink_init(void)
return ERROR_OK;
}
int jlink_quit(void)
static int jlink_quit(void)
{
jlink_usb_close(jlink_jtag_handle);
return ERROR_OK;
@ -340,7 +340,7 @@ int jlink_quit(void)
/***************************************************************************/
/* Queue command implementations */
void jlink_end_state(tap_state_t state)
static void jlink_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
{
@ -354,7 +354,7 @@ void jlink_end_state(tap_state_t state)
}
/* Goes to the end state. */
void jlink_state_move(void)
static void jlink_state_move(void)
{
int i;
int tms = 0;
@ -369,7 +369,7 @@ void jlink_state_move(void)
tap_set_state(tap_get_end_state());
}
void jlink_path_move(int num_states, tap_state_t *path)
static void jlink_path_move(int num_states, tap_state_t *path)
{
int i;
@ -395,7 +395,7 @@ void jlink_path_move(int num_states, tap_state_t *path)
tap_set_end_state(tap_get_state());
}
void jlink_runtest(int num_cycles)
static void jlink_runtest(int num_cycles)
{
int i;
@ -422,7 +422,7 @@ void jlink_runtest(int num_cycles)
}
}
void jlink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
static void jlink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
{
tap_state_t saved_end_state;
@ -453,7 +453,7 @@ void jlink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, sca
}
}
void jlink_reset(int trst, int srst)
static void jlink_reset(int trst, int srst)
{
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
@ -477,7 +477,7 @@ void jlink_reset(int trst, int srst)
}
}
void jlink_simple_command(u8 command)
static void jlink_simple_command(u8 command)
{
int result;
@ -492,7 +492,7 @@ void jlink_simple_command(u8 command)
}
}
int jlink_get_status(void)
static int jlink_get_status(void)
{
int result;
@ -520,7 +520,7 @@ int jlink_get_status(void)
return ERROR_OK;
}
int jlink_get_version_info(void)
static int jlink_get_version_info(void)
{
int result;
int len = 0;
@ -546,7 +546,7 @@ int jlink_get_version_info(void)
return ERROR_JTAG_DEVICE_ERROR;
}
int jlink_handle_jlink_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int jlink_handle_jlink_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (jlink_get_version_info() == ERROR_OK)
{
@ -583,13 +583,13 @@ static pending_scan_result_t pending_scan_results_buffer[MAX_PENDING_SCAN_RESULT
static int last_tms;
void jlink_tap_init(void)
static void jlink_tap_init(void)
{
tap_length = 0;
pending_scan_results_length = 0;
}
void jlink_tap_ensure_space(int scans, int bits)
static void jlink_tap_ensure_space(int scans, int bits)
{
int available_scans = MAX_PENDING_SCAN_RESULTS - pending_scan_results_length;
int available_bits = JLINK_TAP_BUFFER_SIZE * 8 - tap_length;
@ -600,7 +600,7 @@ void jlink_tap_ensure_space(int scans, int bits)
}
}
void jlink_tap_append_step(int tms, int tdi)
static void jlink_tap_append_step(int tms, int tdi)
{
last_tms = tms;
int index = tap_length / 8;
@ -636,7 +636,7 @@ void jlink_tap_append_step(int tms, int tdi)
}
}
void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command)
static void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command)
{
pending_scan_result_t *pending_scan_result = &pending_scan_results_buffer[pending_scan_results_length];
int i;
@ -655,7 +655,7 @@ void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command)
/* Pad and send a tap sequence to the device, and receive the answer.
* For the purpose of padding we assume that we are in idle or pause state. */
int jlink_tap_execute(void)
static int jlink_tap_execute(void)
{
int byte_length;
int tms_offset;
@ -745,7 +745,7 @@ int jlink_tap_execute(void)
/*****************************************************************************/
/* JLink USB low-level functions */
jlink_jtag_t* jlink_usb_open()
static jlink_jtag_t* jlink_usb_open()
{
struct usb_bus *busses;
struct usb_bus *bus;
@ -791,14 +791,14 @@ jlink_jtag_t* jlink_usb_open()
return NULL;
}
void jlink_usb_close(jlink_jtag_t *jlink_jtag)
static void jlink_usb_close(jlink_jtag_t *jlink_jtag)
{
usb_close(jlink_jtag->usb_handle);
free(jlink_jtag);
}
/* Send a message and receive the reply. */
int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_length)
static int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_length)
{
int result;
int result2;
@ -859,7 +859,7 @@ int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_length)
}
}
int usb_bulk_write_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
static int usb_bulk_write_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
int timeout) {
int rc = 0, tries = 3, this_size;
@ -883,7 +883,7 @@ int usb_bulk_write_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
}
int usb_bulk_read_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
static int usb_bulk_read_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
int timeout) {
int rc = 0, tries = 3, this_size;
@ -908,7 +908,7 @@ int usb_bulk_read_ex(usb_dev_handle *dev, int ep, char *bytes, int size,
/* Write data from out_buffer to USB. */
int jlink_usb_write(jlink_jtag_t *jlink_jtag, int out_length)
static int jlink_usb_write(jlink_jtag_t *jlink_jtag, int out_length)
{
int result;
@ -930,7 +930,7 @@ int jlink_usb_write(jlink_jtag_t *jlink_jtag, int out_length)
}
/* Read data from USB into in_buffer. */
int jlink_usb_read(jlink_jtag_t *jlink_jtag, int expected_size)
static int jlink_usb_read(jlink_jtag_t *jlink_jtag, int expected_size)
{
int result = usb_bulk_read_ex(jlink_jtag->usb_handle, JLINK_READ_ENDPOINT,
(char *)usb_in_buffer, expected_size, JLINK_USB_TIMEOUT);
@ -944,7 +944,7 @@ int jlink_usb_read(jlink_jtag_t *jlink_jtag, int expected_size)
}
/* Read the result from the previous EMU cmd into result_buffer. */
int jlink_usb_read_emu_result(jlink_jtag_t *jlink_jtag)
static int jlink_usb_read_emu_result(jlink_jtag_t *jlink_jtag)
{
int result = usb_bulk_read_ex(jlink_jtag->usb_handle, JLINK_READ_ENDPOINT,
(char *)usb_emu_result_buffer, 1 /* JLINK_EMU_RESULT_BUFFER_SIZE */,
@ -961,7 +961,7 @@ int jlink_usb_read_emu_result(jlink_jtag_t *jlink_jtag)
#ifdef _DEBUG_USB_COMMS_
#define BYTES_PER_LINE 16
void jlink_debug_buffer(u8 *buffer, int length)
static void jlink_debug_buffer(u8 *buffer, int length)
{
char line[81];
char s[4];

View File

@ -80,8 +80,8 @@ tap_state_t cmd_queue_cur_state = TAP_RESET;
int jtag_verify_capture_ir = 1;
/* how long the OpenOCD should wait before attempting JTAG communication after reset lines deasserted (in ms) */
int jtag_nsrst_delay = 0; /* default to no nSRST delay */
int jtag_ntrst_delay = 0; /* default to no nTRST delay */
static int jtag_nsrst_delay = 0; /* default to no nSRST delay */
static int jtag_ntrst_delay = 0; /* default to no nTRST delay */
/* maximum number of JTAG devices expected in the chain
*/
@ -210,35 +210,35 @@ jtag_interface_t *jtag_interfaces[] = {
jtag_interface_t *jtag = NULL;
/* configuration */
jtag_interface_t *jtag_interface = NULL;
static jtag_interface_t *jtag_interface = NULL;
int jtag_speed = 0;
/* forward declarations */
void jtag_add_pathmove(int num_states, tap_state_t *path);
void jtag_add_runtest(int num_cycles, tap_state_t endstate);
void jtag_add_end_state(tap_state_t endstate);
void jtag_add_sleep(u32 us);
int jtag_execute_queue(void);
tap_state_t tap_state_by_name(const char *name);
//void jtag_add_pathmove(int num_states, tap_state_t *path);
//void jtag_add_runtest(int num_cycles, tap_state_t endstate);
//void jtag_add_end_state(tap_state_t endstate);
//void jtag_add_sleep(u32 us);
//int jtag_execute_queue(void);
static tap_state_t tap_state_by_name(const char *name);
/* jtag commands */
int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_jtag_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *argv);
static int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_jtag_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *argv);
int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
jtag_tap_t *jtag_AllTaps(void)
{
@ -2305,7 +2305,7 @@ static int default_srst_asserted(int *srst_asserted)
return ERROR_OK;
}
int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int i;
int retval;
@ -2368,7 +2368,7 @@ int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char
return ERROR_JTAG_INVALID_INTERFACE;
}
int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int e;
char buf[1024];
@ -2429,7 +2429,7 @@ int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, cha
return e;
}
int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
jtag_tap_t *tap;
@ -2466,7 +2466,7 @@ int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char
return ERROR_OK;
}
int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc < 1)
return ERROR_COMMAND_SYNTAX_ERROR;
@ -2542,7 +2542,7 @@ int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, ch
return ERROR_OK;
}
int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc < 1)
{
@ -2557,7 +2557,7 @@ int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, char *cmd
return ERROR_OK;
}
int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc < 1)
{
@ -2572,7 +2572,7 @@ int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, char *cmd
return ERROR_OK;
}
int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int retval=ERROR_OK;
@ -2600,7 +2600,7 @@ int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cmd, char
return retval;
}
int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int retval=ERROR_OK;
LOG_DEBUG("handle jtag khz");
@ -2650,7 +2650,7 @@ int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char *
}
int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
tap_state_t state;
@ -2673,7 +2673,7 @@ int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char *
return ERROR_OK;
}
int handle_jtag_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_jtag_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int trst = -1;
int srst = -1;
@ -2710,7 +2710,7 @@ int handle_jtag_reset_command(struct command_context_s *cmd_ctx, char *cmd, char
return ERROR_OK;
}
int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc < 1)
{
@ -2724,7 +2724,7 @@ int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char **
}
int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int i;
scan_field_t *fields;
@ -2799,7 +2799,7 @@ int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **a
return ERROR_OK;
}
int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args)
static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args)
{
int retval;
scan_field_t *fields;
@ -2936,7 +2936,7 @@ int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args)
return JIM_OK;
}
int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 1)
{
@ -3269,7 +3269,7 @@ const char* tap_state_name(tap_state_t state)
return ret;
}
tap_state_t tap_state_by_name( const char *name )
static tap_state_t tap_state_by_name( const char *name )
{
tap_state_t x;

View File

@ -96,7 +96,7 @@ typedef struct cable_s
u8 LED_MASK; /* data port bit for LED */
} cable_t;
cable_t cables[] =
static cable_t cables[] =
{
/* name tdo trst tms tck tdi srst o_inv i_inv init exit led */
{ "wiggler", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x80, 0x00 },
@ -123,8 +123,8 @@ cable_t cables[] =
};
/* configuration */
char* parport_cable = NULL;
u16 parport_port;
static char* parport_cable = NULL;
static u16 parport_port;
static int parport_exit = 0;
/* interface variables
@ -141,20 +141,20 @@ static unsigned long statusport;
/* low level command set
*/
int parport_read(void);
void parport_write(int tck, int tms, int tdi);
void parport_reset(int trst, int srst);
void parport_led(int on);
static int parport_read(void);
static void parport_write(int tck, int tms, int tdi);
static void parport_reset(int trst, int srst);
static void parport_led(int on);
int parport_speed(int speed);
int parport_register_commands(struct command_context_s *cmd_ctx);
int parport_init(void);
int parport_quit(void);
static int parport_speed(int speed);
static int parport_register_commands(struct command_context_s *cmd_ctx);
static int parport_init(void);
static int parport_quit(void);
/* interface commands */
int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int parport_handle_write_on_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int parport_handle_write_on_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
jtag_interface_t parport_interface =
{
@ -168,7 +168,7 @@ jtag_interface_t parport_interface =
.quit = parport_quit,
};
bitbang_interface_t parport_bitbang =
static bitbang_interface_t parport_bitbang =
{
.read = parport_read,
.write = parport_write,
@ -176,7 +176,7 @@ bitbang_interface_t parport_bitbang =
.blink = parport_led
};
int parport_read(void)
static int parport_read(void)
{
int data = 0;
@ -208,7 +208,7 @@ static __inline__ void parport_write_data(void)
#endif
}
void parport_write(int tck, int tms, int tdi)
static void parport_write(int tck, int tms, int tdi)
{
int i = jtag_speed + 1;
@ -232,7 +232,7 @@ void parport_write(int tck, int tms, int tdi)
}
/* (1) assert or (0) deassert reset lines */
void parport_reset(int trst, int srst)
static void parport_reset(int trst, int srst)
{
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
@ -250,7 +250,7 @@ void parport_reset(int trst, int srst)
}
/* turn LED on parport adapter on (1) or off (0) */
void parport_led(int on)
static void parport_led(int on)
{
if (on)
dataport_value |= cable->LED_MASK;
@ -260,12 +260,12 @@ void parport_led(int on)
parport_write_data();
}
int parport_speed(int speed)
static int parport_speed(int speed)
{
return ERROR_OK;
}
int parport_register_commands(struct command_context_s *cmd_ctx)
static int parport_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "parport_port", parport_handle_parport_port_command,
COMMAND_CONFIG, "either the address of the I/O port or the number of the /dev/parport device");
@ -278,7 +278,7 @@ int parport_register_commands(struct command_context_s *cmd_ctx)
}
#if PARPORT_USE_GIVEIO == 1
int parport_get_giveio_access(void)
static int parport_get_giveio_access(void)
{
HANDLE h;
OSVERSIONINFO version;
@ -303,7 +303,7 @@ int parport_get_giveio_access(void)
}
#endif
int parport_init(void)
static int parport_init(void)
{
cable_t *cur_cable;
#if PARPORT_USE_PPDEV == 1
@ -429,7 +429,7 @@ int parport_init(void)
return ERROR_OK;
}
int parport_quit(void)
static int parport_quit(void)
{
parport_led(0);
@ -448,7 +448,7 @@ int parport_quit(void)
return ERROR_OK;
}
int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
return ERROR_OK;
@ -460,7 +460,7 @@ int parport_handle_parport_port_command(struct command_context_s *cmd_ctx, char
return ERROR_OK;
}
int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 0)
return ERROR_OK;
@ -475,7 +475,7 @@ int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char
return ERROR_OK;
}
int parport_handle_write_on_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int parport_handle_write_on_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc != 1)
{

View File

@ -49,12 +49,12 @@
#error "BUG: either FTD2XX and LIBFTDI has to be used"
#endif
int presto_jtag_speed(int speed);
int presto_jtag_khz(int khz, int *jtag_speed);
int presto_jtag_speed_div(int speed, int *khz);
int presto_jtag_register_commands(struct command_context_s *cmd_ctx);
int presto_jtag_init(void);
int presto_jtag_quit(void);
static int presto_jtag_speed(int speed);
static int presto_jtag_khz(int khz, int *jtag_speed);
static int presto_jtag_speed_div(int speed, int *khz);
static int presto_jtag_register_commands(struct command_context_s *cmd_ctx);
static int presto_jtag_init(void);
static int presto_jtag_quit(void);
jtag_interface_t presto_interface =
{
@ -68,14 +68,14 @@ jtag_interface_t presto_interface =
.quit = presto_jtag_quit,
};
int presto_bitq_out(int tms, int tdi, int tdo_req);
int presto_bitq_flush(void);
int presto_bitq_sleep(unsigned long us);
int presto_bitq_reset(int trst, int srst);
int presto_bitq_in_rdy(void);
int presto_bitq_in(void);
static int presto_bitq_out(int tms, int tdi, int tdo_req);
static int presto_bitq_flush(void);
static int presto_bitq_sleep(unsigned long us);
static int presto_bitq_reset(int trst, int srst);
static int presto_bitq_in_rdy(void);
static int presto_bitq_in(void);
bitq_interface_t presto_bitq =
static bitq_interface_t presto_bitq =
{
.out = presto_bitq_out,
.flush = presto_bitq_flush,
@ -130,15 +130,15 @@ typedef struct presto_s
} presto_t;
presto_t presto_state;
presto_t *presto = &presto_state;
static presto_t presto_state;
static presto_t *presto = &presto_state;
u8 presto_init_seq[] =
static u8 presto_init_seq[] =
{
0x80, 0xA0, 0xA8, 0xB0, 0xC0, 0xE0
};
int presto_write(u8 *buf, u32 size)
static int presto_write(u8 *buf, u32 size)
{
#if BUILD_PRESTO_FTD2XX == 1
DWORD ftbytes;
@ -167,7 +167,7 @@ int presto_write(u8 *buf, u32 size)
return ERROR_OK;
}
int presto_read(u8* buf, u32 size)
static int presto_read(u8* buf, u32 size)
{
#if BUILD_PRESTO_FTD2XX == 1
DWORD ftbytes;
@ -210,7 +210,7 @@ int presto_read(u8* buf, u32 size)
}
#if BUILD_PRESTO_FTD2XX == 1
int presto_open_ftd2xx(char *req_serial)
static int presto_open_ftd2xx(char *req_serial)
{
u32 i;
DWORD numdevs;
@ -340,7 +340,7 @@ int presto_open_ftd2xx(char *req_serial)
}
#elif BUILD_PRESTO_LIBFTDI == 1
int presto_open_libftdi(char *req_serial)
static int presto_open_libftdi(char *req_serial)
{
u8 presto_data;
@ -413,7 +413,7 @@ int presto_open_libftdi(char *req_serial)
}
#endif /* BUILD_PRESTO_LIBFTDI == 1 */
int presto_open(char *req_serial)
static int presto_open(char *req_serial)
{
presto->buff_out_pos=0;
presto->buff_in_pos=0;
@ -438,7 +438,7 @@ int presto_open(char *req_serial)
#endif
}
int presto_close(void)
static int presto_close(void)
{
int result = ERROR_OK;
@ -482,7 +482,7 @@ int presto_close(void)
return result;
}
int presto_flush(void)
static int presto_flush(void)
{
if (presto->buff_out_pos == 0)
return ERROR_OK;
@ -525,7 +525,7 @@ int presto_flush(void)
return ERROR_OK;
}
int presto_sendbyte(int data)
static int presto_sendbyte(int data)
{
if (data == EOF) return presto_flush();
@ -549,7 +549,8 @@ int presto_sendbyte(int data)
return ERROR_OK;
}
int presto_getbyte(void)
#if 0
static int presto_getbyte(void)
{
if (presto->buff_in_pos < presto->buff_in_len)
return presto->buff_in[presto->buff_in_pos++];
@ -565,10 +566,11 @@ int presto_getbyte(void)
return -1;
}
#endif
/* -------------------------------------------------------------------------- */
int presto_tdi_flush(void)
static int presto_tdi_flush(void)
{
if (presto->jtag_tdi_count == 0)
return 0;
@ -587,7 +589,7 @@ int presto_tdi_flush(void)
return 0;
}
int presto_tck_idle(void)
static int presto_tck_idle(void)
{
if (presto->jtag_tck == 1)
{
@ -600,7 +602,7 @@ int presto_tck_idle(void)
/* -------------------------------------------------------------------------- */
int presto_bitq_out(int tms, int tdi, int tdo_req)
static int presto_bitq_out(int tms, int tdi, int tdo_req)
{
int i;
unsigned char cmd;
@ -646,7 +648,7 @@ int presto_bitq_out(int tms, int tdi, int tdo_req)
return 0;
}
int presto_bitq_flush(void)
static int presto_bitq_flush(void)
{
presto_tdi_flush();
presto_tck_idle();
@ -656,14 +658,14 @@ int presto_bitq_flush(void)
return presto_flush();
}
int presto_bitq_in_rdy(void)
static int presto_bitq_in_rdy(void)
{
if (presto->buff_in_pos>=presto->buff_in_len)
return 0;
return presto->buff_in_len-presto->buff_in_pos;
}
int presto_bitq_in(void)
static int presto_bitq_in(void)
{
if (presto->buff_in_pos>=presto->buff_in_len)
return -1;
@ -671,7 +673,7 @@ int presto_bitq_in(void)
return 0;
}
int presto_bitq_sleep(unsigned long us)
static int presto_bitq_sleep(unsigned long us)
{
long waits;
@ -692,7 +694,7 @@ int presto_bitq_sleep(unsigned long us)
return 0;
}
int presto_bitq_reset(int trst, int srst)
static int presto_bitq_reset(int trst, int srst)
{
presto_tdi_flush();
presto_tck_idle();
@ -709,7 +711,7 @@ int presto_bitq_reset(int trst, int srst)
/* -------------------------------------------------------------------------- */
int presto_jtag_khz(int khz, int *jtag_speed)
static int presto_jtag_khz(int khz, int *jtag_speed)
{
if (khz < 0)
{
@ -723,7 +725,7 @@ int presto_jtag_khz(int khz, int *jtag_speed)
return 0;
}
int presto_jtag_speed_div(int speed, int *khz)
static int presto_jtag_speed_div(int speed, int *khz)
{
if ((speed < 0) || (speed > 1000))
{
@ -737,7 +739,7 @@ int presto_jtag_speed_div(int speed, int *khz)
return 0;
}
int presto_jtag_speed(int speed)
static int presto_jtag_speed(int speed)
{
int khz;
@ -756,9 +758,9 @@ int presto_jtag_speed(int speed)
return 0;
}
char *presto_serial;
static char *presto_serial;
int presto_handle_serial_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int presto_handle_serial_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc == 1)
{
@ -774,14 +776,14 @@ int presto_handle_serial_command(struct command_context_s *cmd_ctx, char *cmd, c
return ERROR_OK;
}
int presto_jtag_register_commands(struct command_context_s *cmd_ctx)
static int presto_jtag_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "presto_serial", presto_handle_serial_command,
COMMAND_CONFIG, NULL);
return ERROR_OK;
}
int presto_jtag_init(void)
static int presto_jtag_init(void)
{
if (presto_open(presto_serial) != ERROR_OK)
{
@ -801,7 +803,7 @@ int presto_jtag_init(void)
return ERROR_OK;
}
int presto_jtag_quit(void)
static int presto_jtag_quit(void)
{
bitq_cleanup();
presto_close();

View File

@ -52,17 +52,17 @@
#define TCK_BIT 2
#define TMS_BIT 1
int usbprog_execute_queue(void);
int usbprog_speed(int speed);
int usbprog_register_commands(struct command_context_s *cmd_ctx);
int usbprog_init(void);
int usbprog_quit(void);
static int usbprog_execute_queue(void);
static int usbprog_speed(int speed);
static int usbprog_register_commands(struct command_context_s *cmd_ctx);
static int usbprog_init(void);
static int usbprog_quit(void);
void usbprog_end_state(tap_state_t state);
void usbprog_state_move(void);
void usbprog_path_move(pathmove_command_t *cmd);
void usbprog_runtest(int num_cycles);
void usbprog_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size);
static void usbprog_end_state(tap_state_t state);
static void usbprog_state_move(void);
static void usbprog_path_move(pathmove_command_t *cmd);
static void usbprog_runtest(int num_cycles);
static void usbprog_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size);
jtag_interface_t usbprog_interface =
{
@ -91,43 +91,44 @@ struct usbprog_jtag
struct usb_dev_handle* usb_handle;
};
struct usbprog_jtag * usbprog_jtag_handle;
static struct usbprog_jtag * usbprog_jtag_handle;
struct usbprog_jtag* usbprog_jtag_open(void);
void usbprog_jtag_close(struct usbprog_jtag *usbprog_jtag);
void usbprog_jtag_init(struct usbprog_jtag *usbprog_jtag);
unsigned char usbprog_jtag_message(struct usbprog_jtag *usbprog_jtag, char *msg, int msglen);
static struct usbprog_jtag* usbprog_jtag_open(void);
//static void usbprog_jtag_close(struct usbprog_jtag *usbprog_jtag);
static void usbprog_jtag_init(struct usbprog_jtag *usbprog_jtag);
static unsigned char usbprog_jtag_message(struct usbprog_jtag *usbprog_jtag, char *msg, int msglen);
void usbprog_jtag_read_tdo(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
void usbprog_jtag_write_and_read(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
void usbprog_jtag_write_tms(struct usbprog_jtag *usbprog_jtag, char tms_scan);
static void usbprog_jtag_read_tdo(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
static void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
static void usbprog_jtag_write_and_read(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
static void usbprog_jtag_write_tms(struct usbprog_jtag *usbprog_jtag, char tms_scan);
char tms_chain[64];
int tms_chain_index;
void usbprog_jtag_tms_collect(char tms_scan);
void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag);
static char tms_chain[64];
static int tms_chain_index;
void usbprog_write(int tck, int tms, int tdi);
void usbprog_reset(int trst, int srst);
static void usbprog_jtag_tms_collect(char tms_scan);
static void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag);
void usbprog_jtag_set_direction(struct usbprog_jtag *usbprog_jtag, unsigned char direction);
void usbprog_jtag_write_slice(struct usbprog_jtag *usbprog_jtag,unsigned char value);
unsigned char usbprog_jtag_get_port(struct usbprog_jtag *usbprog_jtag);
void usbprog_jtag_set_bit(struct usbprog_jtag *usbprog_jtag,int bit, int value);
int usbprog_jtag_get_bit(struct usbprog_jtag *usbprog_jtag, int bit);
static void usbprog_write(int tck, int tms, int tdi);
static void usbprog_reset(int trst, int srst);
int usbprog_speed(int speed)
static void usbprog_jtag_set_direction(struct usbprog_jtag *usbprog_jtag, unsigned char direction);
static void usbprog_jtag_write_slice(struct usbprog_jtag *usbprog_jtag,unsigned char value);
//static unsigned char usbprog_jtag_get_port(struct usbprog_jtag *usbprog_jtag);
static void usbprog_jtag_set_bit(struct usbprog_jtag *usbprog_jtag,int bit, int value);
//static int usbprog_jtag_get_bit(struct usbprog_jtag *usbprog_jtag, int bit);
static int usbprog_speed(int speed)
{
return ERROR_OK;
}
int usbprog_register_commands(struct command_context_s *cmd_ctx)
static int usbprog_register_commands(struct command_context_s *cmd_ctx)
{
return ERROR_OK;
}
int usbprog_execute_queue(void)
static int usbprog_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue; /* currently processed command */
int scan_size;
@ -209,7 +210,7 @@ int usbprog_execute_queue(void)
return ERROR_OK;
}
int usbprog_init(void)
static int usbprog_init(void)
{
usbprog_jtag_handle = usbprog_jtag_open();
@ -229,13 +230,13 @@ int usbprog_init(void)
return ERROR_OK;
}
int usbprog_quit(void)
static int usbprog_quit(void)
{
return ERROR_OK;
}
/*************** jtag execute commands **********************/
void usbprog_end_state(tap_state_t state)
static void usbprog_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
tap_set_end_state(state);
@ -246,7 +247,7 @@ void usbprog_end_state(tap_state_t state)
}
}
void usbprog_state_move(void)
static void usbprog_state_move(void)
{
int i = 0, tms = 0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
@ -260,7 +261,7 @@ void usbprog_state_move(void)
tap_set_state(tap_get_end_state());
}
void usbprog_path_move(pathmove_command_t *cmd)
static void usbprog_path_move(pathmove_command_t *cmd)
{
int num_states = cmd->num_states;
int state_count;
@ -298,7 +299,7 @@ void usbprog_path_move(pathmove_command_t *cmd)
tap_set_end_state(tap_get_state());
}
void usbprog_runtest(int num_cycles)
static void usbprog_runtest(int num_cycles)
{
int i;
@ -339,7 +340,7 @@ void usbprog_runtest(int num_cycles)
*/
}
void usbprog_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
static void usbprog_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
{
tap_state_t saved_end_state = tap_get_end_state();
@ -379,7 +380,7 @@ void usbprog_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
/*************** jtag wrapper functions *********************/
void usbprog_write(int tck, int tms, int tdi)
static void usbprog_write(int tck, int tms, int tdi)
{
unsigned char output_value=0x00;
@ -394,7 +395,7 @@ void usbprog_write(int tck, int tms, int tdi)
}
/* (1) assert or (0) deassert reset lines */
void usbprog_reset(int trst, int srst)
static void usbprog_reset(int trst, int srst)
{
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
@ -449,13 +450,15 @@ struct usbprog_jtag* usbprog_jtag_open(void)
return 0;
}
void usbprog_jtag_close(struct usbprog_jtag *usbprog_jtag)
#if 0
static void usbprog_jtag_close(struct usbprog_jtag *usbprog_jtag)
{
usb_close(usbprog_jtag->usb_handle);
free(usbprog_jtag);
}
#endif
unsigned char usbprog_jtag_message(struct usbprog_jtag *usbprog_jtag, char *msg, int msglen)
static unsigned char usbprog_jtag_message(struct usbprog_jtag *usbprog_jtag, char *msg, int msglen)
{
int res = usb_bulk_write(usbprog_jtag->usb_handle, 3, msg,msglen, 100);
if ((msg[0] == 2) || (msg[0] == 1) || (msg[0] == 4) || (msg[0] == 0) || \
@ -475,12 +478,12 @@ unsigned char usbprog_jtag_message(struct usbprog_jtag *usbprog_jtag, char *msg,
return 0;
}
void usbprog_jtag_init(struct usbprog_jtag *usbprog_jtag)
static void usbprog_jtag_init(struct usbprog_jtag *usbprog_jtag)
{
usbprog_jtag_set_direction(usbprog_jtag, 0xFE);
}
void usbprog_jtag_write_and_read(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
static void usbprog_jtag_write_and_read(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
{
char tmp[64]; /* fastes packet size for usb controller */
int send_bits, bufindex = 0, fillindex = 0, i, loops;
@ -535,7 +538,7 @@ void usbprog_jtag_write_and_read(struct usbprog_jtag *usbprog_jtag, char * buffe
}
}
void usbprog_jtag_read_tdo(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
static void usbprog_jtag_read_tdo(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
{
char tmp[64]; /* fastes packet size for usb controller */
int send_bits, fillindex = 0, i, loops;
@ -582,7 +585,7 @@ void usbprog_jtag_read_tdo(struct usbprog_jtag *usbprog_jtag, char * buffer, int
}
}
void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
static void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buffer, int size)
{
char tmp[64]; /* fastes packet size for usb controller */
int send_bits, bufindex = 0, i, loops;
@ -618,12 +621,12 @@ void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buffer, in
}
}
void usbprog_jtag_write_tms(struct usbprog_jtag *usbprog_jtag, char tms_scan)
static void usbprog_jtag_write_tms(struct usbprog_jtag *usbprog_jtag, char tms_scan)
{
usbprog_jtag_tms_collect(tms_scan);
}
void usbprog_jtag_set_direction(struct usbprog_jtag *usbprog_jtag, unsigned char direction)
static void usbprog_jtag_set_direction(struct usbprog_jtag *usbprog_jtag, unsigned char direction)
{
char tmp[2];
tmp[0] = PORT_DIRECTION;
@ -631,7 +634,7 @@ void usbprog_jtag_set_direction(struct usbprog_jtag *usbprog_jtag, unsigned char
usbprog_jtag_message(usbprog_jtag, tmp, 2);
}
void usbprog_jtag_write_slice(struct usbprog_jtag *usbprog_jtag,unsigned char value)
static void usbprog_jtag_write_slice(struct usbprog_jtag *usbprog_jtag,unsigned char value)
{
char tmp[2];
tmp[0] = PORT_SET;
@ -639,15 +642,17 @@ void usbprog_jtag_write_slice(struct usbprog_jtag *usbprog_jtag,unsigned char va
usbprog_jtag_message(usbprog_jtag, tmp, 2);
}
unsigned char usbprog_jtag_get_port(struct usbprog_jtag *usbprog_jtag)
#if 0
static unsigned char usbprog_jtag_get_port(struct usbprog_jtag *usbprog_jtag)
{
char tmp[2];
tmp[0] = PORT_GET;
tmp[1] = 0x00;
return usbprog_jtag_message(usbprog_jtag, tmp, 2);
}
#endif
void usbprog_jtag_set_bit(struct usbprog_jtag *usbprog_jtag,int bit, int value)
static void usbprog_jtag_set_bit(struct usbprog_jtag *usbprog_jtag,int bit, int value)
{
char tmp[3];
tmp[0] = PORT_SETBIT;
@ -659,7 +664,8 @@ void usbprog_jtag_set_bit(struct usbprog_jtag *usbprog_jtag,int bit, int value)
usbprog_jtag_message(usbprog_jtag, tmp, 3);
}
int usbprog_jtag_get_bit(struct usbprog_jtag *usbprog_jtag, int bit)
#if 0
static int usbprog_jtag_get_bit(struct usbprog_jtag *usbprog_jtag, int bit)
{
char tmp[2];
tmp[0] = PORT_GETBIT;
@ -670,14 +676,15 @@ int usbprog_jtag_get_bit(struct usbprog_jtag *usbprog_jtag, int bit)
else
return 0;
}
#endif
void usbprog_jtag_tms_collect(char tms_scan)
static void usbprog_jtag_tms_collect(char tms_scan)
{
tms_chain[tms_chain_index] = tms_scan;
tms_chain_index++;
}
void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag)
static void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag)
{
int i;
/* LOG_INFO("TMS SEND"); */

View File

@ -49,10 +49,10 @@
#define DEBUG_JTAG_IO(expr ...)
#endif
u16 vsllink_vid;
u16 vsllink_pid;
u8 vsllink_bulkout;
u8 vsllink_bulkin;
static u16 vsllink_vid;
static u16 vsllink_pid;
static u8 vsllink_bulkout;
static u8 vsllink_bulkin;
#define VSLLINK_USB_TIMEOUT 10000
@ -104,7 +104,7 @@ static u8* vsllink_usb_out_buffer = NULL;
*
* SD->SD and SI->SI have to be caught in interface specific code
*/
u8 VSLLINK_tap_move[6][6] =
static u8 VSLLINK_tap_move[6][6] =
{
/* TLR RTI SD PD SI PI */
{0xff, 0x7f, 0x2f, 0x0a, 0x37, 0x16}, /* TLR */
@ -121,7 +121,7 @@ typedef struct insert_insignificant_operation
unsigned char insert_position;
}insert_insignificant_operation_t;
insert_insignificant_operation_t VSLLINK_TAP_MOVE_INSERT_INSIGNIFICANT[6][6] =
static insert_insignificant_operation_t VSLLINK_TAP_MOVE_INSERT_INSIGNIFICANT[6][6] =
{
/* stuff offset */
{/* TLR */
@ -168,7 +168,7 @@ insert_insignificant_operation_t VSLLINK_TAP_MOVE_INSERT_INSIGNIFICANT[6][6] =
{0, 0,}}, /* PI */
};
u8 VSLLINK_BIT_MSK[8] =
static u8 VSLLINK_BIT_MSK[8] =
{
0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f
};
@ -187,35 +187,35 @@ static int pending_scan_results_length;
static pending_scan_result_t pending_scan_results_buffer[MAX_PENDING_SCAN_RESULTS];
/* External interface functions */
int vsllink_execute_queue(void);
int vsllink_speed(int speed);
int vsllink_khz(int khz, int *jtag_speed);
int vsllink_speed_div(int jtag_speed, int *khz);
int vsllink_register_commands(struct command_context_s *cmd_ctx);
int vsllink_init(void);
int vsllink_quit(void);
static int vsllink_execute_queue(void);
static int vsllink_speed(int speed);
static int vsllink_khz(int khz, int *jtag_speed);
static int vsllink_speed_div(int jtag_speed, int *khz);
static int vsllink_register_commands(struct command_context_s *cmd_ctx);
static int vsllink_init(void);
static int vsllink_quit(void);
/* CLI command handler functions */
int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
static int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
/* Queue command functions */
void vsllink_end_state(tap_state_t state);
void vsllink_state_move(void);
void vsllink_path_move(int num_states, tap_state_t *path);
void vsllink_runtest(int num_cycles);
void vsllink_stableclocks(int num_cycles, int tms);
void vsllink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
void vsllink_reset(int trst, int srst);
void vsllink_simple_command(u8 command);
static void vsllink_end_state(tap_state_t state);
static void vsllink_state_move(void);
static void vsllink_path_move(int num_states, tap_state_t *path);
static void vsllink_runtest(int num_cycles);
static void vsllink_stableclocks(int num_cycles, int tms);
static void vsllink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command);
static void vsllink_reset(int trst, int srst);
static void vsllink_simple_command(u8 command);
/* VSLLink tap buffer functions */
void vsllink_tap_init(void);
int vsllink_tap_execute(void);
void vsllink_tap_ensure_space(int scans, int bytes);
void vsllink_tap_append_scan(int length, u8 *buffer, scan_command_t *command, int offset);
static void vsllink_tap_init(void);
static int vsllink_tap_execute(void);
static void vsllink_tap_ensure_space(int scans, int bytes);
static void vsllink_tap_append_scan(int length, u8 *buffer, scan_command_t *command, int offset);
/* VSLLink lowlevel functions */
typedef struct vsllink_jtag
@ -223,18 +223,20 @@ typedef struct vsllink_jtag
struct usb_dev_handle* usb_handle;
} vsllink_jtag_t;
vsllink_jtag_t *vsllink_usb_open(void);
void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag);
int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length);
int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length);
int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag);
static vsllink_jtag_t *vsllink_usb_open(void);
static void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag);
static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length);
static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length);
static int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag);
void vsllink_debug_buffer(u8 *buffer, int length);
#ifdef _DEBUG_USB_COMMS_
static void vsllink_debug_buffer(u8 *buffer, int length);
#endif
static int vsllink_tms_data_len = 0;
static u8* vsllink_tms_cmd_pos;
vsllink_jtag_t* vsllink_jtag_handle;
static vsllink_jtag_t* vsllink_jtag_handle;
/***************************************************************************/
/* External interface implementation */
@ -251,7 +253,7 @@ jtag_interface_t vsllink_interface =
.quit = vsllink_quit
};
int vsllink_execute_queue(void)
static int vsllink_execute_queue(void)
{
jtag_command_t *cmd = jtag_command_queue;
int scan_size;
@ -384,7 +386,7 @@ int vsllink_execute_queue(void)
return vsllink_tap_execute();
}
int vsllink_speed(int speed)
static int vsllink_speed(int speed)
{
int result;
@ -407,21 +409,21 @@ int vsllink_speed(int speed)
return ERROR_OK;
}
int vsllink_khz(int khz, int *jtag_speed)
static int vsllink_khz(int khz, int *jtag_speed)
{
*jtag_speed = khz;
return ERROR_OK;
}
int vsllink_speed_div(int jtag_speed, int *khz)
static int vsllink_speed_div(int jtag_speed, int *khz)
{
*khz = jtag_speed;
return ERROR_OK;
}
int vsllink_register_commands(struct command_context_s *cmd_ctx)
static int vsllink_register_commands(struct command_context_s *cmd_ctx)
{
register_command(cmd_ctx, NULL, "vsllink_usb_vid", vsllink_handle_usb_vid_command,
COMMAND_CONFIG, NULL);
@ -435,7 +437,7 @@ int vsllink_register_commands(struct command_context_s *cmd_ctx)
return ERROR_OK;
}
int vsllink_init(void)
static int vsllink_init(void)
{
int check_cnt;
int result;
@ -521,7 +523,7 @@ int vsllink_init(void)
return ERROR_OK;
}
int vsllink_quit(void)
static int vsllink_quit(void)
{
if ((vsllink_usb_in_buffer != NULL) && (vsllink_usb_out_buffer != NULL))
{
@ -553,7 +555,7 @@ int vsllink_quit(void)
// when vsllink_tms_data_len > 0, vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx] is the byte that need to be appended.
// length of VSLLINK_CMDJTAGSEQ_TMSBYTE has been set, no need to set it here.
void vsllink_append_tms(void)
static void vsllink_append_tms(void)
{
u8 tms_scan = VSLLINK_TAP_MOVE(tap_get_state(), tap_get_end_state());
u16 tms2;
@ -587,7 +589,7 @@ void vsllink_append_tms(void)
/***************************************************************************/
/* Queue command implementations */
void vsllink_end_state(tap_state_t state)
static void vsllink_end_state(tap_state_t state)
{
if (tap_is_state_stable(state))
{
@ -601,7 +603,7 @@ void vsllink_end_state(tap_state_t state)
}
/* Goes to the end state. */
void vsllink_state_move(void)
static void vsllink_state_move(void)
{
if (vsllink_tms_data_len > 0)
{
@ -619,7 +621,7 @@ void vsllink_state_move(void)
}
// write tms from current vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx]
void vsllink_add_path(int start, int num, tap_state_t *path)
static void vsllink_add_path(int start, int num, tap_state_t *path)
{
int i;
@ -658,7 +660,7 @@ void vsllink_add_path(int start, int num, tap_state_t *path)
tap_set_end_state(tap_get_state());
}
void vsllink_path_move(int num_states, tap_state_t *path)
static void vsllink_path_move(int num_states, tap_state_t *path)
{
int i, tms_len, tms_cmd_pos, path_idx = 0;
@ -778,7 +780,7 @@ void vsllink_path_move(int num_states, tap_state_t *path)
}
}
void vsllink_stableclocks(int num_cycles, int tms)
static void vsllink_stableclocks(int num_cycles, int tms)
{
int tms_len;
u16 tms_append_byte;
@ -933,7 +935,7 @@ void vsllink_stableclocks(int num_cycles, int tms)
}
}
void vsllink_runtest(int num_cycles)
static void vsllink_runtest(int num_cycles)
{
tap_state_t saved_end_state = tap_get_end_state();
@ -956,7 +958,7 @@ void vsllink_runtest(int num_cycles)
}
}
void vsllink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
static void vsllink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
{
tap_state_t saved_end_state;
u8 bits_left, tms_tmp, tdi_len;
@ -1073,7 +1075,7 @@ void vsllink_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size, s
tap_set_state(tap_get_end_state());
}
void vsllink_reset(int trst, int srst)
static void vsllink_reset(int trst, int srst)
{
int result;
@ -1099,7 +1101,7 @@ void vsllink_reset(int trst, int srst)
}
}
void vsllink_simple_command(u8 command)
static void vsllink_simple_command(u8 command)
{
int result;
@ -1114,7 +1116,7 @@ void vsllink_simple_command(u8 command)
}
}
int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc != 1) {
LOG_ERROR("parameter error, should be one parameter for VID");
@ -1126,7 +1128,7 @@ int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, char *cmd,
return ERROR_OK;
}
int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc != 1) {
LOG_ERROR("parameter error, should be one parameter for PID");
@ -1138,7 +1140,7 @@ int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, char *cmd,
return ERROR_OK;
}
int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc != 1) {
LOG_ERROR("parameter error, should be one parameter for BULKIN endpoint");
@ -1150,7 +1152,7 @@ int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx, char *c
return ERROR_OK;
}
int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
static int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
if (argc != 1) {
LOG_ERROR("parameter error, should be one parameter for BULKOUT endpoint");
@ -1165,14 +1167,14 @@ int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx, char *
/***************************************************************************/
/* VSLLink tap functions */
void vsllink_tap_init(void)
static void vsllink_tap_init(void)
{
vsllink_usb_out_buffer_idx = 0;
vsllink_usb_in_want_length = 0;
pending_scan_results_length = 0;
}
void vsllink_tap_ensure_space(int scans, int bytes)
static void vsllink_tap_ensure_space(int scans, int bytes)
{
int available_scans = MAX_PENDING_SCAN_RESULTS - pending_scan_results_length;
int available_bytes = VSLLINK_BufferSize - vsllink_usb_out_buffer_idx;
@ -1183,7 +1185,7 @@ void vsllink_tap_ensure_space(int scans, int bytes)
}
}
void vsllink_tap_append_scan(int length, u8 *buffer, scan_command_t *command, int offset)
static void vsllink_tap_append_scan(int length, u8 *buffer, scan_command_t *command, int offset)
{
pending_scan_result_t *pending_scan_result = &pending_scan_results_buffer[pending_scan_results_length];
int i;
@ -1211,7 +1213,7 @@ void vsllink_tap_append_scan(int length, u8 *buffer, scan_command_t *command, in
/* Pad and send a tap sequence to the device, and receive the answer.
* For the purpose of padding we assume that we are in reset or idle or pause state. */
int vsllink_tap_execute(void)
static int vsllink_tap_execute(void)
{
int i;
int result;
@ -1350,14 +1352,14 @@ vsllink_jtag_t* vsllink_usb_open(void)
return NULL;
}
void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag)
static void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag)
{
usb_close(vsllink_jtag->usb_handle);
free(vsllink_jtag);
}
/* Send a message and receive the reply. */
int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length)
static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length)
{
int result;
@ -1387,7 +1389,7 @@ int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_len
}
/* Write data from out_buffer to USB. */
int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length)
static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length)
{
int result;
@ -1415,7 +1417,7 @@ int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length)
}
/* Read data from USB into in_buffer. */
int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag)
static int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag)
{
int result = usb_bulk_read(vsllink_jtag->usb_handle, vsllink_bulkin, \
(char *)vsllink_usb_in_buffer, VSLLINK_BufferSize, VSLLINK_USB_TIMEOUT);
@ -1431,7 +1433,8 @@ int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag)
#define BYTES_PER_LINE 16
void vsllink_debug_buffer(u8 *buffer, int length)
#ifdef _DEBUG_USB_COMMS_
static void vsllink_debug_buffer(u8 *buffer, int length)
{
char line[81];
char s[4];
@ -1449,3 +1452,4 @@ void vsllink_debug_buffer(u8 *buffer, int length)
LOG_DEBUG(line);
}
}
#endif // _DEBUG_USB_COMMS_