PIC32MX Starter Kit User’s Guide © 2009 Microchip Technology Inc. DS61144D 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, rfPIC, SmartShunt and UNI/O 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, 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. © 2009, 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. DS61144D-page ii © 2009 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 ................................................................................... 5 Chapter 1. Introducing the PIC32MX Starter Kit 1.1 Introduction ..................................................................................................... 7 1.2 Highlights ........................................................................................................ 7 1.3 Kit Contents .................................................................................................... 7 1.4 PIC32MX Functionality and Features ............................................................. 8 1.5 Installing the PIC32MX Starter Kit CD ............................................................ 9 1.6 Using the PIC32MX Starter Kit Out of the Box ............................................... 9 1.7 PIC32MX Demonstration Program ................................................................. 9 Chapter 2. PIC32MX Starter Kit Tutorial 2.1 Introduction ................................................................................................... 11 2.2 Highlights ...................................................................................................... 11 2.3 Host Computer Requirements ...................................................................... 11 2.4 Installing the Starter Kit Board ...................................................................... 12 2.5 Starting the Tutorial Project .......................................................................... 16 2.6 Building the Project ...................................................................................... 17 2.7 Programming the Device .............................................................................. 18 2.8 Running the Program ................................................................................... 19 2.9 Tutorial Program Operation .......................................................................... 19 Chapter 3. Create a New Project 3.1 Introduction ................................................................................................... 23 3.2 Highlights ...................................................................................................... 23 3.3 Creating a New Project ................................................................................ 23 Chapter 4. PIC32MX Starter Kit Hardware 4.1 Introduction ................................................................................................... 35 4.2 Hardware Features ....................................................................................... 35 © 2009 Microchip Technology Inc. DS61144D-page iii PIC32MX Starter Kit User’s Guide Appendix A. PIC32MX Starter Kit Schematics A.1 Introduction .................................................................................................. 37 A.2 Development Board Block Diagram ............................................................. 37 A.3 Starter Kit Board Schematics ....................................................................... 37 Index ..............................................................................................................................43 Worldwide Sales and Service......................................................................................44 DS61144D-page iv © 2009 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. © 2009 Microchip Technology Inc. DS61144D-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 <Enter>, <F1> 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 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 valid filename Represents code supplied by user void main (void) { ... } DS61144D-page 2 © 2009 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. Release Notes for PIC32MX Starter Kit For the latest information on the PIC32MX Starter Kit, open PIC32MX Starter Kit Release Notes.htm located in either the root directory of the PIC32MX Starter Kit CD or (default): c:\Microchip Starter Kits\PIC32 Starter Kits\documentation 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. 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® C Compiler for PIC32 User’s Guide (DS51686) This document, formerly the MPLAB C32 C Compiler for PIC32 User’s Guide, details the use of Microchip’s MPLAB C Compiler for PIC32 to an develop application. 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 © 2009 Microchip Technology Inc. DS61144D-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 and MPLAB C30 C compilers, and MPLAB C Compiler for PIC32 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. DS61144D-page 4 © 2009 Microchip Technology Inc. Preface 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”. Revision D (February 2009) Updated directory names and associated figures. © 2009 Microchip Technology Inc. DS61144D-page 5 PIC32MX Starter Kit User’s Guide NOTES: DS61144D-page 6 © 2009 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 Installing the PIC32MX Starter Kit CD Using the PIC32MX Starter Kit Out of the Box 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 - 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 44. © 2009 Microchip Technology Inc. DS61144D-page 7 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 DS61144D-page 8 1 © 2009 Microchip Technology Inc. Introducing the PIC32MX Starter Kit 1.5 INSTALLING THE PIC32MX STARTER KIT CD The default PIC32MX Starter Kit installation directory is: c:\Microchip Starter Kits\PIC32 Starter Kits Note, throughout this document, the following phrase “[install directory]” refers to this default installation, c:\Microchip Starter Kits, or a directory selected by the user during the time of installation. 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.6 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.6.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: [install directory]\PIC32 Starter Kits\simon_says_demo 1.7 PIC32MX DEMONSTRATION PROGRAM The preprogrammed example code on the PIC32MX has been included as part of the PIC32MX Starter Kit installation. 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. © 2009 Microchip Technology Inc. DS61144D-page 9 PIC32MX Starter Kit User’s Guide NOTES: DS61144D-page 10 © 2009 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) © 2009 Microchip Technology Inc. DS61144D-page 11 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: DS61144D-page 12 The dialog also provides an option to check the Microchip web site for newer versions of the starter kit software. © 2009 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 16. 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: © 2009 Microchip Technology Inc. FOUND NEW HARDWARE WIZARD DS61144D-page 13 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: DS61144D-page 14 HARDWARE WIZARD – SELECTING THE DRIVER © 2009 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: © 2009 Microchip Technology Inc. COMPLETING DEVICE DRIVER INSTALLATION DS61144D-page 15 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: [install directory]\PIC32 Starter Kits\ Starter_Kit_Tutorial\starter_kit_tutorial.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: DS61144D-page 16 MPLAB® IDE WORKSPACE © 2009 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: BUILD OUTPUT WINDOW © 2009 Microchip Technology Inc. DS61144D-page 17 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: DS61144D-page 18 OUTPUT WINDOW © 2009 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. © 2009 Microchip Technology Inc. DS61144D-page 19 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 . DS61144D-page 20 © 2009 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 MPLAB C Compiler for PIC32 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. © 2009 Microchip Technology Inc. DS61144D-page 21 PIC32MX Starter Kit User’s Guide NOTES: DS61144D-page 22 © 2009 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 24 Task 2, Select the Language Toolsuite ............................ page 25 Task 3, Name Your Project ................................................ page 26 Task 4, Add Files to Your Project ..................................... page 27 Task 5, Confirm the Configuration Settings .................... page 30 Task 6, Build the Project .................................................. page 31 Task 7, Program the Device .............................................. page 32 Task 8, Run the Program................................................... page 33 © 2009 Microchip Technology Inc. DS61144D-page 23 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. DS61144D-page 24 © 2009 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. © 2009 Microchip Technology Inc. DS61144D-page 25 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. DS61144D-page 26 © 2009 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. The source code file is located in the PIC32 Starter Kit directory: [install directory]\PIC32 Starter Kits\Blink_Leds. © 2009 Microchip Technology Inc. DS61144D-page 27 PIC32MX Starter Kit User’s Guide EXAMPLE 3-1: PROJECT SOURCE CODE #include <plib.h> functions and macros // Adds support for PIC32 Peripheral library void Delay(unsigned int count) { while(--count); } int main(void) { /* LED setup - Turn off leds before configuring the IO pin as output */ mPORTDClearBits(BIT_0 | BIT_1 | BIT_2); // same as LATDCLR = 0x0007 /* Set RD0, RD1 and RD2 as outputs */ mPORTDSetPinsDigitalOut(BIT_0 | BIT_1 | BIT_2 ); // same as TRISDCLR = 0x0007 /* endless loop */ while(1) { Delay(200000); mPORTDToggleBits(BIT_0); // toggle LED0 (same as LATDINV = 0x0001) Delay(200000); mPORTDToggleBits(BIT_1); // toggle LED1 (same as LATDINV = 0x0002) Delay(200000); mPORTDToggleBits(BIT_2); // toggle LED2 (same as LATDINV = 0x0004) }; return 0; } DS61144D-page 28 © 2009 Microchip Technology Inc. Create a New Project 7. In the Project window, right-click on the Source Files folder. Select Add Files and choose BlinkLED.c to add the file to the source directory, as shown in Figure 3-5. FIGURE 3-5: ADDING SOURCE FILES 8. Click Debugger>Select Tool>PIC32MX Starter Kit from the menu bar, for the Target board. Note: © 2009 Microchip Technology Inc. Make sure that the starter kit demo board is connected to your PC. DS61144D-page 29 PIC32MX Starter Kit User’s Guide 3.3.5 Task 5, Confirm the Configuration Settings Click Configure>Configuration 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 Bits set in code” check box must be unchecked if the config bits are set via this window and not in the code. The configuration settings can also be embedded in the source file. See the MPLAB C Compiler for PIC32 User’s Guide (DS51686) for information. CONFIGURATION BIT SETTINGS 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 to re-flash the PIC32MX with a default configuration. This utility is located on the PIC32 Starter Kit CD or in the PIC32MX Starter Kit directory: [install directory]\PIC32 Starter Kits\tools DS61144D-page 30 © 2009 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: BUILD OUTPUT WINDOW © 2009 Microchip Technology Inc. DS61144D-page 31 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: DS61144D-page 32 OUTPUT WINDOW © 2009 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. © 2009 Microchip Technology Inc. DS61144D-page 33 PIC32MX Starter Kit User’s Guide NOTES: DS61144D-page 34 © 2009 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 8 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 hard-wired 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. © 2009 Microchip Technology Inc. DS61144D-page 35 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 DS61144D-page 36 HIROSE Electric PN Starter Board Connector FX10A-120P/12-SV1(71) Application Board Connector FX10A-120S/12-SV(71) © 2009 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 © 2009 Microchip Technology Inc. DS61144D-page 37 PIC32MX Starter Kit User’s Guide DS61144D-page 38 FIGURE A-2:PIC32MX SCHEMATIC, SHEET 1 OF 6 (PIC32MX CPU) © 2009 Microchip Technology Inc. © 2009 Microchip Technology Inc. FIGURE A-3: PIC32MX SCHEMATIC, SHEET 2 OF 6 (PIC18LF4550 DEBUG CPU) DS61144D-page 39 PIC32MX Starter Kit User’s Guide FIGURE A-4: DS61144D-page 40 PIC32MX SCHEMATIC, SHEET 3 OF 6 (APPLICATION BOARD CONNECTOR) © 2009 Microchip Technology Inc. FIGURE A-5: PIC32MX SCHEMATIC, SHEET 5 OF 6 (SWITCHES AND LEDS) © 2009 Microchip Technology Inc. DS61144D-page 41 PIC32MX Starter Kit User’s Guide FIGURE A-6: DS61144D-page 42 PIC32MX SCHEMATIC, SHEET 6 OF 6 (POWER SUPPLY) © 2009 Microchip Technology Inc. PIC32MX STARTER KIT USER’S GUIDE Index A P Active Toolsuite ...................................................... 25 PIC32MX Layout 32-bit microcontroller .................................. 8 Connector for expansion boards ................ 8 Debug indicator LED .................................. 8 On-board crystal ......................................... 8 PIC18LF4550 USB microcontroller ............ 8 Power supply .............................................. 8 Power-indicator LED ................................... 8 Switches ..................................................... 8 USB connectivity ........................................ 8 User-defined LEDs ..................................... 8 PIC32MX Out of the box ........................................... 9 Preprogrammed game ....................................... 9 Preprogrammed example code ................................. 9 print functionality ..................................................... 21 Project Wizard ......................................................... 23 B Building the tutorial project ..................................... 17 C Connect the Starter Kit Board ................................. 13 Create a Project Build the Project .............................................. 31 Configuration settings ...................................... 30 Customer Change Notification Service ..................... 4 Customer Support ..................................................... 4 D Debug print library .................................................. 21 Documentation Conventions ....................................................... 2 H Hardware Features LEDs ................................................................ 36 Oscillator Options ............................................ 36 PICtail Plus Card Edge Connectors ................ 36 Power Supply .................................................. 35 Processor Support ........................................... 35 Switches .......................................................... 36 USB Connectivity ............................................. 35 Host Computer Requirements ................................ 11 I Installing The Starter Kit Board ............................... 12 Installing the USB Device Driver ............................. 13 Internet Address ....................................................... 3 L Language Toolsuite ................................................ 25 Last Schematic ....................................................... 42 LEDs Power .............................................................. 13 M Microchip Internet Web Site ...................................... 3 MPLAB ...................................................................... 9 MPLAB IDE Simulator, Editor User’s Guide ............. 3 R Readme 3 Restore PIC32MX original programming .................. 9 S Schematics Application Board Connector ........................... 40 PIC18LF4550 Debug CPU .............................. 39 PIC32MX CPU ................................................. 38 Power Supply ................................................... 42 Switches and LEDs .......................................... 41 Starter Kit Board Block Diagram ................................................. 37 Connecting ....................................................... 13 Installing ........................................................... 12 Installing device driver ..................................... 13 T Tutorial Program Operation .................................... 19 Tutorial Project Program operation ........................................... 19 Programming the device .................................. 18 Starting ............................................................ 16 U USB Connectivity ..................................................... 35 W WWW Address .......................................................... 3 © 2009 Microchip Technology Inc. DS61144D-page 43 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-3090-4444 Fax: 91-80-3090-4080 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 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 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 02/04/09 DS61144D-page 44 © 2009 Microchip Technology Inc.