SDK Name: SDK_2.x_LPCXpresso54608
SDK Version: 2.4.1 (2018-06-18)
Example Name: usb_examples/dev_cdc_vcom_bm
Expected Usage:
We use LPC54606/54608 to setup virtual com service to Mac / PC, and use Mac / PC serial service to stream data from board. Since there is no actual “serial port” on either side, the speed should be USB 2.0 High-Speed, which is 480Mb/s in bare PHY, not considering communication overheads.
In experiments, we do cover the current speed needs, which is 16MB/s.
Now we would like to learn more about this code. The top-level entry is:
USB_DeviceCdcAcmSend(s_cdcVcom.cdcAcmHandle, USB_CDC_VCOM_BULK_IN_ENDPOINT, s_currSendBuf, size);
which calls:
USB_DeviceSendRequest(cdcAcmHandle->handle, ep, buffer, length);
which calls
deviceHandle->controllerInterface->deviceSend(deviceHandle->controllerHandle, endpointAddress,buffer, length);
This seems to be the last level we could reach. Is there any documentation on how the bottom-level USB stack is organized or runs?