As illustrated in the figure bellow, the application entry point is located is the
cdc_example.c file. The application can be ran using the FreeRTOS operating system, or in standalone mode. In the standalone mode, the main function runs the usb_task, the device_cdc_task and host_cdc_task tasks in an infinite loop.
The application is based on three different tasks:
- The usb_task (usb_task.c associated source file), is the task performing the USB low level enumeration process in device mode. Once this task has detected that the usb connection is fully operationnal, it updates different status flags that can be checked within the high level application tasks.
- The device_cdc_task task performs the high level device application operation. Once the device is fully enumerated (DEVICE SET_CONFIGURATION request received), the task will transform the product as a virtual COM port: any bytes received from the USB will be redirected to the USART and vice versa.
- The host_cdc_task task performs the high level host application operation. Once a device is connected and fully enumerated, the task will also transform the product as a virtual COM port. You can for example connect an other EVK110x board itself in the device role.
Architecture Overview