PIC32MX Starter Kit User’s Guide
© 2008 Microchip Technology Inc.
DS61144C
PIC32MX STARTER KIT USER’S GUIDE Note the following details of the code protection feature on Microchip devices: •
Microchip products meet the specification contained in their particular Microchip Data Sheet.
•
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions.
•
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•
Microchip is willing to work with the customer who is concerned about the integrity of their code.
•
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.
Trademarks The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM, PICDEM.net, PICtail, PIC32 logo, PowerCal, PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Total Endurance, UNI/O, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. © 2008, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper.
Microchip received ISO/TS-16949:2002 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified.
DS61144C-page ii
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Table of Contents Preface Introduction............................................................................................................ 1 Document Layout .................................................................................................. 1 Conventions Used in this Guide ............................................................................ 2 Recommended Reading........................................................................................ 3 The Microchip Web Site ........................................................................................ 3 Development Systems Customer Change Notification Service ............................ 4 Customer Support ................................................................................................. 4 Document Revision History ................................................................................... 4
Chapter 1. Introducing the PIC32MX Starter Kit 1.1 Introduction...................................................................................................... 5 1.2 Highlights......................................................................................................... 5 1.3 Kit Contents..................................................................................................... 5 1.4 PIC32MX Functionality and Features.............................................................. 6 1.5 Using the PIC32MX Starter Kit Out of the Box................................................ 7 1.6 Installing the PIC32 Starter Kit CD .................................................................. 7 1.7 PIC32MX Demonstration Program.................................................................. 7
Chapter 2. PIC32MX Starter Kit Tutorial 2.1 Introduction...................................................................................................... 9 2.2 Highlights......................................................................................................... 9 2.3 Host Computer Requirements......................................................................... 9 2.4 Installing the Starter Kit Board....................................................................... 10 2.5 Starting the Tutorial Project........................................................................... 14 2.6 Building the Project ....................................................................................... 15 2.7 Programming the Device............................................................................... 16 2.8 Running the Program .................................................................................... 17 2.9 Tutorial Program Operation........................................................................... 17
Chapter 3. Create a New Project 3.1 Introduction.................................................................................................... 21 3.2 Highlights....................................................................................................... 21 3.3 Creating a New Project ................................................................................. 21
Chapter 4. PIC32MX Starter Kit Hardware 4.1 Introduction.................................................................................................... 33 4.2 Hardware Features........................................................................................ 33
© 2008 Microchip Technology Inc.
DS61144C-page iii
PIC32MX Starter Kit User’s Guide Appendix A. PIC32MX Starter Kit Schematics A.1 Introduction ................................................................................................... 35 A.2 Development Board Block Diagram.............................................................. 35 A.3 Starter Kit Board Schematics........................................................................ 35
Index ..............................................................................................................................41 Worldwide Sales and Service......................................................................................42
DS61144C-page iv
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Preface NOTICE TO CUSTOMERS All documentation becomes dated, and this manual is no exception. Microchip tools and documentation are constantly evolving to meet customer needs, so some actual dialogs and/or tool descriptions may differ from those in this document. Please refer to our web site (www.microchip.com) to obtain the latest documentation available. Documents are identified with a “DS” number. This number is located on the bottom of each page, in front of the page number. The numbering convention for the DS number is “DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the document. For the most up-to-date information on development tools, see the MPLAB® IDE online help. Select the Help menu, and then Topics to open a list of available online help files.
INTRODUCTION This chapter contains general information that will be useful to know before using the PIC32MX. Items discussed in this chapter include: • • • • • • •
Document Layout Conventions Used in this Guide Recommended Reading The Microchip Web Site Development Systems Customer Change Notification Service Customer Support Document Revision History
DOCUMENT LAYOUT This document describes how to use the PIC32MX Starter Kit as a development tool to emulate and debug firmware on a target board. The manual is composed of the following chapters: • Chapter 1. “Introducing the PIC32MX Starter Kit” provides a brief overview of the PIC32MX Starter Kit, highlighting its features and uses. • Chapter 2. “PIC32MX Starter Kit Tutorial” provides step-by-step instructions for installing the PIC32MX and using the Microchip MPLAB® IDE to build and run the tutorial program on the PIC32MX Starter Kit. • Chapter 3. “Create a New Project” provides step-by-step instructions for creating a new project using the MPLAB IDE and loading it onto the PIC32MX Starter Kit. • Chapter 4. “PIC32MX Starter Kit Hardware” provides a more detailed description of the features of the hardware included in the PIC32MX Starter Kit. • Appendix A. “PIC32MX Starter Kit Schematics” provides a block diagram and detailed schematics of the PIC32MX Starter Kit.
© 2008 Microchip Technology Inc.
DS61144C-page 1
PIC32MX Starter Kit User’s Guide CONVENTIONS USED IN THIS GUIDE This manual uses the following documentation conventions: DOCUMENTATION CONVENTIONS Description
Represents
Examples
Arial font: Italic characters Initial caps
Referenced books
MPLAB® IDE User’s Guide
Emphasized text
...is the only compiler...
A window
the Output window
A dialog
the Settings dialog
A menu selection
select Enable Programmer
Quotes
A field name in a window or dialog “Save project before build”
Underlined, italic text with right angle bracket
A menu path
File>Save
Bold characters
A dialog button
Click OK
A tab
Click the Power tab
A key on the keyboard
Press ,
Sample source code
#define START
Filenames
autoexec.bat
File paths
c:\mcc18\h
Keywords
_asm, _endasm, static
Command-line options
-Opa+, -Opa-
Bit values
0, 1
Constants (in source code)
0xFF, ‘A’
Italic Courier New
A variable argument
file.o, where file can be any valid filename
Square brackets [ ]
Optional arguments
mcc18 [options] file [options]
Curly brackets and pipe character: { | }
Choice of mutually exclusive arguments; an OR selection
errorlevel {0|1}
Ellipses...
Replaces repeated text
var_name [, var_name...]
Text in angle brackets < > Courier New font: Plain Courier New
Represents code supplied by user void main (void) { ... }
DS61144C-page 2
© 2008 Microchip Technology Inc.
Preface RECOMMENDED READING This user’s guide describes how to use the PIC32MX Starter Kit. The following Microchip documents are available and recommended as supplemental reference resources. Readme for the PIC32MX For the latest information on using PIC32MX microcontrollers, read the PIC32MX.txt file (an ASCII text file) at the root level of the CD included in the PIC32MX Starter Kit. The file generally contains the most current update information, as well as any issues that may not have been available when this user’s guide was published. Readme Files For the latest information on using other tools, read the tool-specific readme files in the Readmes subdirectory of the PIC32MX Starter Kit installation directory. The files contain update information, as well as any issues that may not have been available when this user’s guide was published. PIC32MX Data Sheet (DS61143) Consult this document for detailed information on the PIC32MX general purpose, 32-bit devices. Reference information found in this data sheet includes: • • • •
Device memory map Device pinout and packaging details Device electrical specifications List of peripherals included on the device
MPLAB® C32 C Compiler User’s Guide (DS51686) This document details the use of Microchip’s MPLAB C32 C Compiler for PIC32MX devices to develop an application. MPLAB C32 is a GNU-based language tool, based on source code from the Free Software Foundation (FSF). For more information about FSF, see their web site at www.fsf.org. MPLAB® IDE User’s Guide (DS51519) Consult this document for more information pertaining to the installation and implementation of the MPLAB IDE software, as well as the MPLAB Editor and MPLAB SIM Simulator software that are included with it.
THE MICROCHIP WEB SITE Microchip provides online support via our web site at www.microchip.com. This web site makes files and information easily available to customers. Accessible by most Internet browsers, the web site contains the following information: • Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software • General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip consultant program member listings • Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listings of seminars and events; and listings of Microchip sales offices, distributors and factory representatives
© 2008 Microchip Technology Inc.
DS61144C-page 3
PIC32MX Starter Kit User’s Guide DEVELOPMENT SYSTEMS CUSTOMER CHANGE NOTIFICATION SERVICE Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest. To register, access the Microchip web site at www.microchip.com, click on Customer Change Notification and follow the registration instructions. The Development Systems product group categories are: • Compilers – The latest information on Microchip C compilers and other language tools. These include the MPLAB C18, MPLAB C30, and MPLAB C32 C compilers; ASM32, MPASM™ and MPLAB ASM30 assemblers; MPLINK™, and MPLAB LINK30, MPLAB LINK32 object linkers; and MPLIB™ and MPLAB LIB30 object librarians. • Emulators – The latest information on Microchip in-circuit emulators. This includes the MPLAB REAL ICE™ and MPLAB ICE 2000 in-circuit emulators. • In-Circuit Debuggers – The latest information on the Microchip in-circuit debuggers. This includes the MPLAB ICD 2 and PICkit™ 2. • MPLAB® IDE – The latest information on Microchip MPLAB IDE, the Windows® Integrated Development Environment for development systems tools. This list is focused on the MPLAB IDE, MPLAB IDE Project Manager, MPLAB Editor and MPLAB SIM simulator, as well as general editing and debugging features. • Programmers – The latest information on Microchip programmers. These include the MPLAB PM3 device programmer and the PICSTART® Plus, PICkit™ 1 and PICkit 2 development programmers.
CUSTOMER SUPPORT Several channels are available to assist the users of Microchip products: • • • • •
Distributor or Representative Local Sales Office Field Application Engineer (FAE) Technical Support Development Systems Information Line
Customers should contact their distributor, representative or FAE for support. Local sales offices are also available to help customers. A list of sales offices and locations is included in the back of this document. Technical support is available through the web site http://support.microchip.com.
DOCUMENT REVISION HISTORY Revision A (October 2007) This is the initial release of the PIC32MX Starter Kit User’s Guide.
Revision B (October 2007) Removed confidential status.
Revision C (November 2008) Updated the instructions in Section 3.3.2 “Task 2, Select the Language Toolsuite”. Added connector table in Section Table 4-1: “Starter Board Connector Part Numbers”.
DS61144C-page 4
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Chapter 1. Introducing the PIC32MX Starter Kit 1.1
INTRODUCTION Thank you for purchasing the Microchip Technology PIC32MX Starter Kit. This kit provides a low-cost, modular development system for Microchip’s new line of 32-bit microcontrollers. The starter kit comes pre-loaded with demonstration software for the user to explore the new features of the PIC32MX. It is also expandable through a modular expansion interface, which allows the user to extend its functionality. The PIC32MX Starter Kit also supplies on-board circuitry for full debug and programming capabilities.
1.2
HIGHLIGHTS This chapter covers the following topics: • • • • •
Kit Contents PIC32MX Functionality and Features Using the PIC32MX Starter Kit Out of the Box Installing the PIC32MX Starter Kit CD PIC32MX Demonstration Program
The preprogrammed example code on the PIC32MX MCU has been included on the PIC32MX Starter Kit CD-ROM for future reference. All project files have been included, so that the code may be used directly to restore the PIC32MX MCU on the starter kit to its original state (i.e., if the sample device has been reprogrammed with another program), or so you can use the tutorial code as a platform for further experimentation.
1.3
KIT CONTENTS The PIC32MX Starter Kit contains the following items: • PIC32MX Starter Kit Board • USB Mini-B cable • PIC32 Starter Kit Installation CD-ROM, which includes: - PIC32MX Starter Kit User’s Guide (DS61144) - PIC32MX Family Data Sheet (DS61143) - PIC32MX Family Reference Manual (DS61132) - PIC32MX Peripheral Library Manual - Schematics and PCB drawing files - Code examples for use with the PIC32MX devices If you are missing any part of the kit, contact a Microchip sales office for assistance. A list of Microchip offices for sales and service is provided on page 42.
© 2008 Microchip Technology Inc.
DS61144C-page 5
PIC32MX Starter Kit User’s Guide 1.4
PIC32MX FUNCTIONALITY AND FEATURES A representation of the layout of the PIC32MX Starter Kit is shown in Figure 1-1. The board includes these key features, as indicated in the diagram: 1. PIC32MX360F512L 32-bit microcontroller 2. Green power-indicator LED 3. Regulated +3.3V power supply for powering the starter kit board via USB or expansion board 4. On-board crystal for precision microcontroller clocking (8 MHz) 5. USB connectivity for on-board debugger communications 6. PIC18LF4550 USB microcontroller for on-board debugging 7. Orange Debug indicator LED 8. Three push-button switches for user-defined inputs 9. Three user-defined indicator LEDs 10. Connector for connecting various expansion boards (on the underside of board) For details on these features, refer to Chapter 4. “PIC32MX Starter Kit Hardware”. FIGURE 1-1:
PIC32MX STARTER KIT DEMO BOARD LAYOUT
7
M 6 5
8
4 9
3 10 2
DS61144C-page 6
1
© 2008 Microchip Technology Inc.
Introducing the PIC32MX Starter Kit 1.5
USING THE PIC32MX STARTER KIT OUT OF THE BOX The PIC32MX Starter Kit may be used directly from the box as a demonstration board for the PIC32MX device. The PIC32MX is preprogrammed with the classic “Simon Says” game (simon_says_demo.hex) in the PIC32MX360F512L device and is ready for immediate use.
1.5.1
How to Play the Game
When the USB cable is plugged into the starter kit, the three LEDs start blinking to indicate the start of a new game. Begin the game by pressing one of the switches, SW1-SW3, to choose the level of game difficulty. SW3 is the easiest, SW1 is the hardest. The goal is to imitate the light patterns as long as you can, without getting frazzled. Ultimately, you will make a mistake and all of the LEDs will light up to signal the end of a game. After a brief pause, you can press a switch again to start a new game. If the starter kit is connected to the MPLAB IDE, the game stops. It will be replaced by the MPLAB IDE project that you select when the program button is pressed. The game can be reloaded onto the starter kit by opening simon_says_demo.mcw from the following directory: c:\Program Files\Microchip\pic32_solutions\simon_says_demo
1.6
INSTALLING THE PIC32MX STARTER KIT CD The starter kit CD-ROM contains the MPLAB IDE, MPLAB C32 C Compiler tools, code examples, sample projects, technical documentation, a getting started tutorial, and this PIC32MX Starter Kit User’s Guide. When the CD is placed into your CD drive, an automatic installation application will guide you to install the tools and relevant documents.
1.7
PIC32MX DEMONSTRATION PROGRAM The preprogrammed example code on the PIC32MX has been included on the PIC32 Starter Kit CD-ROM for future reference. All project files have been included, so that the code may be used directly to restore a PIC32MX to its original state (i.e., if the sample device has been reprogrammed with another program) or so you can use the tutorial code as a platform for further experimentation.
© 2008 Microchip Technology Inc.
DS61144C-page 7
PIC32MX Starter Kit User’s Guide NOTES:
DS61144C-page 8
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Chapter 2. PIC32MX Starter Kit Tutorial 2.1
INTRODUCTION This chapter is a self-paced tutorial to get you started using the PIC32MX Starter Kit.
2.2
HIGHLIGHTS Items discussed in this chapter include: • • • • • • •
2.3
Host Computer Requirements Installing the Starter Kit Board Starting with the Tutorial Project Building the Project Programming the Device Running the Program Operation of the Tutorial Program
HOST COMPUTER REQUIREMENTS To communicate with and program the starter kit board, the following hardware and software requirements must be met: • • • •
PC-compatible system An available USB port on PC or powered USB hub CD-ROM drive Microsoft Windows XP® (The PIC32MX Starter Kit has not been tested on Windows NT®, Windows 2000® or Microsoft Vista™ operating systems)
© 2008 Microchip Technology Inc.
DS61144C-page 9
PIC32MX Starter Kit User’s Guide 2.4
INSTALLING THE STARTER KIT BOARD As a USB device, the starter kit board requires very little effort to install; most of the work is done by the operating system. Begin by closing all applications.
2.4.1
Install the Tools and Projects
1. Insert the PIC32 Starter Kit CD into your CD-ROM drive and click the install from CD menu option. If the installation application does not automatically start, navigate to the files on the CD and open setup.exe. The following window is displayed: FIGURE 2-1:
INSTALLING THE PIC32 STARTER KIT BOARD
2. Reboot your system when prompted to do so. Note:
DS61144C-page 10
The dialog also provides an option to check the Microchip web site for newer versions of the starter kit software.
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Tutorial 2.4.2
View the Getting Started Tutorial
Perform the following steps to view the tutorial: 1. After your computer has rebooted, the Getting Started Tutorial menu opens. 2. View the tutorial instructions for connecting to the starter kit board and running the tutorial project. If you performed the installation steps as you followed along in the Getting Started tutorial, skip to Section 2.5 “Starting the Tutorial Project” on page 14. If you did not, continue to the next page for instructions about how to connect the board and install the device driver.
2.4.3
Connect the Starter Kit Board
Using the supplied USB cable, connect the board to an open USB port on your computer. (A USB hub that is not bus-powered can also be used.) Connect the other end of the cable into the USB connector on the starter kit board. Check the board: the green power LED D3 should be lit. If it is not, check the connections at the port, hub, and board.
2.4.4 Note:
Install the USB Device Driver The USB driver installation steps described here refer specifically to installing the driver on a Microsoft Windows XP operating system.
Perform the following steps to install the USB device driver: 1. When the USB cable is connected, the “Found New Hardware Wizard” dialog box opens, as shown in Figure 2-2. When asked whether to install the software automatically or install from a list or specific location, select “Install software automatically” and click Next. FIGURE 2-2:
© 2008 Microchip Technology Inc.
FOUND NEW HARDWARE WIZARD
DS61144C-page 11
PIC32MX Starter Kit User’s Guide 2. As shown in Figure 2-3, the next dialog box tracks the wizard as it searches for the device. (This activity may take several seconds.) When it is done, click Next. FIGURE 2-3:
HARDWARE WIZARD – SEARCHING FOR DEVICE
3. If prompted to select a driver, select mp32mxsk.inf, as shown in Figure 2-4. Click Next to continue. FIGURE 2-4:
DS61144C-page 12
HARDWARE WIZARD – SELECTING THE DRIVER
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Tutorial 4. If prompted with a dialog box for Windows Logo testing, as shown in Figure 2-5, click Continue Anyway. FIGURE 2-5:
WINDOWS LOGO TESTING
5. The next window (Figure 2-6) indicates that the installation of the software for the starter kit is complete. Click Finish. FIGURE 2-6:
© 2008 Microchip Technology Inc.
COMPLETING DEVICE DRIVER INSTALLATION
DS61144C-page 13
PIC32MX Starter Kit User’s Guide 2.5
STARTING THE TUTORIAL PROJECT Click the MPLAB IDE icon on your computer desktop. The MPLAB IDE opens with the starter kit tutorial project loaded, as shown in Figure 2-7. If the MPLAB IDE does not have the starter kit tutorial project loaded, select File>Open Workspace... from the menu bar and browse to the tutorial project file: c:\Program Files\Microchip\ pic32_solutions\PIC32MX_Starter_Kit\sample_code\StarterKitTutorial\ StarterKitTutorial.mcw (or browse to the file path you used when you installed
the MPLAB IDE). The pane on the left of the MPLAB IDE interface displays project files, the ‘.c’, ‘.h’ and ‘.a’ files that are used to build an application. The project files are organized by type into folders. “Starter Kit Found” should be displayed in the “Output” pane of the MPLAB IDE interface. If you do not see this message, select Debugger>Select Tool>PIC32MX Starter Kit from the menu bar. If that sequence fails to find the project, check the driver installation, as well as the connections between the hardware and the PC. FIGURE 2-7:
DS61144C-page 14
MPLAB® IDE WORKSPACE
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Tutorial 2.6
BUILDING THE PROJECT From the menu bar of the main MPLAB IDE window, click Project>Make. The build Output window displays, as shown in Figure 2-8. Observe the progress of the build. When the “BUILD SUCCEEDED” message displays, you are ready to program the device. FIGURE 2-8:
© 2008 Microchip Technology Inc.
BUILD OUTPUT WINDOW
DS61144C-page 15
PIC32MX Starter Kit User’s Guide 2.7
PROGRAMMING THE DEVICE 2.7.1
Program the Device
Click on the Program All Memories icon on the Program Device Tool Bar, as shown in Figure 2-9). FIGURE 2-9:
PROGRAM DEVICE TOOL BAR
A Programming Warning window (Figure 2-10) opens to warn you about overwriting the memory. Click Yes. FIGURE 2-10:
PROGRAMMING WARNING WINDOW
The Output window (Figure 2-11) tracks the progress of the output. A “Done” entry indicates that the programming of the device is complete. FIGURE 2-11:
DS61144C-page 16
OUTPUT WINDOW
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Tutorial 2.8
RUNNING THE PROGRAM Either click Debugger>Run from the menu bar of the MPLAB IDE or click the Run icon (the turquoise triangle) on the Debug Tool Bar (Figure 2-12) to run the new program. FIGURE 2-12:
2.9
DEBUG WINDOW
TUTORIAL PROGRAM OPERATION The starter kit tutorial demonstrates a simple application. The program responds according to the user input menu. The program prints the available menu choices to the starter kit Output window in the MPLAB IDE. The program flow is shown in Figure 2-13.
© 2008 Microchip Technology Inc.
DS61144C-page 17
PIC32MX Starter Kit User’s Guide FIGURE 2-13:
PIC32MX TUTORIAL PROGRAM FLOWCHART
Pow er U p
In itia lize th e L E D s
Is “re p e a t” = = ‘x’
Yes
D is p la y th a t th e p ro g ra m h a s te rm in a te d
R e tu rn
No D isp la y th e B u ild D a te a n d T im e
A s k u se r fo r th e m e n u ch o ice
A s k u se r fo r th e strin g o f m a xim u m 2 5 6 c h a ra c te rs
Yes
Is M e n u ch o ic e ‘e ’ o r ‘E ’?
No D isp la y th e u s e r strin g b a c k to th e o u tp u t w in d o w
T o g g le th e R E D LED
Yes
Is M e n u c h o ice ‘r’ o r ‘R ’? No
T o g g le th e O RANG E LED
Yes
Is M e n u ch o ic e ‘o ’ o r ‘O ’? No
T o g g le th e G R EE N LED
Yes
Is M e n u ch o ic e ‘g ’ o r ‘G ’? No
M a k e re p e a t = ‘x’
Y es
Is M e n u c h o ic e ‘x ’ o r ‘X ’? No D isp la y th a t th e u se r c h o ice is in va lid a n d T o g g le a ll th e L E D s o n ce .
DS61144C-page 18
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Tutorial The tutorial program includes the Debug Print Library, which facilitates print functionality. A peripheral library header file for flashing the LEDs is also included. The header file for print functionality is db_utils.h. Depending on the macro definition given in the print header file, the debug print macros will be expanded. The print functionality in the tutorial is routed to the Output window on the MPLAB PIC32MX tab in the interface window. In order to achieve this, the macro definition “PIC32_STARTER_KIT” is added to the C32 compiler options. As the program runs, the Output window (Figure 2-14) tracks the progress. FIGURE 2-14:
OUTPUT WINDOW
After printing the menu, the application displays a prompt that requests your input, see Figure 2-15. FIGURE 2-15:
TARGET IN WINDOW
Type your choice into the Enter Information to be Sent to Target box, and click Send. The program responds according to the menu entry. Watch the LEDs on the starter kit board. If your entry is incorrect, the LEDs will toggle once.
© 2008 Microchip Technology Inc.
DS61144C-page 19
PIC32MX Starter Kit User’s Guide NOTES:
DS61144C-page 20
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Chapter 3. Create a New Project 3.1
INTRODUCTION This chapter explains how to create a new project.
3.2
HIGHLIGHTS Items discussed in this chapter include: • • • •
Creating a New Project Building the Project Programming the Device Running the Program
After completing this chapter, you should be able to accomplish the following tasks: • • • •
3.3
Create a project using the Project Wizard Assemble and link the code, and set the Configuration bits Set up the MPLAB IDE to use the PIC32MX Starter Kit Program the chip, and run the program
CREATING A NEW PROJECT The first step is to create a project and a workspace in the MPLAB IDE. Typically, there is a single project per workspace. A project contains the files needed to build an application (i.e., source code, header files, library, etc.), and their corresponding build options. A workspace contains one or more projects, information on the selected device, debug/programmer tool, and MPLAB IDE configuration settings. MPLAB IDE contains a Project Wizard to help create a new project. You will perform the following tasks as you create a new project: Task 1, Select a Device ..................................................... page 22 Task 2, Select the Language Toolsuite ............................ page 23 Task 3, Name Your Project ................................................ page 24 Task 4, Add Files to Your Project ..................................... page 25 Task 5, Confirm the Configuration Settings .................... page 28 Task 6, Build the Project .................................................. page 29 Task 7, Program the Device .............................................. page 30 Task 8, Run the Program................................................... page 31
© 2008 Microchip Technology Inc.
DS61144C-page 21
PIC32MX Starter Kit User’s Guide 3.3.1
Task 1, Select a Device
1. Start MPLAB IDE. 2. Click File>Close Workspace on the menu bar, to close any workspace that is open. 3. Click Project>Project Wizard... to start the wizard. 4. In the Welcome window, click Next. The Project Wizard Step One: window is displayed, as shown in Figure 3-1. FIGURE 3-1:
SELECTING THE DEVICE
5. From the “Device” drop-down list, select “PIC32MX360F512L”. 6. Click Next. The Project Wizard Step Two: dialog box opens, as shown in Figure 3-2.
DS61144C-page 22
© 2008 Microchip Technology Inc.
Create a New Project FIGURE 3-2:
3.3.2
SELECTING THE TOOLSUITE
Task 2, Select the Language Toolsuite
1. From the “Active Toolsuite” drop-down list, click “Microchip PIC32 C Compiler Toolsuite”. The toolsuite includes the assembler and linker that will be used. If the PIC32 compiler option is not available, check the “show all installed toolsuites” box. 2. Click Next to continue. The Project Wizard Step Three: dialog opens, as shown in Figure 3-3.
© 2008 Microchip Technology Inc.
DS61144C-page 23
PIC32MX Starter Kit User’s Guide FIGURE 3-3:
3.3.3
NAMING YOUR PROJECT
Task 3, Name Your Project
1. In the “Create New Project File” field, type C:\MyProject\BlinkLED. 2. Click Next and Ok to continue. The Project Wizard Step Four: dialog opens, as shown in Figure 3-4.
DS61144C-page 24
© 2008 Microchip Technology Inc.
Create a New Project FIGURE 3-4:
3.3.4
ADDING FILES TO THE PROJECT
Task 4, Add Files to Your Project
This window can be skipped, since no ‘.c’ files have been created. 1. Click Next to continue. 2. Click Finish on the summary screen. 3. A project and workspace have been created in the MPLAB IDE. BlinkLED.mcw is the workspace file and BlinkLED.mcp is the project file. 4. Click File>New from the menu bar to create a new file. A new file is displayed. 5. Click File>Save As... and save this file as ‘blinkLED.c’ in the same folder (in this case, the C:\MyProject folder). 6. Now copy the source code provided in Example 3-1 to the blinkLED.c file.
© 2008 Microchip Technology Inc.
DS61144C-page 25
PIC32MX Starter Kit User’s Guide EXAMPLE 3-1:
PROJECT SOURCE CODE
#include int main(void) { int i; /* setup LED */ mPORTDClearBits(BIT_0); mPORTDSetPinsDigitalOut(BIT_0); mPORTDClearBits(BIT_1); mPORTDSetPinsDigitalOut(BIT_1); mPORTDClearBits(BIT_2); mPORTDSetPinsDigitalOut(BIT_2); while(1) // go for ever { for(i=0; iConfiguration Bits to confirm that the configuration settings are correct. Typical configuration settings for the starter kit are shown in Figure 3-6. Note:
FIGURE 3-6:
The Configuration settings can also be embedded in the source file. See the MPLAB C32 C Compiler User’s Guide for more information.
CONFIGURATION BIT SETTINGS
Notice that the “Configuration Bits set in code” check box is unchecked.
CAUTION Setting the PIC32 Starter Kit configuration bits to cause the PIC32MX to operate faster than the maximum 80MHz system clock speed may cause the PIC32MX to stop communicating with the PIC18F4550 Starter Kit debugger. Should this occur, run the sk_erase.exe utility located on PIC32 Starter Kit CD to re-flash the PIC32MX with a default configuration.
DS61144C-page 28
© 2008 Microchip Technology Inc.
Create a New Project 3.3.6
Task 6, Build the Project
1. Click Project>Make from the menu bar of the main MPLAB IDE window. The build Output window displays (Figure 3-7). 2. Observe the progress of the build. When the “BUILD SUCCEEDED” message displays, you are ready to program the device. FIGURE 3-7:
© 2008 Microchip Technology Inc.
BUILD OUTPUT WINDOW
DS61144C-page 29
PIC32MX Starter Kit User’s Guide 3.3.7
Task 7, Program the Device
1. Click the Program All Memories icon on the Program Device Tool Bar, as shown in Figure 3-8. FIGURE 3-8:
PROGRAM DEVICE WINDOW
A Programming Warning window (Figure 3-9) opens to warn you about overwriting the memory. 2. Click Yes. FIGURE 3-9:
PROGRAMMING WARNING WINDOW
The Output window (Figure 3-10) tracks the progress of the output. “Done” signals that the programming of the device is complete. FIGURE 3-10:
DS61144C-page 30
OUTPUT WINDOW
© 2008 Microchip Technology Inc.
Create a New Project 3.3.8
Task 8, Run the Program
Click Debugger>Run from the menu bar of the MPLAB IDE or click the Run icon (the turquoise triangle) on the Debug Tool Bar, as indicated in Figure 3-11, to run the new program. FIGURE 3-11:
RUN THE PROGRAM
The starter kit LEDs blink to indicate that the program is running successfully.
© 2008 Microchip Technology Inc.
DS61144C-page 31
PIC32MX Starter Kit User’s Guide NOTES:
DS61144C-page 32
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Chapter 4. PIC32MX Starter Kit Hardware 4.1
INTRODUCTION This chapter describes the hardware features of the PIC32MX Starter Kit.
4.2
HARDWARE FEATURES The key features of the PIC32MX Starter Kit are listed below. They are presented in the order given in Section 1.4 “PIC32MX Functionality and Features”. You can refer to Figure 1-1 on page 6 for their locations on the board.
4.2.1
Processor Support
The PIC32MX Starter Kit is designed with a permanently mounted (i.e., soldered) PIC32MX360F512L processor.
4.2.2
Power Supply
There are two ways to supply power to the PIC32MX Starter Kit: • USB bus power connected to J1. • An external application board with a regulated DC power supply that provides +5V can be connected to the J2 application board connector that is provided on the bottom side of the board. Note:
The basic PIC32MX Starter Kit does not include an application board and is intended to be USB-bus powered.
One green LED (D3) is provided to show that the PIC32 microcontroller is powered up.
4.2.3
USB Connectivity
The PIC32MX Starter Kit includes a PIC18LF4550 USB microcontroller, which provides both USB connectivity and support for protocol translation. The PIC18LF4550 is hardwired to the PIC32MX device to provide two types of connectivity: • I/O pins of PIC18LF4550 to ICSP™ pins of PIC32MX • I/O pins of PIC18LF4550 to JTAG pins of PIC32MX The PIC32MX Starter Kit currently uses the JTAG pins of the PIC32MX device for programming and debugging.
© 2008 Microchip Technology Inc.
DS61144C-page 33
PIC32MX Starter Kit User’s Guide 4.2.4
Switches
Push-button switches provide the following functionality: • SW1: Active-low switch connected to RD6 • SW2: Active-low switch connected to RD7 • SW3: Active-low switch connected to RD13 The switches do not have any debounce circuitry and require the use of internal pullup resistors; this allows you to investigate debounce techniques. When Idle, the switches are pulled high (+3.3V). When pressed, they are grounded.
4.2.5
LEDs
The LEDs, RD0 through RD2, are connected to PORTD of the processor. The PORTD pins are set high to light the LEDs.
4.2.6
Oscillator Options
The installed microcontroller has an oscillator circuit connected to it. The main oscillator uses an 8 MHz crystal (Y2) and functions as the controller’s primary oscillator. Use of an external crystal is not required for PIC32 designs. Your design may use the internal oscillator, if desired. The PIC18LF4550, at the heart of the USB subsystem, is independently clocked and has its own 8 MHz crystal (Y1).
4.2.7
120-Pin Modular Expansion Connector
The PIC32MX Starter Kit demo board has been designed with a 120-pin modular expansion interface, which allows the board to provide basic generic functionality now, as well as easy extendability to new technologies as they become available. TABLE 4-1:
STARTER BOARD CONNECTOR PART NUMBERS Connector
DS61144C-page 34
HIROSE Electric PN
Starter Board Connector
FX10A-120P/12-SV1(71)
Application Board Connector
FX10A-120S/12-SV(71)
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Appendix A. PIC32MX Starter Kit Schematics A.1
INTRODUCTION This section provides detailed technical information about the PIC32MX Starter Kit.
DEVELOPMENT BOARD BLOCK DIAGRAM
FIGURE A-1:
HIGH-LEVEL BLOCK DIAGRAM OF THE PIC32MX STARTER KIT
VUSB or +5V_EXT
Power Supply +3.3V
ICSP™ JTAG
USB PIC18LF4550
PIC32MX360F512L
LEDs Switches
A.3
Application Bd. Connector
A.2
STARTER KIT BOARD SCHEMATICS Figure A-2. PIC32MX CPU Figure A-3. PIC18LF4550 Debug CPU Figure A-4. Application Board Connector Figure A-5. Switches and LEDs Figure A-6. Power Supply
© 2008 Microchip Technology Inc.
DS61144C-page 35
PIC32MX Starter Kit User’s Guide
DS61144C-page 36
FIGURE A-2:PIC32MX SCHEMATIC, SHEET 1 OF 6 (PIC32MX CPU)
© 2008 Microchip Technology Inc.
PIC32MX SCHEMATIC, SHEET 2 OF 6 (PIC18LF4550 DEBUG CPU) © 2008 Microchip Technology Inc.
FIGURE A-3:
PIC32MX Starter Kit Schematics
DS61144C-page 37
PIC32MX Starter Kit User’s Guide FIGURE A-4:
DS61144C-page 38
PIC32MX SCHEMATIC, SHEET 3 OF 6 (APPLICATION BOARD CONNECTOR)
© 2008 Microchip Technology Inc.
PIC32MX Starter Kit Schematics FIGURE A-5:
PIC32MX SCHEMATIC, SHEET 5 OF 6 (SWITCHES AND LEDS)
© 2008 Microchip Technology Inc.
DS61144C-page 39
PIC32MX Starter Kit User’s Guide FIGURE A-6:
DS61144C-page 40
PIC32MX SCHEMATIC, SHEET 6 OF 6 (POWER SUPPLY)
© 2008 Microchip Technology Inc.
PIC32MX STARTER KIT USER’S GUIDE Index A
P
Active Toolsuite........................................................ 23
PIC32MX Layout 32-bit Microcontroller ................................... 6 Connector for expanSion Boards................. 6 Debug Indicator LED ................................... 6 On-board crystal .......................................... 6 PIC18LF4550 USB Microcontroller.............. 6 Power Supply............................................... 6 Power-indicator LED.................................... 6 Switches ...................................................... 6 USB Connectivity......................................... 6 User-defined LEDs ...................................... 6 PIC32MX Out of the Box............................................ 7 Preprogrammed Game ....................................... 7 Preprogrammed exAmple Code................................. 7 Print Functionality..................................................... 19 Project Wizard.......................................................... 21
B Building the Tutorial Project ..................................... 15
C Connect the Starter Kit Board .................................. 11 Create a Project Build the Project................................................ 28 Configuration Settings ...................................... 28 Customer Change Notification Service ...................... 4 Customer Support ...................................................... 4
D Debug Print Library .................................................. 19 Documentation Conventions ........................................................ 2
F Free Software Foundation ......................................... 3
G GNU Language Tools ................................................ 3
H Hardware Features LEDs ................................................................. 32 Oscillator Options ............................................. 32 PICtail Plus Card Edge Connectors.................. 32 Power Supply.................................................... 31 Processor Support ............................................ 31 Switches ........................................................... 32 USB Connectivity .............................................. 31 Host Computer Requirements.................................... 9
I Installing the Starter Kit Board ................................. 10 Installing the USB Device Driver .............................. 11 Internet Address......................................................... 3
L Language Toolsuite ................................................. 23 Last Schematic ........................................................ 38 LEDs Power................................................................ 11
M Microchip Internet Web Site ....................................... 3 MPLAB ....................................................................... 7 MPLAB IDE Simulator, Editor User’s Guide............... 3
R Readme...................................................................... 3 Restore PIC32MX original programming ................... 7
S Schematics Application Board Connector ............................ 36 PIC18LF4550 Debug CPU................................ 35 PIC32MX CPU .................................................. 34 Power Supply.................................................... 38 Switches and LEDs........................................... 37 Starter Kit Board Block Diagram................................................... 33 Connecting........................................................ 11 Installing............................................................ 10 Installing device driver ...................................... 11 Starting the tutorial project ....................................... 14
T Tutorial Program Operation...................................... 17 Tutorial Project Building the Project ........................................... 15 Program Operation ........................................... 17 Programming the Device .................................. 16 Starting.............................................................. 14
U USB Connectivity ...................................................... 31
W WWW Address........................................................... 3
© 2008 Microchip Technology Inc.
DS61144C-page 41
WORLDWIDE SALES AND SERVICE AMERICAS
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://support.microchip.com Web Address: www.microchip.com
Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431
India - Bangalore Tel: 91-80-4182-8400 Fax: 91-80-4182-8422 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632
Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829
India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513
France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Japan - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122
Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44
Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, MI Tel: 248-538-2250 Fax: 248-538-2260 Kokomo Kokomo, IN Tel: 765-864-8360 Fax: 765-864-8387 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Santa Clara Santa Clara, CA Tel: 408-961-6444 Fax: 408-961-6445 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509
Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 China - Beijing Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889
Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302
China - Hong Kong SAR Tel: 852-2401-1200 Fax: 852-2401-3431
Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934
China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470
Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859
China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205
Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068
China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066
Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069
China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393
Singapore Tel: 65-6334-8870 Fax: 65-6334-8850
China - Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760
Taiwan - Hsin Chu Tel: 886-3-572-9526 Fax: 886-3-572-6459
China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118
Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803
China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130
Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102
China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256
Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350
Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820
China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049
01/02/08
DS61144C-page 42
© 2008 Microchip Technology Inc.