Oki JOB60851 user manual Building a Product, Vendor and Product IDs, Other Tools Necessary

Page 55

Chapter 4 Software Development

with the above-mentioned requirement for average suspend current.

4-3-5. Building a Product

Generally speaking, building a product with the help of the JOB60851 board requires the following modifications and additions to the software.

(1)Adding and modifying descriptors

At the minimum, the source code has to provide vendor and product IDs. (See Section 4.3.6 below.) Descriptors generally also have to be modified to reflect the final product, application, and device class.

(2)Adding to class specifications

Building a product in a certain class involves adding requests specified by the class specifications and descriptors required by the class. Some classes even require additions and modifications to the standard descriptors.

(3)Adding vendor-specific specifications

Vendor-specific requests implement the control commands and control protocols unique to that vendor. The vendor must also add descriptors that the host can access with GET_DESCRIPTOR requests.

(4)Developing application layer

Here the developer writes an application layer program combining API functions and callback functions.

(5)Tuning data flow

The flexibility of modification that the sample firmware provides through highly generalized programming sometimes comes at the expense of efficiency. Although maximizing system throughput involves looking at more than just firmware, there are places where the source code should be rewritten for speed--to use unidirectional endpoints, for example.

4-3-6. Vendor and Product IDs

Each USB product requires two numbers to uniquely identify it to the host operating system for use in selecting drivers: a VendorID assigned by the USB Implementers Forum and a ProductId chosen by the vendor. The sample firmware uses those for Oki Semiconductor and the JOB60851 Starter Kit, respectively. These may be safely used through the prototype stage. Shipping products, however, must have their own.

The following URL links to the procedure for acquiring a VendorID from the USB Implementers Forum.

http://www.usb.org/developers/

4-3-7. Other Tools Necessary

(1)Bus monitor

The sample firmware will not necessarily work perfectly when first ported to a new microcontroller because of the differences in microcontrollers and compilers. An extremely effective way to thoroughly check the operation of such a port is with a bus monitor tracing actual traffic on the bus.

page 4-20

Image 55
Contents JOB60851 Starter Kit Page OKI Contents Software Development Port 7 LED2 Control Introduction Introduction Checking Packing List1. Packing List Host Environment Labels Precaution for Safe and Proper UseIcons Do not pile objects on top of the product Use only the specified voltageUse only the cables and other accessories provided Notation Putting Board through Its Paces Configuring JOB60851 Board SetupPutting Board through its Paces Installing Development Software Running Flash Memory Program Running Default ProgramConnecting Board Installing USB DriverUse the -u command line option to view the USB pipe numbers Running User Programs Loading Terminal Emulator Connecting Serial CableDownloading and Executing Synchronizing LinkOverwriting Flash Memory Contents System Specifications System Components System SpecificationsSystem Components System ObjectiveConnectors and Switches Hardware SpecificationUse only the AC adapter included with the product System Specifications 2. Circuit Diagram 1/2 Circuit DiagramSystem Specifications 1. Parts List 1/2 Parts ListMemory Maps 4. Memory Map for Download Mode5. Memory Map for Flash Execution Mode 6. Memory Map for Application Mode 7. Memory Map for Flash Rewrite Mode Resources Uses System Limitations1. MSM66Q573 Pin Assignments 1/2 P11-3/XTOUT System Specifications 1. MSM66Q573 Pin Assignments 2/2Software Development Bus Topology, Addresses, and Hot Plugging USB BasicsSoftware Development Core Specifications Specification DocumentsBus Transactions Data Flow Types2. USB Data Flow Types Endpoints Packets3. lists the USB packet types 4. Maximum Payload Sizes Device Class Specifications5. USB Device Class Specifications Data Rates7. Control Transfer Data Packet Device RequestsStandard Device Requests 6. Device Request TypesDevice Descriptor for Bidirectional Printer Device DescriptorsString descriptor 1. Sample USB Firmware SetupSample Firmware Specifications Sample USB FirmwareCompiling and Executing Sample USB Firmware Sample USB Host SoftwareConfirming USB Compliance with Usbcheck.exe Software Development Creating USB Mouse Demo Modifying Application Layer Receive Only Skeleton Evaluating USB Equipment Simple DebuggingOverview of ML60851C Operation Device Controller Specifications1. ML60851C Specifications USB Bits and Pieces1. ML60851C Block Diagram Connecting Microcontroller to USB Controller2. Microcontroller with 16- or 32-Bit Bus Special USB ConsiderationsVendor and Product IDs Building a ProductOther Tools Necessary Products Limitations Port 7 Registers Port 7 LED2 ControlChanging LED2 Color Sample Port 7 Control Program JOB60851 Board Standard I/O Standard I/O over Serial Link2. Serial Port Structure Serial PortSerial port SIO0 Chapter Internal timer 9 and following 3. read Operation Read and write Functions4. write Operation Standard I/O Examples Sample Program Using Standard OutputDebugging with Standard I/O Sample Program Using Standard Input