Chapter 4 Software Development

A bus monitor also comes in handy during host driver development when the personal computer hangs, making it impossible to pinpoint the exact circumstances producing the failure.

Bus monitor data is also highly effective in tracing host controller operation and evaluating the final product.

As of August 1999, the following bus monitors are commercially available.

Products:

CATC USB Chief™ Bus & Protocol Analyzers

 

CATC USB Inspector™ Bus & Protocol Analyzer

Developer:

Computer Access Technology Corporation (CATC)

 

http://www.catc.com/

Japanese distributor:

Toyo Technica Co., Ltd.

 

http://www.toyo.co.jp/

 

 

Product:

Genoa Technology USB Expert™ Protocol Analyzer

Product:

Genoa Technology, Incorporated.

 

http://www.gentech.com/

Japanese distributor:

Bits Co., Ltd.

 

http://www.bits.co.jp/

 

 

(2)Microcontroller emulator

The JOB60851 Starter Kit provides printf(), scanf(), and other C standard I/O library functions for confirmation of operation and simple debugging of programs running on its MSM66Q573 microcontroller. Thorough debugging with program tracing and other facilities for illuminating firmware problems, however, requires an emulator (in-circuit emulator, ROM emulator, etc.) for the target microcontroller. Look for such tools from the microcontroller vendor and third- party sources.

4-3-8. Note on Porting

JOB60851 programming uses a version of the C programming language extended for embedded applications. The following is a list of extension requiring special attention when porting the sample firmware to other microcontrollers and compilers. For further details on these language extension, refer to the compiler manual (Cc665s.pdf) and programming guide (Pg665s.pdf) on the CD-ROM.

(1)#pragma ABSOLUTE variable_name address

This pragma permits specification of the final absolute address for a variable at the C source code level.

(2)#pragma ACAL function_name

This pragma calls the specified function with the more efficient ACAL instruction instead of the normal CAL instruction--provided that the function starts at an address between 1000h and 17ffh. Delete or disable these pragmas when porting the source code to a different microcontroller.

(3)#pragma INTERRUPT function_name vector

This pragma makes the specified function into an interrupt service routine by assigning its entry point to a vector table entry. This microcontroller has separate interrupt vectors for various internal and external interrupts. The sample firmware, however, uses only external interrupts from the USB controller.

page 4-21

Page 56
Image 56
Oki JOB60851 user manual Products