AN2616 Freescale Semiconductor / Motorola, AN2616 Datasheet

no-image

AN2616

Manufacturer Part Number
AN2616
Description
Getting Started with HCS08 and CodeWarrior Using C
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Application Note
AN2616
2/2004, Rev. 1
Getting Started with HCS08
and CodeWarrior Using C
By Stephen Pickering
Overview
8/16-bit Systems Group
East Kilbride, Scotland
The purpose of this application note is to demonstrate how easy it is to develop
C code for an HCS08, using Metrowerks CodeWarrior
used in order to explain the techniques in developing an HCS08 application
with CodeWarrior.
An important difference between the HC08 and the HCS08 is the inclusion of a
suite of on-board hardware debugging facilities, designed to be used via the
BDC (background debug controller). Code is debugged using the HCS08 BDM
(background debug mode) pod, along with one of the demonstration/evaluation
boards with an MC9S08GB60 device. The BDM pod used in the application is
a P&E USB ML 12 (except where stated). Since BDM is an in-circuit debug
methodology, the hardware could be the real application rather than a
demo/evaluation board.
During the MC9S08GB60 launch, two boards (manufactured by Axiom) were
made available: a low-cost demo board, and a more comprehensive evaluation
board with LCD.
Although the document refers to the MC9S08GB60, the concepts apply to all
the HCS08 devices, with the appropriate substitutions (for device name,
header file names, etc.).
If CodeWarrior version 3 (or higher) is not installed, refer to
HCS08 CodeWarrior Development Tools on page
If you are using Metrowerks CodeWarrior and/or HCS08 for the first time, and
you are unsure about writing C code in this environment, refer to
C and HCS08 on page
features are used in the Metrowerks C programming language.
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
37, for a quick introduction to how the device specific
®
34.
. A simple application is
Metrowerks
© Motorola, Inc., 2004
CodeWarrior

Related parts for AN2616

AN2616 Summary of contents

Page 1

... Freescale Semiconductor, Inc. Application Note AN2616 2/2004, Rev. 1 Getting Started with HCS08 and CodeWarrior Using C By Stephen Pickering 8/16-bit Systems Group East Kilbride, Scotland Overview The purpose of this application note is to demonstrate how easy develop C code for an HCS08, using Metrowerks CodeWarrior used in order to explain the techniques in developing an HCS08 application with CodeWarrior ...

Page 2

... Freescale Semiconductor, Inc. AN2616 Contents Overview Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 HCS08 Demonstration and Evaluation Boards Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 What is an HCS08 Background debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 HCS08 serial monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 BDM or monitor mode Developing an Application with CodeWarrior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Description of hardware used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Creating a new project CodeWarrior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Connecting the hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Adding files to the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Illuminate LED2 if SW2 is pressed ...

Page 3

... Demonstration Board DB9 Serial Cable Documentation (CD) Metrowerks CodeWarrior for HC08 and HCS08 Manual Batteries understand the major differences between BDM and monitor mode Go to: www.freescale.com AN2616 HCS08 Demonstration and Evaluation Boards M68EVB908GB60 MC9S08GB60 Evaluation Board (EVB) • DB9 Serial Cable • Support CD • ...

Page 4

... As the exercises are not intended lesson in typing, the appropriate files are included within the zip file AN2616SW.zip. The files main.c and M68DEMO908GB60.h are contained in the relevant sub directory within the zip file, and can simply be dragged from the zip file into the Sources directory of the CodeWarrior project at the appropriate point ...

Page 5

... BYTES) 5-CHANNEL TIMER/PWM 10-BIT MODULE (TPM2) ANALOG-TO-DIGITAL CONVERTER (ATD) SERIAL PERIPHERAL INTERFACE MODULE (SPI) INTERNAL CLOCK GENERATOR (ICG) LOW-POWER OSCILLATOR VOLTAGE REGULATOR Go to: www.freescale.com AN2616 Introduction 8 PTA7/KBIP7– PTA0/KBIP0 8 PTB7/AD7– PTB0/AD0 PTC7 PTC6 PTC5 PTC4 PTC3/SCL PTC2/SDA ...

Page 6

... Freescale Semiconductor, Inc. AN2616 • • HCS08 serial As the HCS08 does not have a ROM-resident monitor like the HC08, Motorola monitor has written a monitor; this is programmed into the HCS08 device and occupies about 1K of FLASH memory. The monitor enables debugging of an HCS08 ...

