ULINK driver: Remove typedefs in OpenULINK firmware: Use typedefs from stdint.h (uint8_t, uint16_t) instead of custom typedefs in shorttypes.h (u8, u16, ...)
Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at>
This commit is contained in:
parent
ea7c87e5e7
commit
70d9d808e5
|
@ -61,8 +61,7 @@ HEADERS = $(INCLUDE_DIR)/main.h \
|
|||
$(INCLUDE_DIR)/delay.h \
|
||||
$(INCLUDE_DIR)/reg_ezusb.h \
|
||||
$(INCLUDE_DIR)/io.h \
|
||||
$(INCLUDE_DIR)/msgtypes.h \
|
||||
$(INCLUDE_DIR)/shorttypes.h
|
||||
$(INCLUDE_DIR)/msgtypes.h
|
||||
|
||||
# Disable all built-in rules.
|
||||
.SUFFIXES:
|
||||
|
|
|
@ -21,14 +21,14 @@
|
|||
#ifndef __DELAY_H
|
||||
#define __DELAY_H
|
||||
|
||||
#include "shorttypes.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#define NOP {__asm nop __endasm;}
|
||||
|
||||
void delay_5us(void);
|
||||
void delay_1ms(void);
|
||||
|
||||
void delay_us(u16 delay);
|
||||
void delay_ms(u16 delay);
|
||||
void delay_us(uint16_t delay);
|
||||
void delay_ms(uint16_t delay);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,28 +21,28 @@
|
|||
#ifndef __JTAG_H
|
||||
#define __JTAG_H
|
||||
|
||||
#include "shorttypes.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#define NOP {__asm nop __endasm;}
|
||||
|
||||
void jtag_scan_in(u8 out_offset, u8 in_offset);
|
||||
void jtag_slow_scan_in(u8 out_offset, u8 in_offset);
|
||||
void jtag_scan_in(uint8_t out_offset, uint8_t in_offset);
|
||||
void jtag_slow_scan_in(uint8_t out_offset, uint8_t in_offset);
|
||||
|
||||
void jtag_scan_out(u8 out_offset);
|
||||
void jtag_slow_scan_out(u8 out_offset);
|
||||
void jtag_scan_out(uint8_t out_offset);
|
||||
void jtag_slow_scan_out(uint8_t out_offset);
|
||||
|
||||
void jtag_scan_io(u8 out_offset, u8 in_offset);
|
||||
void jtag_slow_scan_io(u8 out_offset, u8 in_offset);
|
||||
void jtag_scan_io(uint8_t out_offset, uint8_t in_offset);
|
||||
void jtag_slow_scan_io(uint8_t out_offset, uint8_t in_offset);
|
||||
|
||||
void jtag_clock_tck(u16 count);
|
||||
void jtag_slow_clock_tck(u16 count);
|
||||
void jtag_clock_tms(u8 count, u8 sequence);
|
||||
void jtag_slow_clock_tms(u8 count, u8 sequence);
|
||||
void jtag_clock_tck(uint16_t count);
|
||||
void jtag_slow_clock_tck(uint16_t count);
|
||||
void jtag_clock_tms(uint8_t count, uint8_t sequence);
|
||||
void jtag_slow_clock_tms(uint8_t count, uint8_t sequence);
|
||||
|
||||
u16 jtag_get_signals(void);
|
||||
void jtag_set_signals(u8 low, u8 high);
|
||||
uint16_t jtag_get_signals(void);
|
||||
void jtag_set_signals(uint8_t low, uint8_t high);
|
||||
|
||||
void jtag_configure_tck_delay(u8 scan_in, u8 scan_out, u8 scan_io, u8 tck,
|
||||
u8 tms);
|
||||
void jtag_configure_tck_delay(uint8_t scan_in, uint8_t scan_out,
|
||||
uint8_t scan_io, uint8_t tck, uint8_t tms);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#ifndef __PROTOCOL_H
|
||||
#define __PROTOCOL_H
|
||||
|
||||
#include "shorttypes.h"
|
||||
#include "common.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2011 by Martin Schmoelzer *
|
||||
* <martin.schmoelzer@student.tuwien.ac.at> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef __SHORTTYPES_H
|
||||
#define __SHORTTYPES_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* @file Integer type definitions for shorter code (easier to stay within 80
|
||||
* character maximum line length).
|
||||
*/
|
||||
|
||||
/* Signed integers */
|
||||
typedef int8_t s8;
|
||||
typedef int16_t s16;
|
||||
typedef int32_t s32;
|
||||
|
||||
/* Unsigned integers */
|
||||
typedef uint8_t u8;
|
||||
typedef uint16_t u16;
|
||||
typedef uint32_t u32;
|
||||
|
||||
#endif
|
|
@ -21,16 +21,16 @@
|
|||
#ifndef __USB_H
|
||||
#define __USB_H
|
||||
|
||||
#include "shorttypes.h"
|
||||
#include "reg_ezusb.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define NULL (void*)0;
|
||||
|
||||
/* High and Low byte of a word (u16) */
|
||||
#define HI8(word) (u8)(((u16)word >> 8) & 0xff)
|
||||
#define LO8(word) (u8)((u16)word & 0xff)
|
||||
/* High and Low byte of a word (uint16_t) */
|
||||
#define HI8(word) (uint8_t)(((uint16_t)word >> 8) & 0xff)
|
||||
#define LO8(word) (uint8_t)((uint16_t)word & 0xff)
|
||||
|
||||
/* Convenience functions */
|
||||
#define STALL_EP0() EP0CS |= EP0STALL
|
||||
|
@ -49,80 +49,80 @@
|
|||
|
||||
/** USB Device Descriptor. See USB 1.1 spec, pp. 196 - 198 */
|
||||
struct usb_device_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< DEVICE Descriptor Type.
|
||||
u16 bcdUSB; ///< USB specification release number (BCD).
|
||||
u8 bDeviceClass; ///< Class code.
|
||||
u8 bDeviceSubClass; ///< Subclass code.
|
||||
u8 bDeviceProtocol; ///< Protocol code.
|
||||
u8 bMaxPacketSize0; ///< Maximum packet size for EP0 (8, 16, 32, 64).
|
||||
u16 idVendor; ///< USB Vendor ID.
|
||||
u16 idProduct; ///< USB Product ID.
|
||||
u16 bcdDevice; ///< Device Release Number (BCD).
|
||||
u8 iManufacturer; ///< Index of manufacturer string descriptor.
|
||||
u8 iProduct; ///< Index of product string descriptor.
|
||||
u8 iSerialNumber; ///< Index of string descriptor containing serial #.
|
||||
u8 bNumConfigurations; ///< Number of possible configurations.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< DEVICE Descriptor Type.
|
||||
uint16_t bcdUSB; ///< USB specification release number (BCD).
|
||||
uint8_t bDeviceClass; ///< Class code.
|
||||
uint8_t bDeviceSubClass; ///< Subclass code.
|
||||
uint8_t bDeviceProtocol; ///< Protocol code.
|
||||
uint8_t bMaxPacketSize0; ///< Maximum packet size for EP0 (8, 16, 32, 64).
|
||||
uint16_t idVendor; ///< USB Vendor ID.
|
||||
uint16_t idProduct; ///< USB Product ID.
|
||||
uint16_t bcdDevice; ///< Device Release Number (BCD).
|
||||
uint8_t iManufacturer; ///< Index of manufacturer string descriptor.
|
||||
uint8_t iProduct; ///< Index of product string descriptor.
|
||||
uint8_t iSerialNumber; ///< Index of string descriptor containing serial #.
|
||||
uint8_t bNumConfigurations; ///< Number of possible configurations.
|
||||
};
|
||||
|
||||
/** USB Configuration Descriptor. See USB 1.1 spec, pp. 199 - 200 */
|
||||
struct usb_config_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< CONFIGURATION descriptor type.
|
||||
u16 wTotalLength; ///< Combined total length of all descriptors.
|
||||
u8 bNumInterfaces; ///< Number of interfaces in this configuration.
|
||||
u8 bConfigurationValue; ///< Value used to select this configuration.
|
||||
u8 iConfiguration; ///< Index of configuration string descriptor.
|
||||
u8 bmAttributes; ///< Configuration characteristics.
|
||||
u8 MaxPower; ///< Maximum power consumption in 2 mA units.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< CONFIGURATION descriptor type.
|
||||
uint16_t wTotalLength; ///< Combined total length of all descriptors.
|
||||
uint8_t bNumInterfaces; ///< Number of interfaces in this configuration.
|
||||
uint8_t bConfigurationValue;///< Value used to select this configuration.
|
||||
uint8_t iConfiguration; ///< Index of configuration string descriptor.
|
||||
uint8_t bmAttributes; ///< Configuration characteristics.
|
||||
uint8_t MaxPower; ///< Maximum power consumption in 2 mA units.
|
||||
};
|
||||
|
||||
/** USB Interface Descriptor. See USB 1.1 spec, pp. 201 - 203 */
|
||||
struct usb_interface_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< INTERFACE descriptor type.
|
||||
u8 bInterfaceNumber; ///< Interface number.
|
||||
u8 bAlternateSetting; ///< Value used to select alternate setting.
|
||||
u8 bNumEndpoints; ///< Number of endpoints used by this interface.
|
||||
u8 bInterfaceClass; ///< Class code.
|
||||
u8 bInterfaceSubclass; ///< Subclass code.
|
||||
u8 bInterfaceProtocol; ///< Protocol code.
|
||||
u8 iInterface; ///< Index of interface string descriptor.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< INTERFACE descriptor type.
|
||||
uint8_t bInterfaceNumber; ///< Interface number.
|
||||
uint8_t bAlternateSetting; ///< Value used to select alternate setting.
|
||||
uint8_t bNumEndpoints; ///< Number of endpoints used by this interface.
|
||||
uint8_t bInterfaceClass; ///< Class code.
|
||||
uint8_t bInterfaceSubclass; ///< Subclass code.
|
||||
uint8_t bInterfaceProtocol; ///< Protocol code.
|
||||
uint8_t iInterface; ///< Index of interface string descriptor.
|
||||
};
|
||||
|
||||
/** USB Endpoint Descriptor. See USB 1.1 spec, pp. 203 - 204 */
|
||||
struct usb_endpoint_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< ENDPOINT descriptor type.
|
||||
u8 bEndpointAddress; ///< Endpoint Address: USB 1.1 spec, table 9-10.
|
||||
u8 bmAttributes; ///< Endpoint Attributes: USB 1.1 spec, table 9-10.
|
||||
u16 wMaxPacketSize; ///< Maximum packet size for this endpoint.
|
||||
u8 bInterval; ///< Polling interval (in ms) for this endpoint.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< ENDPOINT descriptor type.
|
||||
uint8_t bEndpointAddress; ///< Endpoint Address: USB 1.1 spec, table 9-10.
|
||||
uint8_t bmAttributes; ///< Endpoint Attributes: USB 1.1 spec, table 9-10.
|
||||
uint16_t wMaxPacketSize; ///< Maximum packet size for this endpoint.
|
||||
uint8_t bInterval; ///< Polling interval (in ms) for this endpoint.
|
||||
};
|
||||
|
||||
/** USB Language Descriptor. See USB 1.1 spec, pp. 204 - 205 */
|
||||
struct usb_language_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< STRING descriptor type.
|
||||
u16 wLANGID[]; ///< LANGID codes.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< STRING descriptor type.
|
||||
uint16_t wLANGID[]; ///< LANGID codes.
|
||||
};
|
||||
|
||||
/** USB String Descriptor. See USB 1.1 spec, pp. 204 - 205 */
|
||||
struct usb_string_descriptor {
|
||||
u8 bLength; ///< Size of this descriptor in bytes.
|
||||
u8 bDescriptorType; ///< STRING descriptor type.
|
||||
u16 bString[]; ///< UNICODE encoded string.
|
||||
uint8_t bLength; ///< Size of this descriptor in bytes.
|
||||
uint8_t bDescriptorType; ///< STRING descriptor type.
|
||||
uint16_t bString[]; ///< UNICODE encoded string.
|
||||
};
|
||||
|
||||
/********************** USB Control Endpoint 0 related *********************/
|
||||
|
||||
/** USB Control Setup Data. See USB 1.1 spec, pp. 183 - 185 */
|
||||
struct setup_data {
|
||||
u8 bmRequestType; ///< Characteristics of a request.
|
||||
u8 bRequest; ///< Specific request.
|
||||
u16 wValue; ///< Field that varies according to request.
|
||||
u16 wIndex; ///< Field that varies according to request.
|
||||
u16 wLength; ///< Number of bytes to transfer in data stage.
|
||||
uint8_t bmRequestType; ///< Characteristics of a request.
|
||||
uint8_t bRequest; ///< Specific request.
|
||||
uint16_t wValue; ///< Field that varies according to request.
|
||||
uint16_t wIndex; ///< Field that varies according to request.
|
||||
uint16_t wLength; ///< Number of bytes to transfer in data stage.
|
||||
};
|
||||
|
||||
/* External declarations for variables that need to be accessed outside of
|
||||
|
@ -252,8 +252,8 @@ enum usb_isr {
|
|||
|
||||
/*************************** Function Prototypes ***************************/
|
||||
|
||||
__xdata u8* usb_get_endpoint_cs_reg(u8 ep);
|
||||
void usb_reset_data_toggle(u8 ep);
|
||||
__xdata uint8_t* usb_get_endpoint_cs_reg(uint8_t ep);
|
||||
void usb_reset_data_toggle(uint8_t ep);
|
||||
|
||||
bool usb_handle_get_status(void);
|
||||
bool usb_handle_clear_feature(void);
|
||||
|
|
|
@ -26,24 +26,24 @@ void delay_5us(void)
|
|||
}
|
||||
|
||||
void delay_1ms(void) {
|
||||
u16 i;
|
||||
uint16_t i;
|
||||
|
||||
for (i = 0; i < 598; i++);
|
||||
}
|
||||
|
||||
void delay_us(u16 delay)
|
||||
void delay_us(uint16_t delay)
|
||||
{
|
||||
u16 i;
|
||||
u16 maxcount = (delay / 5);
|
||||
uint16_t i;
|
||||
uint16_t maxcount = (delay / 5);
|
||||
|
||||
for (i = 0; i < maxcount; i++) {
|
||||
delay_5us();
|
||||
}
|
||||
}
|
||||
|
||||
void delay_ms(u16 delay)
|
||||
void delay_ms(uint16_t delay)
|
||||
{
|
||||
u16 i;
|
||||
uint16_t i;
|
||||
|
||||
for (i = 0; i < delay; i++) {
|
||||
delay_1ms();
|
||||
|
|
|
@ -27,19 +27,19 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
/** Delay value for SCAN_IN operations with less than maximum TCK frequency */
|
||||
u8 delay_scan_in = 0;
|
||||
uint8_t delay_scan_in = 0;
|
||||
|
||||
/** Delay value for SCAN_OUT operations with less than maximum TCK frequency */
|
||||
u8 delay_scan_out = 0;
|
||||
uint8_t delay_scan_out = 0;
|
||||
|
||||
/** Delay value for SCAN_IO operations with less than maximum TCK frequency */
|
||||
u8 delay_scan_io = 0;
|
||||
uint8_t delay_scan_io = 0;
|
||||
|
||||
/** Delay value for CLOCK_TCK operations with less than maximum frequency */
|
||||
u8 delay_tck = 0;
|
||||
uint8_t delay_tck = 0;
|
||||
|
||||
/** Delay value for CLOCK_TMS operations with less than maximum frequency */
|
||||
u8 delay_tms = 0;
|
||||
uint8_t delay_tms = 0;
|
||||
|
||||
/**
|
||||
* Perform JTAG SCAN-IN operation at maximum TCK frequency.
|
||||
|
@ -51,14 +51,14 @@ u8 delay_tms = 0;
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_scan_in(u8 out_offset, u8 in_offset)
|
||||
void jtag_scan_in(uint8_t out_offset, uint8_t in_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdo_data, i, j;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdo_data, i, j;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -132,14 +132,14 @@ void jtag_scan_in(u8 out_offset, u8 in_offset)
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_slow_scan_in(u8 out_offset, u8 in_offset)
|
||||
void jtag_slow_scan_in(uint8_t out_offset, uint8_t in_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdo_data, i, j, k;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdo_data, i, j, k;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -220,14 +220,14 @@ void jtag_slow_scan_in(u8 out_offset, u8 in_offset)
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_scan_out(u8 out_offset)
|
||||
void jtag_scan_out(uint8_t out_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdi_data, i, j;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdi_data, i, j;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -301,14 +301,14 @@ void jtag_scan_out(u8 out_offset)
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_slow_scan_out(u8 out_offset)
|
||||
void jtag_slow_scan_out(uint8_t out_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdi_data, i, j, k;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdi_data, i, j, k;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -388,14 +388,14 @@ void jtag_slow_scan_out(u8 out_offset)
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_scan_io(u8 out_offset, u8 in_offset)
|
||||
void jtag_scan_io(uint8_t out_offset, uint8_t in_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdi_data, tdo_data, i, j;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdi_data, tdo_data, i, j;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -488,14 +488,14 @@ void jtag_scan_io(u8 out_offset, u8 in_offset)
|
|||
*
|
||||
* @param out_offset offset in OUT2BUF where payload data starts
|
||||
*/
|
||||
void jtag_slow_scan_io(u8 out_offset, u8 in_offset)
|
||||
void jtag_slow_scan_io(uint8_t out_offset, uint8_t in_offset)
|
||||
{
|
||||
u8 scan_size_bytes, bits_last_byte;
|
||||
u8 tms_count_start, tms_count_end;
|
||||
u8 tms_sequence_start, tms_sequence_end;
|
||||
u8 tdi_data, tdo_data, i, j, k;
|
||||
uint8_t scan_size_bytes, bits_last_byte;
|
||||
uint8_t tms_count_start, tms_count_end;
|
||||
uint8_t tms_sequence_start, tms_sequence_end;
|
||||
uint8_t tdi_data, tdo_data, i, j, k;
|
||||
|
||||
u8 outb_buffer;
|
||||
uint8_t outb_buffer;
|
||||
|
||||
/* Get parameters from OUT2BUF */
|
||||
scan_size_bytes = OUT2BUF[out_offset];
|
||||
|
@ -590,10 +590,10 @@ void jtag_slow_scan_io(u8 out_offset, u8 in_offset)
|
|||
*
|
||||
* @param count number of TCK clock cyclces to generate.
|
||||
*/
|
||||
void jtag_clock_tck(u16 count)
|
||||
void jtag_clock_tck(uint16_t count)
|
||||
{
|
||||
u16 i;
|
||||
u8 outb_buffer = OUTB & ~(PIN_TCK);
|
||||
uint16_t i;
|
||||
uint8_t outb_buffer = OUTB & ~(PIN_TCK);
|
||||
|
||||
for ( i = 0; i < count; i++ ) {
|
||||
OUTB = outb_buffer;
|
||||
|
@ -608,11 +608,11 @@ void jtag_clock_tck(u16 count)
|
|||
*
|
||||
* @param count number of TCK clock cyclces to generate.
|
||||
*/
|
||||
void jtag_slow_clock_tck(u16 count)
|
||||
void jtag_slow_clock_tck(uint16_t count)
|
||||
{
|
||||
u16 i;
|
||||
u8 j;
|
||||
u8 outb_buffer = OUTB & ~(PIN_TCK);
|
||||
uint16_t i;
|
||||
uint8_t j;
|
||||
uint8_t outb_buffer = OUTB & ~(PIN_TCK);
|
||||
|
||||
for ( i = 0; i < count; i++ ) {
|
||||
OUTB = outb_buffer;
|
||||
|
@ -631,10 +631,10 @@ void jtag_slow_clock_tck(u16 count)
|
|||
* @param sequence the TMS pin levels for each state transition, starting with
|
||||
* the least-significant bit.
|
||||
*/
|
||||
void jtag_clock_tms(u8 count, u8 sequence)
|
||||
void jtag_clock_tms(uint8_t count, uint8_t sequence)
|
||||
{
|
||||
u8 outb_buffer = OUTB & ~(PIN_TCK);
|
||||
u8 i;
|
||||
uint8_t outb_buffer = OUTB & ~(PIN_TCK);
|
||||
uint8_t i;
|
||||
|
||||
for ( i = 0; i < count; i++ ) {
|
||||
/* Set TMS pin according to sequence parameter */
|
||||
|
@ -660,10 +660,10 @@ void jtag_clock_tms(u8 count, u8 sequence)
|
|||
* @param sequence the TMS pin levels for each state transition, starting with
|
||||
* the least-significant bit.
|
||||
*/
|
||||
void jtag_slow_clock_tms(u8 count, u8 sequence)
|
||||
void jtag_slow_clock_tms(uint8_t count, uint8_t sequence)
|
||||
{
|
||||
u8 outb_buffer = OUTB & ~(PIN_TCK);
|
||||
u8 i, j;
|
||||
uint8_t outb_buffer = OUTB & ~(PIN_TCK);
|
||||
uint8_t i, j;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
/* Set TMS pin according to sequence parameter */
|
||||
|
@ -689,9 +689,9 @@ void jtag_slow_clock_tms(u8 count, u8 sequence)
|
|||
* of the JTAG input signals and the least-significant byte cotains the state
|
||||
* of the JTAG output signals.
|
||||
*/
|
||||
u16 jtag_get_signals(void)
|
||||
uint16_t jtag_get_signals(void)
|
||||
{
|
||||
u8 input_signal_state, output_signal_state;
|
||||
uint8_t input_signal_state, output_signal_state;
|
||||
|
||||
input_signal_state = 0;
|
||||
output_signal_state = 0;
|
||||
|
@ -715,7 +715,7 @@ u16 jtag_get_signals(void)
|
|||
/* Get states of output pins */
|
||||
output_signal_state = PINSB & MASK_PORTB_DIRECTION_OUT;
|
||||
|
||||
return ((u16)input_signal_state << 8) | ((u16)output_signal_state);
|
||||
return ((uint16_t)input_signal_state << 8) | ((uint16_t)output_signal_state);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -724,7 +724,7 @@ u16 jtag_get_signals(void)
|
|||
* @param low signals which should be de-asserted.
|
||||
* @param high signals which should be asserted.
|
||||
*/
|
||||
void jtag_set_signals(u8 low, u8 high)
|
||||
void jtag_set_signals(uint8_t low, uint8_t high)
|
||||
{
|
||||
OUTB &= ~(low & MASK_PORTB_DIRECTION_OUT);
|
||||
OUTB |= (high & MASK_PORTB_DIRECTION_OUT);
|
||||
|
@ -739,8 +739,8 @@ void jtag_set_signals(u8 low, u8 high)
|
|||
* @param tck number of delay cycles in clock_tck operations.
|
||||
* @param tms number of delay cycles in clock_tms operations.
|
||||
*/
|
||||
void jtag_configure_tck_delay(u8 scan_in, u8 scan_out, u8 scan_io, u8 tck,
|
||||
u8 tms)
|
||||
void jtag_configure_tck_delay(uint8_t scan_in, uint8_t scan_out,
|
||||
uint8_t scan_io, uint8_t tck, uint8_t tms)
|
||||
{
|
||||
delay_scan_in = scan_in;
|
||||
delay_scan_out = scan_out;
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
#include "main.h"
|
||||
|
||||
#include "shorttypes.h"
|
||||
#include "io.h"
|
||||
#include "usb.h"
|
||||
#include "protocol.h"
|
||||
|
|
|
@ -47,17 +47,17 @@
|
|||
*/
|
||||
|
||||
/** Index in EP2 Bulk-OUT data buffer that contains the current command ID */
|
||||
volatile u8 cmd_id_index;
|
||||
volatile uint8_t cmd_id_index;
|
||||
|
||||
/** Number of data bytes already in EP2 Bulk-IN buffer */
|
||||
volatile u8 payload_index_in;
|
||||
volatile uint8_t payload_index_in;
|
||||
|
||||
/**
|
||||
* Execute a SET_LEDS command.
|
||||
*/
|
||||
void execute_set_led_command(void)
|
||||
{
|
||||
u8 led_state = OUT2BUF[cmd_id_index + 1];
|
||||
uint8_t led_state = OUT2BUF[cmd_id_index + 1];
|
||||
|
||||
if (led_state & RUN_LED_ON) {
|
||||
SET_RUN_LED();
|
||||
|
@ -87,9 +87,9 @@ void execute_set_led_command(void)
|
|||
*/
|
||||
bool execute_command(void)
|
||||
{
|
||||
u8 usb_out_bytecount, usb_in_bytecount;
|
||||
u16 signal_state;
|
||||
u16 count;
|
||||
uint8_t usb_out_bytecount, usb_in_bytecount;
|
||||
uint16_t signal_state;
|
||||
uint16_t count;
|
||||
|
||||
/* Most commands do not transfer IN data. To save code space, we write 0 to
|
||||
* usb_in_bytecount here, then modify it in the switch statement below where
|
||||
|
@ -117,8 +117,8 @@ bool execute_command(void)
|
|||
break;
|
||||
case CMD_CLOCK_TCK:
|
||||
usb_out_bytecount = 2;
|
||||
count = (u16)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((u16)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
count = (uint16_t)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((uint16_t)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
jtag_clock_tck(count);
|
||||
break;
|
||||
case CMD_SLOW_SCAN_IN:
|
||||
|
@ -141,20 +141,20 @@ bool execute_command(void)
|
|||
break;
|
||||
case CMD_SLOW_CLOCK_TCK:
|
||||
usb_out_bytecount = 2;
|
||||
count = (u16)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((u16)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
count = (uint16_t)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((uint16_t)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
jtag_slow_clock_tck(count);
|
||||
break;
|
||||
case CMD_SLEEP_US:
|
||||
usb_out_bytecount = 2;
|
||||
count = (u16)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((u16)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
count = (uint16_t)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((uint16_t)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
delay_us(count);
|
||||
break;
|
||||
case CMD_SLEEP_MS:
|
||||
usb_out_bytecount = 2;
|
||||
count = (u16)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((u16)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
count = (uint16_t)OUT2BUF[cmd_id_index + 1];
|
||||
count |= ((uint16_t)OUT2BUF[cmd_id_index + 2]) << 8;
|
||||
delay_ms(count);
|
||||
break;
|
||||
case CMD_GET_SIGNALS:
|
||||
|
|
|
@ -205,10 +205,10 @@ void ep7out_isr(void) __interrupt EP7OUT_ISR { }
|
|||
* specified in \a ep
|
||||
* @return on failure: NULL
|
||||
*/
|
||||
__xdata u8* usb_get_endpoint_cs_reg(u8 ep)
|
||||
__xdata uint8_t* usb_get_endpoint_cs_reg(uint8_t ep)
|
||||
{
|
||||
/* Mask direction bit */
|
||||
u8 ep_num = ep & 0x7F;
|
||||
uint8_t ep_num = ep & 0x7F;
|
||||
|
||||
switch (ep_num) {
|
||||
case 0:
|
||||
|
@ -240,7 +240,7 @@ __xdata u8* usb_get_endpoint_cs_reg(u8 ep)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void usb_reset_data_toggle(u8 ep)
|
||||
void usb_reset_data_toggle(uint8_t ep)
|
||||
{
|
||||
/* TOGCTL register:
|
||||
+----+-----+-----+------+-----+-------+-------+-------+
|
||||
|
@ -251,7 +251,7 @@ void usb_reset_data_toggle(u8 ep)
|
|||
to the IO bit and the endpoint number to the EP2..EP0 bits. Then, in a
|
||||
separate write cycle, the R bit needs to be set.
|
||||
*/
|
||||
u8 togctl_value = (ep & 0x80 >> 3) | (ep & 0x7);
|
||||
uint8_t togctl_value = (ep & 0x80 >> 3) | (ep & 0x7);
|
||||
|
||||
/* First step: Write EP number and direction bit */
|
||||
TOGCTL = togctl_value;
|
||||
|
@ -269,7 +269,7 @@ void usb_reset_data_toggle(u8 ep)
|
|||
*/
|
||||
bool usb_handle_get_status(void)
|
||||
{
|
||||
u8 *ep_cs;
|
||||
uint8_t *ep_cs;
|
||||
|
||||
switch (setup_data.bmRequestType) {
|
||||
case GS_DEVICE:
|
||||
|
@ -322,7 +322,7 @@ bool usb_handle_get_status(void)
|
|||
*/
|
||||
bool usb_handle_clear_feature(void)
|
||||
{
|
||||
__xdata u8 *ep_cs;
|
||||
__xdata uint8_t *ep_cs;
|
||||
|
||||
switch (setup_data.bmRequestType) {
|
||||
case CF_DEVICE:
|
||||
|
@ -358,7 +358,7 @@ bool usb_handle_clear_feature(void)
|
|||
*/
|
||||
bool usb_handle_set_feature(void)
|
||||
{
|
||||
__xdata u8 *ep_cs;
|
||||
__xdata uint8_t *ep_cs;
|
||||
|
||||
switch (setup_data.bmRequestType) {
|
||||
case SF_DEVICE:
|
||||
|
@ -396,8 +396,8 @@ bool usb_handle_set_feature(void)
|
|||
*/
|
||||
bool usb_handle_get_descriptor(void)
|
||||
{
|
||||
__xdata u8 descriptor_type;
|
||||
__xdata u8 descriptor_index;
|
||||
__xdata uint8_t descriptor_type;
|
||||
__xdata uint8_t descriptor_index;
|
||||
|
||||
descriptor_type = (setup_data.wValue & 0xff00) >> 8;
|
||||
descriptor_index = setup_data.wValue & 0x00ff;
|
||||
|
|
Loading…
Reference in New Issue