Summary of the content on the page No. 1
REG10J0134-0100
Renesas Starter Kit for H8SX1664
USB Sample Code User's Manual
RENESAS SINGLE-CHIP MICROCOMPUTER
H8SX FAMILY
Rev.1.00 Renesas Technology Europe Ltd.
Revision date 08.January.2008 www.renesas.com
Summary of the content on the page No. 2
Table of Contents Table of Contents .................................................................................................................................................. ii Chapter 1. Preface..................................................................................................................................................3 Chapter 2. Introduction........................................................................................................................
Summary of the content on the page No. 3
Chapter 1. Preface Cautions This document may be, wholly or partially, subject to change without notice. All rights reserved. No one is permitted to reproduce or duplicate, in any form, a part or this entire document without the written permission of Renesas Technology Europe Limited. Trademarks All brand or product names used in this manual are trademarks or registered trademarks of their respective companies or organisations. Copyright © Renesas Technology Europe Ltd. 2007. All right
Summary of the content on the page No. 4
Samples Classes USB Stack Chapter 2.Introduction The RSK USB sample code provides a basis for a developer to add USB device functionality to a system. It includes sample applications for * the three most common USB Device classes :- • Human Interface Device (HID) • Communication Device Class - Abstract Control Model (CDC-ACM) • Mass Storage Class (MSC) In addition to the three defined USB classes a LibUSB sample is included. LibUSB is an open source project with the aim of providing a
Summary of the content on the page No. 5
Chapter 3.Development Environment 3.1.Sample Code Configuration The Sample code is provided as a project generator with the RSK. To create the sample code project follow the instructions in the RSK Quick Start Guide. When created the sample code will contain the source for both the Host and Target projects, including any configuration driver files. 3.2.Target Sample Code Options When developing USB software it is useful to be able to get debug information out at runtime without stopping
Summary of the content on the page No. 6
Chapter 4.USB Stack (Target) The USB software is implemented in the form of a USB stack comprising of three layers. At the top of the stack are the USB Device Classes consisting of HID, CDC and MSC which are all described later. In the middle is a core layer (USBCore) that handles standard device requests. At the bottom is a hardware abstraction layer (HAL) that provides a hardware independent API for the upper layers. This modular design means this software can be still be used even if d
Summary of the content on the page No. 7
4.2.USBCore The USBCore layer handles standard USB requests common to all USB devices during the enumeration stage. This means that a developer can concentrate on any class or vendor specific implementation. The USBCore requires initialising with the descriptors specific to the device being implemented. It uses the USBHAL, which it initialises, to access the particular HW. The following Get_Descriptor requests are handled: Device Configuration String Language ID (Only a single lan
Summary of the content on the page No. 8
4.3.Human Interface Device Class The HID class as the name suggests is commonly used for things like keyboards, mice and joysticks where a human’s action is causing the need for communication. However this does not need to be the case. The HID class is suitable for any device where the communication can be achieved by sending data in ‘reports‘ of a predefined size where the data transfer rate is not critical. The HID class has been supported by Microsoft Windows 98 onwards. Support is both
Summary of the content on the page No. 9
4.4.Communication Device Class The CDC ACM allows a host to see a device as a standard serial (COM) port. This is particularly useful when working with legacy applications that use serial communications. Bulk IN and Bulk OUT transfers are used for all non-setup data. The CDC module utilises the USBCore layer for the processing of all standard requests. In addition it processes the following class requests. GET_LINE_CODING SET_LINE_CODING (As required by MS HyperTerminal) SET_CONTROL_LIN
Summary of the content on the page No. 10
4.5.Mass Storage Class The MSC class has become a very popular way for devices, such as cameras and USB Pens, to share data with PCs. The reason for the success is that when the device is plugged in to a host PC it appears to the PC as just another drive and therefore users can use familiar applications such as Windows Explorer to access the data. From Windows 2000 onwards the MSC class has been supported with no need for custom drivers or ‘inf’ files. Bulk IN and Bulk OUT transfers are
Summary of the content on the page No. 11
Chapter 5.Applications 5.1.Introduction to Applications The following sections introduce the sample applications that can be used to demonstrate each of the USB solutions. The HID and LibUSB projects require specially written host applications that are supplied as both executables and as source. The CDC and MSC projects make use of standard Windows applications. All the applications require that the RSK has been programmed with the appropriate sample code for the application. Details of h
Summary of the content on the page No. 12
Input Report: Byte 1 Bit 0 = LED status. Bit 1 = ADC value valid indicator. Bit 2 = Switch pressed indicator. Byte 2-5 = 32 bit, little endian ADC Value. Output Report: Byte 1 Bit 0 = LED toggle request. Bit 1 = ADC read request. Bit 2 = LCD set request. Byte 2-17 = 16 ASCII Characters for LCD. An input report is sent whenever a switch on the RSK is pressed or when the host requests a report. An output report is sent whenever a user clicks on one of the dialog buttons. The
Summary of the content on the page No. 13
5.3.Communications Device Class Application The CDC sample application demonstrates communication with a Windows PC using a standard terminal program. Windows provide a suitable application called HyperTerminal. Any other serial terminal program will be able to be used if available. Program the RSK with the CDC application and run the code as described in the RSK tutorial manual. Connect a USB cable between the host PC and the RSK. The first time the device is connected to a specific USB p
Summary of the content on the page No. 14
Either type or browse to the location of the CDC project you have generated and built. Press next to install the CDC support. During the installation process a warning may be displayed as shown. Please choose “Continue Anyway” to install the driver. Please review the Microsoft website for details of the Windows Logo Testing programme. Windows will then complete the installation of the CDC USB driver. An additional COM port will become available to Window Applications. To be ab
Summary of the content on the page No. 15
Pressing SW1 on the RSK will stop this repeating message and will bring up the main menu as shown below. To demonstrate two way communication press SW2 to put the RSK into echo mode. In this mode anything typed on the Terminal will be read by the RSK and then echoed back to the terminal. Pressing SW3 cancels this echo mode. Figure 3 - Serial communication dialog The CDC application functionality specific to USB consists of the following files:- Target: usb_cdc_app.c usb_cdc_app.h Hos
Summary of the content on the page No. 16
5.4.Mass Storage Class Demonstration The MSC sample demonstrates how a host can view a MSC device as an external drive. There is no additional application for this as the MSC support is inherent in Windows XP. Start the MSC sample application running on the RSK then connect the RSK to a Windows PC via a USB cable. Using Windows Explorer, or similar, look to find the new drive that Windows will have mounted. This drive is viewing the contents of the sample RAM Disk on the RSK. It has been
Summary of the content on the page No. 17
5.5.LibUSB The LibUSB sample application is functionally similar to the previous HID application. The difference is that this sample includes software for a Windows host PC called RSK_LibUSB. The intention of this open source library is to provide a platform independent operating system interface allowing a device to be used on multiple operating systems with a common code base. The target RSK code is not dependant upon any external library code however it is written to support the LibUSB
Summary of the content on the page No. 18
3. The “Set LCD” button allows the text of the LCD on the RSK to be changed. To demonstrate that the RSK can also instigate communications you can press a switch on the RSK and this will be indicated back to the host resulting in a message being displayed on the dialog. This demonstrates that data can be sent successfully between the RSK and the PC. A fixed sized format of data has been chosen for all messages, one for OUT and one for IN: IN Message: (RSK to PC) Byte 1 Bit 0 = LED statu
Summary of the content on the page No. 19
Chapter 6.Additional Information For details on how to use High-performance Embedded Workshop (HEW), refer to the HEW manual available on the CD or installed in the Manual Navigator. For information about the H8SX/1664 series microcontrollers refer to the H8SX/1663 Group Hardware Manual For information about the H8SX/1664 assembly language, refer to the H8SX Series Programming Manual For information about the E10A Emulator, please refer to the H8S, H8SX Family E10A-USB Emulator User’s Ma
Summary of the content on the page No. 20
Renesas Starter Kit for H8SX1664 USB Sample Code User's Manual Publication Date Rev.1.00 08.Jan.2008 Published by: Renesas Technology Europe Ltd. Dukes Meadow, Millboard Road, Bourne End Buckinghamshire SL8 5FH, United Kingdom ©2008 Renesas Technology Europe and Renesas Solutions Corp., All Rights Reserved.