Page 7

... DB9 header, and power applied to the RS232 driver; this is accomplished by installing jumpers 1, 2 and 3 on COM_EN The USER-ENABLES dip switch 2 should be set ON; this connects the switches SW[1:4] on the evaluation board to PORTA[4:7] Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 7 ...

Page 8

... Freescale Semiconductor, Inc. AN2616 • • • Creating a new This section discusses the project types that can be created within project CodeWarrior CodeWarrior. CodeWarrior has a project wizard that guides you through the process of creating a project. 1. Create a new project by selecting “New…” from the File menu: either of which will invoke the project creation dialog box shown below ...

Page 9

... Provides the HC08 board support of the previous CodeWarrior for the HC08 and is not used for HCS08 devices or board. button to set the “Location”. This allows you to select the parent directory for the project: Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 9 ...

Page 10

... Freescale Semiconductor, Inc. AN2616 4. Once the root directory for the project has been located, enter the 5. Select 6. In the “Project name:” field, you may enter the name of the project file to 7. Select 10 Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, directory to be created (for example, “ ...

Page 11

... MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, , which will bring up the language dialog box: . This will bring up the processor expert dialog box: Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 11 ...

Page 12

... Freescale Semiconductor, Inc. AN2616 10. Select 11. Unless you have purchased PC-lint and wish to use it, select “No” and 12 Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, , and the PC-lint option will appear: press , and the floating point support dialog box will appear: Go to: www ...

Page 13

... HCS08 serial monitor or BDM method as required. MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, press . The memory model selection will appear: Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior . The connection dialog will appear: 13 ...

Page 14

... Freescale Semiconductor, Inc. AN2616 The supported target devices are listed in the following table. P&E Full Chip Simulation P&E Hardware Debugging Motorola Serial Monitor BDM HCS08 Hitex Lauterbauch Project creation is now complete! CodeWarrior Once the project wizard has finished, a project, including a skeleton generated project application, has been created ...

Page 15

... HCS08 serial monitor. Refer to Motorola application note MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, M68MULTILINK12 (P&E BDM Multilink) M68MULTILINKS08 (NOT the similarly named M68MULTILINK08) P&E USB ML12 / P&E USB HCS08/HCS12 MULTILINK P&E Cyclone Pro Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 15 ...

Page 16

... Freescale Semiconductor, Inc. AN2616 “AN2140/D — Serial Monitor for MC9S08GB/GT” for a full description of its capability. Running the code The next two sub-sections discuss the use of HCS08 serial monitor mode or BDM as the method of connecting to the target device on either the evaluation or demo board. There are several differences in the dialog boxes and in the progression through the target connection ...

Page 17

... Debugging — communications 20. selected: ). This compiles and links the code, and invokes the True-Time simulator and Real-Time debugger (the HCS08 debugger). As this is the first time the code has been run, the debugger does not Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 17 ...

Page 18

... Freescale Semiconductor, Inc. AN2616 CodeWarrior knows the CPU Type is an HCS08, because that is the project type we created. The debugger will list the pods it can see on the pull-down list. If the pod being used is not shown, ensure it is connected correctly, then press the “Refresh List” ...

Page 19

... CodeWarrior is updated and new code is available). Next, a dialog pops up asking to erase and program FLASH: MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Developing an Application with CodeWarrior , and a dialog pops up showing the reprogramming of the . Go to: www.freescale.com AN2616 19 ...

Page 20

... Freescale Semiconductor, Inc. AN2616 4. Select At this point, the code has been programmed in the device, and the debugger shows the following windows. Debugging — Once communication (BDM or Monitor) has been established with the device, communications the debugger will show its debug window: ...

Page 21

... Execute one C statement; enter into functions STEP OVER Execute one C statement or complete function STEP OUT Execute remaining C statements in function Assembly Step Step one assembly language instruction HALT Stop the executing program RESET Hardware reset Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 21 ...

Page 22

... Freescale Semiconductor, Inc. AN2616 Adding files to the Multiple files can be added to a project to allow a program to be split into logical project sections for easier development example, a header file defining the switches and LEDs for the demo and evaluation boards will be added to the project to demonstrate the process ...

Page 23

... M68DEMO908GB60.h): . This will create an empty text file in the appropriate directory and bring up a text editor window for the file: Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior button, navigate to the Sources 23 ...

Page 24

