USB HID does not use framing packets; instead the packetization inherent in the USB
protocol itself is used. The ability for the device to NAK Out transfers (until they can be
received) provides the required flow control; the built-in CRC of each USB packet
provides the required error detection.
13.4.3.1 Clock configuration
The KLx3 ROM supports the crystal-less USB feature. If the USB peripheral is enabled,
then the ROM enables the 48-MHz HIRC. The ROM also enables the USB clock
recovery feature (by setting USB_CLK_RECOVER_CTRL[CLOCK_RECOVER_EN]
to 1 and USB_CLK_RECOVER_IRC_EN[IRC_EN] to 1).
13.4.3.2 Device descriptor
The Kinetis ROM configures the default USB VID/PID/Strings as below:
Default VID/PID:
• VID = 0x15A2
• PID = 0x0073
Default Strings:
• Manufacturer [1] = "Freescale Semiconductor Inc."
• Product [2] = "Kinetis Bootloader"
You can customize the USB VID/PID/Strings with the Bootloader Configuration Area
(BCA) of the flash. See
. For example, the USB VID and PID can be
customized by writing the new VID to the usbVid(BCA + 0x14) field and the new PID to
the usbPid(BCA + 0x16) field of the BCA in flash. To change the USB strings, you need
to prepare a structure (like the one shown below) in the flash, and then write the address
of the g_languages structure to the usbStringsPointer(BCA + 0x18) field of the BCA.
g_languages = { USB_STR_0,
sizeof(USB_STR_0),
(uint_16)0x0409,
(const uint_8 **)g_string_descriptors,
g_string_desc_size};
the USB_STR_0, g_string_descriptors and g_string_desc_size are defined as below.
USB_STR_0[4] = {0x02,
0x03,
0x09,
0x04
};
g_string_descriptors[4] =
{ USB_STR_0,
USB_STR_1,
USB_STR_2,
Peripherals Supported
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
214
Freescale Semiconductor, Inc.