
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
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
(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
(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