... Freescale Semiconductor, Inc. AN2616 5. Enter the following text into the file: /* File: M68DEMO908GB60.h*/ /* include peripheral declarations */ #include <MC9S08GB60.h> /*define value for led's when on and off*/ #define ON 0 #define OFF 1 /*define value for switches when up (not pressed) and down (pressed)*/ #define UP 1 #define DOWN 0 ...

Page 25

... MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, used to locate the file: to add the file to the project and associate it with the “Sources” Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 25 ...

Page 26

... Freescale Semiconductor, Inc. AN2616 First, add an include statement to use our header file for the demo board: #include "M68DEMO908GB60.h" Next, configure PORTF for output (LEDs) and PORTD for input (switches): PTADD = 0; PTAPE = 0xf0; //Pullups on upper 4 bits /*initialize bits 0-3 of Port F as outputs (connected to led's)*/ PTFDD = 0x0f ...

Page 27

... STEP OVER button ( Press the RUN button ( ) to restart the program; this will cause LED2 when SW2 is pressed Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior ). This compiles the ); the application will run advance the code; the debugger ) once; LED2 will be turned on. ...

Page 28

... Freescale Semiconductor, Inc. AN2616 Use PWM to flash Adding the following code to the program will configure the PWM and will flash LED LED5 (or buzzer on evaluation board), using LED3 and LED4 to indicate the duty cycle selected by switch SW4, when changed by the operation of switch SW3. #include < ...

Page 29

... Pressing SW3 will revert to LED3 illuminated, and the duty cycle of LED5 (buzzer) will revert back to the original duty cycle. LED2 will still function according to the state of SW2. Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior ). This compiles the ); the application will run. ...

Page 30

... Freescale Semiconductor, Inc. AN2616 Add this code to the main program: #include <hidef.h> /* for EnableInterrupts macro */ #include <MC9S08GB60.h> /* include peripheral declarations */ #include "M68DEMO908GB60.h" #define PRESCALAR 7 #define MODULUS 32768 #define DUTY75 (MODULUS-(MODULUS/4)) #define DUTY25 (MODULUS/4) interrupt Vkeyboard void intSW1(){ LED1 = SW4; ...

Page 31

... LED2, LED3, LED4 and LED5 (buzzer) will still function as before. Bus frequency = ((f IRG (high or low frequency range) N[0: 10, 12, 14, 16, or 18} R[0: 16, 32, 64, or 128 Go to: www.freescale.com Developing an Application with CodeWarrior ). This compiles the ); the application will run. ÷ 7) × P × N ÷ R) ÷ 2 AN2616 31 ...

Page 32

... Freescale Semiconductor, Inc. AN2616 Code to configure the clock in C would be: /*configure Internal Clock Generator [ICG]*/ /*MFD[]={4,6,8,10,12,14,16,18}*/ ICGC2_MFD = 7; ICGC2_RFD = 0; ICGC1 = 0b00111000; while((ICGS1_LOCK==0)||(ICGS1_ERCS==0)){ /*Ensure COP doesn't reset device whilst waiting for clock lock*/ __RESET_WATCHDOG(); /* kicks the dog */ } ICGC2_LOCRE = 1; /*enable reset if clock fails*/ The “ ...

Page 33

... For 4MHz crystal (eval board): ICGC2_MFD = RFD[]={1,2,4,8,16,32,64,128}*/ /*32KHz crystal, demo board. For 4MHz crystal (eval board): ICGC1 = 0b01111000; */ /*Switch pressed*/ if(SW4==DOWN){/**/ TPM1C0V = DUTY75;/**/ LED3 = ON;/**/ LED4 = OFF;/**/ }else{ TPM1C0V = DUTY25;/**/ LED3 = OFF;/**/ LED4 = ON;/**/ } Go to: www.freescale.com AN2616 Developing an Application with CodeWarrior 33 ...

Page 34

... Freescale Semiconductor, Inc. AN2616 Metrowerks HCS08 CodeWarrior Development Tools Metrowerks CodeWarrior Additional HC(S)08 After CodeWarrior has been installed, assuming a “typical” “full” installation help included with was performed), there will be some HC(S)08 specific documentation that will CodeWarrior assist in fine-tuning your application. ...

Page 35

... What’s on the CD Opening the CD in Windows Explorer will result in something like the following: MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Metrowerks HCS08 CodeWarrior Development Tools Go to: www.freescale.com AN2616 35 ...

