Instruction manual
Renesas USB MCU and USB ASSP USB Basic Host and Peripheral firmware
R01AN0512EJ0210 Rev.2.10 Page 13 of 157
Apr 1, 2013
6 Device class driver (PDCD)
2 Peripheral Driver Task (PCD)
8 Application (APL)
USB - BASIC - F/W
4 Manager Task
(MGR)
5 HUB Task
(HUBCD)
3 Host Driver Task (HCD)
1 USB Interrupt Handler
Hardware
Scheduler Function
(non-OS)
6 Device class driver (HDCD)
7 Device driver (HDD)
8 Application (APL)
uITRON
Peripheral Mode Host Mode
User Programming Layer
Figure 2-1 Task Configuration of USB-BASIC-FW
Table 2-3 Software function overview
No. Module Name Function
1 H/W Access Layer
Hardware control
2 USB interrupt handler
USB interrupt handler
(USB packet transmit/receive end and special signal detection)
3 Peripheral control driver
(PCD)
Hardware control in peripheral mode
Peripheral transaction management
4 Host control driver
(HCD)
Hardware control in host mode
Host transaction management
5 Host manager
(MGR)
Device state management
Enumeration
HCD/HUBCD control message determination
6 Hub class driver
(HUBCD)
HUB down port device state management
HUB down port enumeration
7 Device class driver (PDCD/HDCD) Provided by the customer as appropriate for the system.
8 Device driver (HDD) Provided by the customer as appropriate for the system.
9 Application(APL) Provided by the customer as appropriate for the system.
2.6 Non-OS Scheduler Function and Tasks
When using the non-OS version of the source code, which is set by a macro in r_usb_usrconfig.h, a scheduler function
manages requests generated by tasks and hardware according to their relative priority. When multiple task requests are
generated with the same priority, they are executed using a FIFO configuration. To assure commonality with non-OS and
uITRON-compatible firmware, requests between tasks are implemented by transmitting and receiving messages. In
addition, call-back functions are used for responses to tasks indicating the end of a request, so the customer need only
install appropriate class drivers for the system and there is no need to modify the scheduler itself. Please refer to “
4.2.4
PCD Call-back functions” or “
5.4 Host call-back functions”.