Пытаюсь поднять USB на AT91SAM7A3
После обьявления четвертой структуры static const компилятор начал ругатся
Warning[Pe177]: variable "USB_INTERFACE_DESCRIPTOR" was declared but never referenced C:\arm\USB\func_irq.c 96
В чем проблема? или посоветуете поставить поновее?)))
могу привести код всех структур
Код
//---Структура управляющего пакета----------------------------------------------
struct TSetupPacket
{
unsigned char bmRequestType; //Тип запроса
unsigned char bRequest; //Код запроса
unsigned char ValueL; //Тип дескриптора
unsigned char ValueH; //Индекс дескриптора
unsigned char IndexL; //Номер интерфейса или конечной точки
unsigned char IndexH; //Номер интерфейса или конечной точки
unsigned char LengthL; //Число байт для передачи
unsigned char LengthH; //Число байт для передачи
} TSetupPacket;
//---Структура дескриптора устройства-------------------------------------------
static const struct USB_DEVICE_DESCRIPTOR
{
unsigned char bLength; //длина дескриптора
unsigned char bDescriptorType; //тип дескриптора
unsigned short int bcdUSBL; //версия спецификации USB в формате BCD
unsigned char bDeviceClass; //код класса устройства USB
unsigned char bDeviceSubclass; //код подкласса устройства USB
unsigned char bDeviceProtocol; //код протокола USB
unsigned char bMaxPacketSize0; //мах размер нулевой конечной точки
unsigned short int idVendor; //идентификатор изготовителя устройства
unsigned short int idProduct; //идентификатор продукта
unsigned short int bcdDevice; //номер версии устройства в формате BCD
unsigned char iManufacture; //индекс дескриптора строки описывающей изготовителя
unsigned char iProduct; //индекс дескриптора строки описывающей продукт
unsigned char iSerialNumber; //индекс дескриптора строки описывающей серийный номер устройства
unsigned char bNumConfigurations; //количество возможных конфигураций устройства
} USB_DEVICE_DESCRIPTOR = {0x12, 0x01, 0x0110, 0x02, 0x00, 0x00, 0x08, 0x03EB, 0x6200, 0x0100, 0x00, 0x00, 0x00, 0x01};
//---Структура дескриптора конфигурации-----------------------------------------
static const struct USB_CONFIGURATION_DESCRIPTOR
{
unsigned char bLength; //длина дескриптора
unsigned char bDescriptorType; //тип дескриптора
unsigned short int wTotalLength; //общий обьем данных, возвращаемых для данной конфигурации
unsigned char bNumInterfaces; //кол-во интерфейсов поддерживаемых данной конфигурацией
unsigned char bConfigirationValue; //идентификатор конфигурации
unsigned char iConfiguration; //индекс дескриптора стороки
unsigned char bmAttributes; //характеристики конфигурации
unsigned char MaxPower; //код мощности, потребляемый устройством
} USB_CONFIGURATION_DESCRIPTOR;
//---Структура дескриптора интерфейса-------------------------------------------
static const struct USB_INTERFACE_DESCRIPTOR
{
unsigned char bLength; //Длина дескриптора
unsigned char bDescriptorType; //Тип дескриптора
unsigned char bInterfaceNumber; //Номер данного интерфейса
unsigned char bAlternateSetting; //Альтернативный номер интерфейса
unsigned char bNumEndpoints; //Число конечных точек для интерфейса без 0
unsigned char bInterfaceClass; //Код класса интерфейса
unsigned char bInterfaceSubClass; //Код подкласса интерфейса
unsigned char bInterfaceProtocol; //Код протокола
unsigned char iInterface; //Индекс дескриптора строки
} USB_INTERFACE_DESCRIPTOR;
struct TSetupPacket
{
unsigned char bmRequestType; //Тип запроса
unsigned char bRequest; //Код запроса
unsigned char ValueL; //Тип дескриптора
unsigned char ValueH; //Индекс дескриптора
unsigned char IndexL; //Номер интерфейса или конечной точки
unsigned char IndexH; //Номер интерфейса или конечной точки
unsigned char LengthL; //Число байт для передачи
unsigned char LengthH; //Число байт для передачи
} TSetupPacket;
//---Структура дескриптора устройства-------------------------------------------
static const struct USB_DEVICE_DESCRIPTOR
{
unsigned char bLength; //длина дескриптора
unsigned char bDescriptorType; //тип дескриптора
unsigned short int bcdUSBL; //версия спецификации USB в формате BCD
unsigned char bDeviceClass; //код класса устройства USB
unsigned char bDeviceSubclass; //код подкласса устройства USB
unsigned char bDeviceProtocol; //код протокола USB
unsigned char bMaxPacketSize0; //мах размер нулевой конечной точки
unsigned short int idVendor; //идентификатор изготовителя устройства
unsigned short int idProduct; //идентификатор продукта
unsigned short int bcdDevice; //номер версии устройства в формате BCD
unsigned char iManufacture; //индекс дескриптора строки описывающей изготовителя
unsigned char iProduct; //индекс дескриптора строки описывающей продукт
unsigned char iSerialNumber; //индекс дескриптора строки описывающей серийный номер устройства
unsigned char bNumConfigurations; //количество возможных конфигураций устройства
} USB_DEVICE_DESCRIPTOR = {0x12, 0x01, 0x0110, 0x02, 0x00, 0x00, 0x08, 0x03EB, 0x6200, 0x0100, 0x00, 0x00, 0x00, 0x01};
//---Структура дескриптора конфигурации-----------------------------------------
static const struct USB_CONFIGURATION_DESCRIPTOR
{
unsigned char bLength; //длина дескриптора
unsigned char bDescriptorType; //тип дескриптора
unsigned short int wTotalLength; //общий обьем данных, возвращаемых для данной конфигурации
unsigned char bNumInterfaces; //кол-во интерфейсов поддерживаемых данной конфигурацией
unsigned char bConfigirationValue; //идентификатор конфигурации
unsigned char iConfiguration; //индекс дескриптора стороки
unsigned char bmAttributes; //характеристики конфигурации
unsigned char MaxPower; //код мощности, потребляемый устройством
} USB_CONFIGURATION_DESCRIPTOR;
//---Структура дескриптора интерфейса-------------------------------------------
static const struct USB_INTERFACE_DESCRIPTOR
{
unsigned char bLength; //Длина дескриптора
unsigned char bDescriptorType; //Тип дескриптора
unsigned char bInterfaceNumber; //Номер данного интерфейса
unsigned char bAlternateSetting; //Альтернативный номер интерфейса
unsigned char bNumEndpoints; //Число конечных точек для интерфейса без 0
unsigned char bInterfaceClass; //Код класса интерфейса
unsigned char bInterfaceSubClass; //Код подкласса интерфейса
unsigned char bInterfaceProtocol; //Код протокола
unsigned char iInterface; //Индекс дескриптора строки
} USB_INTERFACE_DESCRIPTOR;