Page 36

... Freescale Semiconductor, Inc. AN2616 System requirements Metrowerks CodeWarrior is compatible with the following Microsoft products. for CodeWarrior • • • • • NOTE: Some versions of Windows may require installation of appropriate patches or service packs. NOTE: There may be additional restrictions on supported operating systems, due to debugging support ...

Page 37

... MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Directory location for sources, binaries, and other files Compiler settings for each source file Debugging details Go to: www.freescale.com AN2616 CodeWarrior C and HCS08 37 ...

Page 38

... Freescale Semiconductor, Inc. AN2616 To access peripherals in a device, ensure that the device declaration file (MC9S08GB60.h) is included within the source file; for example: #include <MC9S08GB60.h> int mycode(){ } Data types CodeWarrior C for the HCS08 supports all the normal C types. Also, the types byte (1 byte), word (2 bytes), dword (4 bytes), and dlong (8 bytes) are defined ...

Page 39

... Contains an *.ini file for the debugger — essentially a project file for the debugger Debugger Cmd Files/ – Contains sub-folders for each target connection method, along with command files MC9S08GB60.c <- device file MC9S08GB60.h <- device definition/mapping file Go to: www.freescale.com AN2616 CodeWarrior C and HCS08 39 ...

Page 40

... Freescale Semiconductor, Inc. AN2616 Device file This file defines ALL registers within the device. All registers are named as per (MC9S08GB60.c) the register names in the relevant data sheet: volatile <register>STR _<register>; Where <register> is the name (in capital letters) of the register, as defined in the relevant data book (for example, MC9S08GB/D). All registers are defined as structure types, where the structure name is the same as the register name with STR appended ...

Page 41

... Enable R/W for Comparator A */ :1; /* R/W Comparison Value for Comparator A */ :1; /* Break Enable */ :1; /* Tag/Force Select */ :1; /* Arm Control */ :1; /* Debug Module Enable */ /*Set RWB bit of DBGC */ /*Clear RWB bit of DBGC */ /*Set RWB bit of DBGC */ /*Clear RWB bit of DBGC */ TPM2C0SC TPM2C0SC_MS0B Go to: www.freescale.com AN2616 CodeWarrior C and HCS08 41 ...

Page 42

... Freescale Semiconductor, Inc. AN2616 How device In order to be able to program a device necessary to understand the registers are defined relationship between the device definition/mapping file and the device header and used file, and the register definitions contained within these files. For example, the register TPM2C0SC letter “ ...

Page 43

... MS0B and TPM2C0SC both need to be specified. The way in which the bit name and register name are used is to concatenate their names together with an underscore between; for example: MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Go to: www.freescale.com AN2616 CodeWarrior C and HCS08 43 ...

Page 44

... Freescale Semiconductor, Inc. AN2616 • The definition of the bit can be found by right-clicking on the appropriate variables. For example: The definition of _TPM2C0SC: Definition of type TPM2C0SCSTR is a structure: Now MS0B is one bit of a byte in the structure Bits of the structure TPM2C0SCTR can use: • ...

Page 45

... Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, – CHnF - flag – CHnIE - interrupt enable – MSnB - mode select B – MSnA - mode select A – ELSnB:ELSnA - Edge/Level select bits – the timer – the channel Go to: www.freescale.com AN2616 CodeWarrior C and HCS08 45 ...

Page 46

... Freescale Semiconductor, Inc. AN2616 Frequently Asked Questions This section identifies the main issues that a newcomer to CodeWarrior may experience, and explains how to proceed. Where can I get the The most up to date documentation for Codewarrior is available on Metrowerks most up to date web site. For the HC08 it can be found at: documentation http://www ...

Page 47

... Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Monitor erased – reprogram Clock speed is incorrectly assumed within monitor – reprogram device with different clock setup – change crystal to 32.768 kHz or 4 MHz, according to version of monitor in device Go to: www.freescale.com AN2616 Frequently Asked Questions 47 ...

Page 48

... Freescale Semiconductor, Inc. AN2616 Debugger not To show the source code for main.c in the debugger, simply right-click over the showing the source source code window: code of main.c? and select “Open Source File”. A dialog box will pop up, allowing selection of the correct source file (for example, main.c): ...

Page 49

... To remove a breakpoint, simply select (or place the mouse over) the break point you wish to remove and right click the mouse. A popup dialog will appear, the first option being to delete the break point: MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Go to: www.freescale.com AN2616 Frequently Asked Questions 49 ...

