我能够在应用 PCB 上使用 boot_demo_usb、并使用 dfuprog 对其进行编程。 boot_demo_USB 示例使用 USB HID 器件。
该应用使用 USB 串行器件。 如果我在总线上定义了一个 DFU 器件、我在器件管理器中不会将其视为 Stellaris DFU 器件、而只会将其视为 USB 串行器件。
您能评论一下以下代码中缺少的内容吗?
谢谢、
Priya
空 USBmain (空)
{
uint32_t ui32PLLRate;
////启用 USB 外设
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_USB0);
//配置器件引脚。
PinoutSet (false、true);
//初始化发送和接收缓冲区。
USBBufferInit (&g_psTxBuffer[0]);
USBBufferInit (&g_psRxBuffer[0]);
//将设备信息传递到 USB 库并放置设备
//在总线上。
//
G_sCompDevice.psDevices[0].pvInstance =
USBDCDCCompositeInit (0、&g_psCDCDevice[0]、&g_psCompEntry[0]);
//将 CPU 时钟和 PLL 频率告知 USB 库。 这是一个
// TM4C129器件的新要求。
//
SysCtlVCOGet (SYSCTL_XTAL_25MHz、\ui32PLLRate);
UARTprintf ("\n ui32PLLRate =%d\n"、ui32PLLRate);
USBDCDFeatureSet (0、USBLIB_Feature_CPUCLK、&g_ui32SysClock);
USBDCDFeatureSet (0、USBLIB_Feature_USBPLL、&ui32PLLRate);
USBDCompositeInit (0、&g_sCompDevice、描述符_DATA_SIZE + COMPIAL_DDFU_SIZE、
G_pu_描述符数据);
USBDDFUCompositeInit (0、&g_sDFUDevice、&(g_sCompDevice.psDevices[1]);
}
tUSBDCompositeDevice g_sCompDevice =
{
//
// Stellaris VID。
//
USB_VID_TI_1CBE、
//
//复合串行器件的 Stellaris PID。
//
// USB_PID_serial、
USB_PID_COMP_HID_DFU、
//
//这以2mA 为增量、因此为500mA。
//
250、
//
//总线供电设备。
//
USB_CONF_ATTR_BUS_PWR、
//
//不需要默认的复合事件处理程序。
//
ControlHandler、
//
//字符串表。
//
G_pui8字符串描述符、
num_string_descriptors、
//
//复合设备数组。
//
1、
G_psCompEntry
};
#define NUM_SERIAL_DEVICES 2.
tCompositeEntry g_psCompEntry [NUM_SERIAL_DEVICS];