Page 50

... Freescale Semiconductor, Inc. AN2616 Debugging does not The most likely reason for this is that the debugger is using the simulator or the seem to use the wrong hardware. A may be caused by the debugger not finding a BDM pod hardware/select in- when it started and it defaulted to the software simulator. ...

Page 51

... Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product System - placed within angled brackets (< and >) User - placed within double quotes (") Go to: www.freescale.com AN2616 Frequently Asked Questions 51 ...

Page 52

... Freescale Semiconductor, Inc. AN2616 How can I force a To instruct the linker to allocate storage for variables in page 0, enclose the variable to reside in declarations within the following #pragma statements in the file where the page 0? variable is declared (for example, main.c): #pragma DATA_SEG __SHORT_SEG MY_ZEROPAGE /*Page 0 data declarations go here*/ ...

Page 53

... For More Information On This Product, Use a #pragma TRAP_PROC prior to the interrupt routine and add to the vector table in the linker.prm file. For example: Use the keyword “interrupt” and add to the vector table in the linker.prm file. For example: Go to: www.freescale.com AN2616 Frequently Asked Questions 53 ...

Page 54

... Freescale Semiconductor, Inc. AN2616 • VECTOR ADDRESS 0xFFD2 intSW1 • interrupt 22 void intSW1(void){ } This method has the advantage of defining an interrupt handler and its vector in a single file, removing the need to maintain two files. How can I use the Refer to section “High Level Online Assembler for Motorola HC08” in the assembler within C? document “ ...

Page 55

... This provides a graphical front end to the selection of the compiler switches. MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Or press the Settings button: Go to: www.freescale.com AN2616 Frequently Asked Questions 55 ...

Page 56

... Freescale Semiconductor, Inc. AN2616 Big Endian or Little The Endianness of a processor refers to the order in which it stores multiple Endian? byte values in memory. Big Endian processors store the most significant byte at the lowest address, whereas Little Endian processors store the least significant byte at the lowest address. This can cause issues not taken into account ...

Page 57

... C Cross Compiler, Assembler, Linker and IDEA package targeting Motorola’s 68HC08 microcontroller ZSSH08SIM ZAP Debugger Simulator for 68HC08 CHPH08 C Cross Compiler, Assembler, Linker and IDEA package targeting Motorola’s 68HC08 microcontroller ZHPH08SIM ZAP Debugger Simulator for 68HC08 Go to: www.freescale.com AN2616 Frequently Asked Questions Description 57 ...

Page 58

... Freescale Semiconductor, Inc. AN2616 References The following publications may be of interest. They are available on Motorola’s web site at: AN1752/D AN1837/D AN2093/D AN2111/D AN2140/D AN2342/D AN2438/D AN2493/D AN2494/D AN2496/D AN2497/D M68EVB908GB60 M68DEMO908GB60 MC9S08GB60/D HCS08RMv1/D 58 Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, http://www ...

Page 59

... MOTOROLA EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MOTOROLA Getting Started with HCS08 and CodeWarrior Using C For More Information On This Product, Go to: www.freescale.com AN2616 References 59 ...

Page 60

... Freescale Semiconductor, Inc. AN2616 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON- INFRINGEMENT. YOU ASSUME THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE, OR ANY SYSTEMS YOU DESIGN USING THE SOFTWARE (IF ANY). NOTHING IN THIS AGREEMENT MAY BE CONSTRUED AS A WARRANTY OR REPRESENTATION BY MOTOROLA THAT THE SOFTWARE OR ANY ...

Page 61

... Microsoft, Windows, and Windows NT are registered trademarks of Microsoft Corporation in the U.S. and other countries. UNIX is a registered trademark of Open Group in the US and other countries. P& trademark of P&E Microcomputer Systems, Inc. ® CodeWarrior is a registered trademark of MetroWerks, a wholly owned subsidiary of Motorola, Inc. Go to: www.freescale.com AN2616 Trademarks 61 ...

Page 62

... Motorola and the Stylized M Logo are registered in the U.S. Patent and Trademark Office. digital dna is a trademark of Motorola, Inc. All other product or service names are the property of their respective owners. Motorola, Inc Equal Opportunity/Affirmative Action Employer. © Motorola, Inc. 2004 AN2616 Go to: www.freescale.com ...

Related keywords