Home

MPLAB PM3 User`s Guide

image

Contents

1. TABLE A 6 ICSP 1 0 OPERATING CHARACTERISTICS Parameter Conditions VDD Min Max VDD Supply Voltage Range 2 00 5 50 VIH Minimum High level Input Voltage 2 0 1 50 3 0 2 10 5 5 3 85 VIL Maximum Low level Input Voltage 2 0 0 50 3 0 0 90 5 5 1 65 VOH Minimum High level Output Voltage 2 0 1 90 loH 50 pA 3 0 2 90 4 5 4 40 VOL Maximum Low level Output Voltage 2 0 0 10 lou 50 pA 3 0 0 10 4 5 0 10 IOH High level Output Current 2 00 50 HA 3 3 4mA 5 0 8 mA IOL Low level Output Current 2 00 50 HA 3 3 4 mA 5 0 8 mA tR tF Rise Fall Times 50 nS tPD Propagation Delay CI 50 pF 1nS 5 5 nS A 4 3 MPLAB PM3 Handler Operating Characteristics TABLE A 7 PASS FAIL SIGNALS Parameter Conditions Vcc Min Max VOH Minimum High level Output Voltage 5 0 4 50 IOH 5 2 mA VOL Maximum Low level Output Voltage 5 0 0 26 lo 5 2 mA IOH High level Output Current 5 0 20 mA IOL Low level Output Current 5 0 20 mA TABLE A 8 GO SIGNAL Parameter Conditions Vcc Min Max VIH Minimum High level Input Voltage 5 0 3 50 VIL Maximum Low level Input Voltage 5 0 1 50 Note The GO signal has internal 10K pull up to 5 0V and a 0 1 uF cap to GNo RP DS51464B page 99 2004 Microchip Technology Inc MPLAB PM3 User s Guide A 5 SOCKET MODULE SPECIFICATIONS This section discusses the following topics Socket Specif
2. 2 Place the device in an Ultraviolet UV EPROM Eraser The amount of time required to completely erase a UV erasable device depends on the wavelength of the light its intensity distance from UV source and the process technology of the device the size of the memory cells 3 Verify that the device is blank Le perform the blank check again before attempting to program it If the device is EEPROM Flash you do not have to erase it before reprogramming it These devices are electrically erased before programming 2004 Microchip Technology Inc DS51464B page 39 MPLAB PM3 User s Guide 4 5 5 Programming the Device You are ready to program your device Select Programmer gt Program to program the entire device i e all of the program memory configuration bits etc 1 If you want to program selectively e g part of program memory only configuration bits select Programmer gt Settings to open the Programmer Settings dialog Click the Memory Ranges tab see Table 4 1 and Section 7 5 1 Memory Ranges Tab and select the options for programming Areas that are grayed out are not available on the device Click OK Then select Programmer gt Program to program the device The memory area corresponding to the checked boxes will be programmed TABLE 4 1 MEMORY RANGES TAB OPTIONS Option Description Program Memory Start Address Type the start address for the range of program memory Program Memo
3. e MPLAB PM3 card e Programmer Settings see Section 8 4 2 Programmer Settings e Help see Section 8 4 3 Help After you select the MPLAB PM3 card from the Main menu the device programmer displays the MPLAB PM3 card command menu e View Disk Contents e Open a Text File e Load an Environment e View an Environment e Card Properties The functions on the Command menu allow you to perform the basic user tasks for programming a microcontroller device Pressing lt ESC gt repeatedly will return you to the Main menu 9 4 1 1 VIEW DISK CONTENTS The View Disk Contents option displays the contents of the MPLAB PM3 card inserted in the MPLAB PM3 programmer Directories designated with a folder icon can be expanded further by pressing lt ENTER gt 9 4 1 2 OPEN A TEXT FILE The Open a Text File txt option displays the first couple hundred characters of a text file 9 4 1 3 LOAD AN ENVIRONMENT The Load an Environment option loads the Environment into the MPLAB PM3 programmer from the MPLAB PM3 card The Environment includes the associated BIN file the memory voltage and ICSP settings and the optional SQTP file Note Program ranges erase options and memory region settings are not used in stand alone mode 9 4 1 4 VIEW AN ENVIRONMENT The View an Environment option displays the contents and settings of an Environment You can only view the Environment using this option 9 4 1 5 CARD PROPERTIES Dis
4. moves the selection bar down one line each time it is pressed e lt Enter gt performs the selected function 8 3 START UP SEQUENCE When power is applied to the MPLAB PM3 programmer it initiates a start up sequence The system performs a self check briefly displays the splash screen then the versions followed by the MPLAB PM3 main menu If you do not get to the Main menu see Appendix B Troubleshooting Note If you need to update the operating system you will have to connect to a PC with MPLAB running to accomplish this Once the start up sequence has completed you will see the Main menu 8 4 MAIN MENU The Main menu gives you three options Select Device e Programmer Settings e Help 8 4 1 Select Device To select a specific device you must 1 Select highlight the Select Device option and press lt Enter gt 2 Select the device family and press lt Enter gt 3 Select the device and press lt Enter gt A The system displays the Command menu See Section 8 5 Command Menu 8 4 2 Programmer Settings From the Programmer Settings option on the Main menu you can access e Screen Contrast e Buzzer Volume e Socket Information e Code protected Checksum Calculation 8 4 2 1 SCREEN CONTRAST This option enables you to select the default darker or lighter setting to adjust the con trast on your screen Sample text lines are provided so you can see the results of your selection
5. Selects all text and graphics in the Edit window e Copy Copies the selected text in the current window onto the clipboard After this operation paste the copied text into another MPLAB Editor window into another location in the same MPLAB Editor window or into another Windows application e Clear Page Clears the contents of the Output window 7 4 2 2 PROGRAM MEMORY WINDOW When you select View gt Program Memory from the MPLAB IDE menu the Program Memory window Figure 7 2 opens in machine code view FIGURE 7 2 PROGRAM MEMORY WINDOW M Program Memory gt Opeode Hex Machine Symbolic E DS51464B page 56 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference You can view the Program Memory as hex code machine code or disassembled with symbols if available Change the display mode by clicking on the display option button in the lower left corner of the window When the MPLAB ICE emulator is selected as the Debugger the Program Memory window shows the data that is in the emulation memory of the MPLAB ICE pod This memory is read by the MPLAB ICE probe when run single stepped or traced using the emulator When the simulator is selected as the Debugger the Program Memory window reflects the contents of a memory buffer on the PC This memory is read by MPLAB SIM when run single stepped or traced If program memory is read with the MPLAB PM3 programmer while in emulator or
6. e Normal default to reset the contrast to the default settings select Default and press lt Enter gt once e Darker to increase the contrast select Darker and press lt Enter gt until you achieve the desired contrast e Lighter to reduce the contrast select Lighter and press lt Enter gt until you achieve the desired contrast DS51464B page 76 2004 Microchip Technology Inc Stand alone Reference 8 4 2 2 BUZZER VOLUME This options enables you to select the volume of the buzzer tone e Loud to make the buzzer volume loud select Loud and press lt Enter gt e Medium default to return to the default volume select Default and press lt Enter gt e Low to make the buzzer volume low select Low and press lt Enter gt e Mute to mute the buzzer volume select Mute and press lt Enter gt 8 4 2 3 SOCKET INFORMATION This option displays the socket part number and the socket ID of the socket module for the socket currently installed on the MPLAB PM3 8 4 2 4 CODE PROTECTED CHECKSUM CALCULATION With this option you can enable or disable calculating the checksum of a code protected device When you select this menu option from the Main menu a message appears asking if you want to calculate the checksum states the current setting and offers two options see Figure 8 2 FIGURE 8 2 CHECKSUM CALCULATION SCREEN Checksum Calculation Wo
7. in the interrupt routines UDATA Add WREG_TEMP RES 1 variable in RAM for context saving STATUS_TEMP RES 1 variable in RAM for context saving these BSR_TEMP RES 1 variable in RAM for context saving three UDATA_ACS lines REA AAA AA RARER RARER AREA EA EAR ELLA RARER EEL EREREEREREELEREREREEREREREEEEERERRERER ER EEPROM data Data to be programmed into the Data EEPROM is defined here DATA EEPROM CODE Oxf00000 EEE SSS SS _________ EE 2004 Microchip Technology Inc DS51464B page 31 MPLAB PM3 User s Guide 3 11 BUILDING THE PROJECT Select Project gt Build All to assemble and link the code If the code assembled with no errors the Output Window will look like Figure 3 15 FIGURE 3 15 BUILD OUTPUT WINDOW Build Version Control Find in Files Clean Deleting intermediary and output files ba Clean Done Executing C Program Files MPLAB IDE MCHIP_Tools mpasmwin exe q p16F452 f452tm Executing C Program Files MPLAB IDE MCHIP_Tools mplink exe C Program Files MPL MPLINK 3 80 Linker Copyright E 2004 Microchip Technology Errors A MP2COD 3 80 COFF to COD File Converter Copyright c 2004 Microchip Technology Errors SL MP2HEX 3 80 COFF to HES File Converter Copyright c 2004 Microchip Technology Errors SH Loaded C My Projects 8F452Proj cof BUILD SUCCEEDED Tue Jul 13 10 15 46 2004 lt Save your project by selecting File gt
8. Brown Out Detect Disabled Brown Out Voltage 4 5V Watchdog Timer Disabled Controlled by SWDTEN bit Watchdog Postscaler ral 2 Click on the setting value you wish to change A down arrow appears to the right of the value Select a value from the drop down list box DS51464B page 36 2004 Microchip Technology Inc Using MPLAB PM3 with the MPLAB IDE 4 5 2 User ID Memory Dialog Select Configure gt ID Memory to edit the user ID memory address You can also use the __IDLOCS directive to set the ID bytes from MPASM assembler Each time you rebuild your project or reload your hex file the ID locations will be set according to the values from the IDLOCS directive An ID value set in the User ID Memory dialog Figure 4 2 overrides any value set in the program FIGURE 4 2 USER ID MEMORY DIALOG User ID Memory User ID FFFFFFFF M Use Unprotected Checksum Cancel Help To change the User ID 1 Type the User ID in the field 2 Select or clear the Use Unprotected Checksum check box as needed It is recommended that if the device is code protected this box be checked to use an unprotected checksum Most devices use this information to calculate the code protected checksum 3 Click OK to set the option or click Cancel to cancel the entry 2004 Microchip Technology Inc DS51464B page 37 MPLAB PM3 User s Guide 4 5 3 Loading the Hex Code into Program Memory If
9. MICROCHIP MPLAB DM USER S GUIDE 2004 Microchip Technology Inc 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 I
10. MPLAB PM3 Select Device Programmer Settings Help vvv Select the desired device from the selection menu After selecting a device from the device family MPLAB PM3 displays the Command menu e Program Verify Device e Verify Device e Read Device 5 3 1 Program Verify Device Select Program Verify Device to program the device in the socket module with the hex file that was previously loaded into the internal memory of the device programmer This is referred to as the image If the hex file has not been loaded the system displays a message stating Valid image not present Please download an image or use a master device before continuing Download the hex file before continuing The device programmer checks to see if the installed microcontroller device is blank If the device is not blank the device programmer asks if you want to continue Answer Yes to continue Answer No to return to the Command menu The device programmer programs the image of the hex file into the microcontroller device connected to the programmer After programming a device without errors the device programmer performs a check to verify the data programmed into the device and returns the results of the verification For the installed device the device programmer performs the verification at the VDD Minimum and Vop Maximum voltages for EEPROM devices and at Nominal VoD for Flash devices The device programmer reports programmi
11. DataEE does not need to be erased before it is programmed however it is programmed a location at a time For more information consult the specific programming specification for your device Some devices program multiple locations at once The MPLAB PM3 therefore inhibits programming ranges not aligned to these bounds See individual programming specifications for more information e D B 8 2 Device Specific Limitations In addition to the general limitations listed above some PICmicro MCUs may have device specific limitations Select the device family limitations listed below or search for your device in the index B 8 2 1 MPLAB PM3 LIMITATIONS FOR PIC18C601 801 e Your own memory read write routines must be used for these ROMless devices B 8 2 2 MPLAB PM3 LIMITATIONS FOR ALL DEVICES e For ICSP you must connect the AVDD and AVss pins in addition to the VDD and Vss pins for the device to program DS51464A1 page 112 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Glossary Absolute Section A section with a fixed absolute address that cannot be changed by the linker Access Memory PIC18 Only Special registers on PIC18XXXXX devices that allow access regardless of the setting of the bank select register BSR Address Value that identifies a location in memory Alphabetic Character Alphabetic characters are those characters that are letters of the arabic alphabet a b Z A B
12. For detailed instructions see Section 9 4 MPLAB PM3 Card in Stand alone Mode 2004 Microchip Technology Inc DS51464B page 51 MPLAB PM3 User s Guide NOTES DS51464B page 52 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 7 MPLAB PM3 MPLAB IDE Reference 7 1 INTRODUCTION This chapter describes the dialogs windows menus and options of the MPLAB PM3 development system Topics covered in this chapter include MPLAB PM3 Toolbar Configure Menu MPLAB PM3 Programmer Menu Programmer Settings Special Programming Files Used by MPLAB PM3 Upgrading the MPLAB PM3 Operating System 7 2 MPLAB PM3 TOOLBAR The MPLAB PM3 toolbar Figure 7 1 consists of icons for some of the programmer functions and a program statistics display FIGURE 7 1 MPLAB PM3 TOOLBAR Program Program Statistics SQTP File Path EE D Da Os Gy CS Pass 0 Fail 0 Total 0 No SQTP File in use Blank Check Erase Flash All Device 2004 Microchip Technology Inc DS51464B page 53 MPLAB PM3 User s Guide Position the mouse pointer over the toolbar item to display the name Table 7 1 lists the items on the toolbar TABLE 7 1 MPLAB PM3 TOOLBAR COMMANDS Symbol Command Description Blank Check All Checks that the device is completely blank all bits are set to 0 ui a 1 This will also check that all configuration bits are set to a a 1 unprogrammed stat
13. MPLAB PM3 User s Guide External Input Line An external input signal logic probe line TRIGIN for setting an event based upon external signals External RAM Off chip Read Write memory File Registers On chip data memory including general purpose registers GPRs and special function registers SFRs Flash A type of EEPROM where data is written or erased in blocks instead of bytes FNOP Forced No Operation A forced NOP cycle is the second cycle of a two cycle instruction Since the PICmicro microcontroller architecture is pipelined it prefetches the next instruction in the physical address space while it is executing the current instruction However if the current instruction changes the program counter this prefetched instruction is explicitly ignored causing a forced NOP cycle GPR General Purpose Register The portion of device data memory RAM available for general use Halt A stop of program execution Executing Halt is the same as stopping at a breakpoint HEX Code Executable instructions stored in a hexadecimal format code HEX code is contained in a HEX file HEX File An ASCII file containing hexadecimal addresses and values HEX code suitable for programming a device High Level Language A language for writing programs that is further removed from the processor than assembly ICD In Circuit Debugger MPLAB ICD and MPLAB ICD 2 are Microchip s in circuit debuggers for PIC16F87X and PIC1
14. Settings Opens the Programmer dialog which allows setting the memory ranges and voltage specs SQTP and communication ports Programmer options Program Read Verify Transfer to MPLAB PM3 and Transfer from MPLAB PM3 will be limited to these settings until reset 2004 Microchip Technology Inc DS51464B page 55 MPLAB PM3 User s Guide 7 4 1 Select Programmer To select the MPLAB PM3 programmer select Select Programmer gt MPLAB PM3 Once the programmer is selected the Output window opens 7 4 2 Enable Programmer To enable the MPLAB PM3 programmer select Programmer gt Enable Programmer If updates are available for the programmer firmware MPLAB IDE may display a prompt to update If auto download has been set in the Configuration dialog the MPLAB IDE will automatically update the necessary files Once the MPLAB PM3 programmer is selected the full menu displays Enable the programmer to make additional menu items available Some of the MPLAB PM3 menu items are similar to buttons on the MPLAB PM3 Toolbar 7 4 2 1 OUTPUT WINDOW When you select Programmer gt Select Programmer gt MPLAB PM3 from the MPLAB PM3 menu or select View gt Output from the MPLAB IDE menu the Output window opens This window contains tabbed information about program output Refer to the MPLAB IDE documentation for more information The menu items in the Output window available from the right mouse button menu are e Select All
15. The MPLAB PM3 card can also be accessed through the MPLAB IDE software or through the MPLAB PM3 programmer in stand alone mode 6 3 1 MPLAB PM3 Card Through MPLAB IDE Through the MPLAB IDE Programmer menu you can perform these operations on the MPLAB PM3 card e List files displays a list of files on the MPLAB PM3 card e Format formats MMC cards in FAT16 format This operation erases any data that may be stored on the MPLAB PM3 card and formats the card to the standard FAT16 format e Properties displays the properties of the MPLAB PM3 card including card capacity bytes free and used and cluster size For detailed instructions see Section 9 3 MPLAB PM3 Card Through MPLAB IDE 6 3 2 MPLAB PM3 Card Through MPLAB PM3 Programmer In stand alone mode you can perform these operation on the MPLAB PM3 card View Disk Contents displays the contents of the MPLAB PM3 card on the MPLAB PM3 LCD screen Open a text File txt displays the first 10 lines approximately of text from the selected text file on the programmer s LCD screen Load an Environment loads the selected Environment stored on the MPLAB PM3 card into the MPLAB PM3 programmer View an Environment displays information including the device memory files and description of an Environment stored on the MPLAB PM3 card Card Properties displays the properties of the MPLAB PM3 card including card capacity bytes free and used and cluster size
16. To program the device select Programmer gt Program Refer to Section 7 5 3 SQTP Tab and Section 7 6 1 Using SQTP for more detailed information on SQTP programming See Section 7 7 1 Using Hexadecimal Record Formats for information on hex record formats 2004 Microchip Technology Inc DS51464B page 41 MPLAB PM3 User s Guide 4 8 2 ICSP Programming The ICSP In Circuit Serial Programming socket is an extension of the MPLAB PM3 device programmer that allows you to program PlCmicro microcontroller devices that are already installed in the target board MPLAB PM3 comes equipped with an ICSP In Circuit Serial Programming header and cable You can locate this connector under where a socket module would be installed See Section A 4 ICSP Hardware Specifications for header and cable pinout information To program a device using ICSP 1 Select Programmer gt Settings and click the Voltages tab 2 Inthe ICSP Options area select Low Voltage Program to program using the LVP PGM pin Select Power target circuit from MPLAB PM if you want to power the circuit through the MPLAB PM3 instead of using power from the target board Figure 4 5 FIGURE 4 5 ICSP OPTIONS P rogrammer Communications Configuration Memory Ranges SQTP YDD Min VDD Max VDD Nom VPP VDD App Reset Voltages ICSP Options Iw Power target circuit from PM3 Cancel Apply Help 3 Connect the ICSP cabl
17. Web Address www microchip com Atlanta Alpharetta GA Tel 770 640 0034 Fax 770 640 0307 Boston Westford MA Tel 978 692 3848 Fax 978 692 3821 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 San Jose Mountain View CA Tel 650 215 1444 Fax 650 961 0286 Toronto Mississauga Ontario Canada Tel 905 673 0699 Fax 905 673 6509 ASIA PACIFIC 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 8676 6200 Fax 86 28 8676 6599 China Fuzhou Tel 86 591 8750 3506 Fax 86 591 8750 3521 China Hong Kong SAR Tel 852 2401 1200 Fax 852 2401 3431 China Shanghai Tel 86 21 5407 5533 Fax 86 21 5407 5066 China Shenyang Tel 86 24 2334 2829 Fax 86 24 2334 2393 China Shenzhen Tel 86 755 8203 2660 Fax 86 755 8203 1760 China Shunde Tel 86 757 2839 5507 Fax 86 757 2839 5571 China Qingdao Tel 86 532 502 7355 Fax 86 532 502 7205 ASIA PACIFIC India Bangalore Tel 91 80 2229 0061 Fax 91 80 2229 0062 India New Delhi Tel 91 11 5160 8632 Fax 91 11 5160 8632 Japan Kanagawa Tel 81 45 471 6166 Fax 81 45 471
18. Z Alphanumeric Alphanumeric characters are comprised of alphabetic characters and decimal digits 0 1 9 ANSI American National Standards Institute is an organization responsible for formulating and approving standards in the United States Application A set of software and hardware that may be controlled by a PICmicro microcontroller Archive A collection of relocatable object modules It is created by assembling multiple source files to object files then using the archiver to combine the object files into one library file A library can be linked with object modules and other libraries to create executable code Archiver A tool that creates and manipulates libraries ASCII American Standard Code for Information Interchange is a character set encoding that uses 7 binary digits to represent each character It includes upper and lower case letters digits symbols and control characters Assembler A language tool that translates assembly language source code into machine code Assembly Language A programming language that describes binary machine code in a symbolic form Asynchronous Stimulus Data generated to simulate external inputs to a simulator device Breakpoint Hardware An event whose execution will cause a halt 2004 Microchip Technology Inc DS51464B page 113 MPLAB PM3 User s Guide Breakpoint Software An address where execution of the firmware will halt Usually achieved by a special
19. break instruction Build Compile and link all the source files for an application C A general purpose programming language which features economy of expression modern control flow and data structures and a rich set of operators Calibration Memory A special function register or registers used to hold values for calibration of a PICmicro microcontroller on board RC oscillator or other device peripherals COFF Common Object File Format An object file of this format contains machine code debugging and other information Command Line Interface A means of communication between a program and its user based solely on textual input and output Compiler A program that translates a source file written in a high level language into machine code Configuration Bits Special purpose bits programmed to set PICmicro microcontroller modes of operation A configuration bit may or may not be preprogrammed Control Directives Directives in assembly language code that cause code to be included or omitted based on the assembly time value of a specified expression Cross Reference File A file that references a table of symbols and a list of files that references the symbol If the symbol is defined the first file listed is the location of the definition The remaining files contain references to the symbol Data Directives Data directives are those that control the assembler s allocation of program or data memory and provide
20. expected value and read value are displayed An OTP device cannot be erased and reprogrammed If the EPROM device is not blank you will have to erase it before programming or select another device 1 Remove any labels covering the device window If you do not have a windowed device you cannot reprogram it A windowed version of all EPROM devices may be ordered by requesting the JW package 2 Place the device in an Ultraviolet UV EPROM Eraser The amount of time required to completely erase a UV erasable device depends on the wavelength of the light its intensity distance from UV source and the process technology of the device how small the memory cells are 3 Before attempting to program the device perform the blank check again to verify that it is blank Note If the device is EEPROM or Flash you do not have to erase it before reprogramming it These devices are electrically erased before programming 8 5 3 5 ERASE DEVICE To erase a Flash device select AN Functions gt Erase Device press lt Enter gt Press lt Enter gt a second time to erase the device When completed the LCD displays Done 8 5 3 6 DEVICE INFORMATION To display device information select All Functions gt Device Information and press lt Enter gt The system displays the device ID device revision last checksum and user ID It also contains an option for Check Code Protect To check if the device is code protected press lt Enter
21. select Programmer gt Blank Check All from the MPLAB PM3 menu This check will verify that the device is completely blank all bits are set to a 1 and all configuration bits are set to the default value 7 4 9 Reset Program Statistics To reset all the program statistics select Programmer gt Reset Program Statistics This command will reset the counters in the Program Statistics area 7 4 10 Transfer to MPLAB PM3 To transfer the hex file to the programmer select Programmer gt Transfer to MPLAB PM3 This command only transfers the data it does not program the device This is usually used for stand alone operation 7 4 11 Transfer from MPLAB PM3 To transfer the programmer memory to the hex file select Programmer gt Transfer from MPLAB PM3 This command only transfers the programmer memory it does not read the device memory This is especially useful for reading the programmer memory back after working in stand alone mode 7 4 12 Establish Communications To establish communications between the PC and the MPLAB PM3 after power has been disconnected from the programmer select Programmer gt Establish Communications This command resets the programmer hardware and reestablishes communications It does not reset programming information in the Program Memory window configuration bits or IDs 7 4 13 About Select Programmer gt About to display version of the MPLAB PM3 OS Suite in the programmer EE 2004 Microchip Technol
22. 17 MPLAB PM3 User s Guide 2 5 3 2 USB COMMUNICATIONS To use USB communications between the PC and the MPLAB PM3 device programmer select the PC USB port Figure 2 6 Click OK Do not allow the Windows OS to pick a USB driver it will not work and you will then not be able to install the proper driver Follow the procedure specified in Section 2 2 Installing MPLAB IDE Software FIGURE 2 6 USB PORT Programmer Memory Ranges Voltages SQTP Communications Configuration Com Port C COM1 COM 2 Caneel To make sure the port is set up properly follow the instructions in the For USB Communications subsection in Section 2 3 1 Installing the Communications Cable DS51464B page 18 2004 Microchip Technology Inc Installing MPLAB PM3 2 5 4 Selecting a Device in MPLAB IDE Chose Configure gt Select Device to select the device you wish to program from the list of available devices Figure 2 7 When you select a device indicators next to the Microchip Tools names show the level of support for that device e Green supports the device e Yellow limited advance support e Red no support If the selected device is supported by MPLAB PM3 click OK FIGURE 2 7 SELECT DEVICE DIALOG m MPLAB IDE File Edit View Project Debugger Programmer Tools Window Help thea S M Output Settings Build Findin Files MPLAB PMG 2
23. 2 CONNECTING TO A PC VIA THE SERIAL PORT The MPLAB PM3 interfaces to the PC via a standard RS 232 port with a DB9 connector The unit defaults to a 57 6K baud rate Serial port communications is as follows e 57 6K default or 9 6K baud PROCMD only e 8 data bits 1 stop bit no parity e Hardware flow control Table A 1 gives the data for connecting the MPLAB PM3 programmer 9 pin straight through to a 25 pin serial port Connect the corresponding terminals indicated on each line of the table TABLE A 1 PC HOST TO MPLAB PM3 SIGNALS 25 pin PC Host 9 pin MPLAB PM3 2 TX 2 RX 3 RX 3 TX 20 DTR 4 DTR 7 Common 5 Common 6 DSR 6 5 volts pulled up 4 RTS 7 CTS 5 CTS 8 RTS 2004 Microchip Technology Inc DS51464B page 95 MPLAB PM3 User s Guide AA PROGRAMMER SPECIFICATIONS This section discusses the following topics e Physical Dimensions and Layout e General Specifications Note Values are specified under normal operation and represent recommended operating conditions Absolute maximum ratings have not been published at this time A 3 1 Physical Dimensions and Layout The MPLAB PM3 device programmer has the physical dimensions of 8 3 8 L x 6 5 16 W x 13 16 H Top and back views of the programmer are shown in Figure A and Figure A 2 respectively FIGURE A 1 MPLAB PM3 TOP VIEW Mu AM MPLABS PM3 Device Programmer ICSP EA EA Keys B
24. 5 5 Enabling MPLAB PM3 To enable MPLAB PM3 select Programmer gt Enable Programmer Figure 2 8 The MPLAB PM3 toolbar will appear when the programmer is enabled See Chapter 7 MPLAB PM3 MPLAB IDE Reference for more reference information on the MPLAB PM3 programmer The MPLAB PM3 Card is available from the Programmer menu only if you have the MPLAB PM3 card inserted in the MPLAB PM3 programmer MPLAB IDE may warn you that your programmer OS Suite is out of date MPLAB IDE will automatically update the necessary files if you choose at these warnings FIGURE 2 8 ENABLE PROGRAMMER o MPLAB IDE File Edit View Project Debugger MIT ENS Tools Configure Window Help D oe tl Me me Select Programmer i Checksum 0x82d8 T Enable Programmer By BS BS By R3 Pass 0 Fa Bis Prodr QTP File In Use E Output d DAR Build Version Control Find in Environment MPLAB PM3 Card Settings MPLAB PM 3 PIC18F452 i hovzdcec 2004 Microchip Technology Inc DS51464B page 19 MPLAB PM3 User s Guide If MPLAB PM3 is not found on the selected port the communications error dialog Figure 2 9 will appear FIGURE 2 9 COMMUNICATIONS ERROR DIALOG Outp Sees Build Version Control Find in Files MPLAB PM3 PM3 not found Please verify serial connection and try the current operation again If you cannot establish communications between the PC an
25. 6122 Korea Seoul Tel 82 2 554 7200 Fax 82 2 558 5932 or 82 2 558 5934 Singapore Tel 65 6334 8870 Fax 65 6334 8850 Taiwan Kaohsiung Tel 886 7 536 4818 Fax 886 7 536 4803 Taiwan Taipei Tel 886 2 2500 6610 Fax 886 2 2508 0102 Taiwan Hsinchu Tel 886 3 572 9526 Fax 886 3 572 6459 EUROPE Austria Weis Tel 43 7242 2244 399 Fax 43 7242 2244 393 Denmark Ballerup Tel 45 4420 9895 Fax 45 4420 9910 France Massy Tel 33 1 69 53 63 20 Fax 33 1 69 30 90 79 Germany Ismaning Tel 49 89 627 144 0 Fax 49 89 627 144 44 Italy Milan Tel 39 0331 742611 Fax 39 0331 466781 Netherlands Drunen Tel 31 416 690399 Fax 31 416 690340 England Berkshire Tel 44 118 921 5869 Fax 44 118 921 5820 09 27 04 DS51464B page 130 2004 Microchip Technology Inc
26. 7 1 BIOS Errors TABLE B 1 MPLAB PM3 BEEP CODES Number Meaning Corrective Action of Beeps 1 Normal start up No action required 2 CPLD Not Configured Reset and connect to MPLAB IDE 3 Power Monitor Not Found Reset and connect to MPLAB IDE 4 Display Not Found Reset the unit If the problem persists contact your field representative to SAR the unit 5 Display Read Write Test Failure Reset the unit If the problem persists contact your field representative to SAR the unit 6 FPGA Time out Reset the unit If the problem persists contact your field representative to SAR the unit SSS SSS SSS DS51464A1 page 110 2004 Microchip Technology Inc Troubleshooting TABLE B 2 BIOS ERROR CODES Error Code Definition Corrective Action CPLD is Not Configured Reset and connect to MPLAB IDE CPLD is Old Reset and connect to MPLAB IDE Flash is Missing Flash is Crossed Incorrectly Reset the unit If the problem persists contact your field representative to SAR the unit Reset the unit If the problem persists contact your field representative to SAR the unit FPGA Configuration has Time out Reset and connect to MPLAB IDE FPGA Image is Missing Reset and connect to MPLAB IDE FPGA is Old Reset and connect to MPLAB IDE Power Monitor is Not Found Reset and connect to MPLAB IDE Power Monitor is Old Reset and connect to
27. 80 COFF to HEX File Converter Copyright c 2004 Microchip Technology Errors aw Loaded CM Projects 18F452Proj cof BUILD SUCCEEDED Mon Jul 12 16 33 28 2004 i DS51464B page 28 2004 Microchip Technology Inc Tutorial 3 10 CREATING CODE Open the template file in the project by double clicking on its name in the Project Window see Figure 3 11 The file has some comments at the beginning and this area can be used as a standard comment information header for the file For now you ll leave this as it is but if this were a real project you could put information about your design here FIGURE 3 11 TEMPLATE FILE LL EE EE EE EE EE EES 2 This file is a basic template for creating relocatable assembly code for 3 a PIC18F452 Copy this file into your project directory and modify or 4 add to it as needed Create a project with MPLINK as the language tool SN 5 for the hex file Add this file and the 18F452 LKR file to the project e D The PIC18FXXX architecture allows two interrupt configurations This e template code is written for priority interrupt levels and the IPEN bit k 2 in the RCON register must be set to enable priority levels If IPEN is ii 10 D left in its default zero state only the interrupt vector at 0x008 will Si 11 be used and the WREG TEMP BSR_TEMP and STATUS_TEMP variables will not 12 H be needed d 13 e 14 P Refer to the MPASM User s Guide for additional information o
28. Connect the cable from the PC COM port to corresponding RS 232 connector on the back of the MPLAB PM3 For more on serial connections see Section A 2 Connecting to a PC via the Serial Port 2 3 2 Installing the Power Supply MPLAB PM3 comes with a proprietary external power supply 1 Make sure that the power switch on the back of the unit is in the OFF position see Figure 2 1 2 Plug the power supply into a power socket and connect the power supply cable to the unit 2 3 3 Installing a Socket Module or ICSP Cable Socket modules are sold separately The MPLAB PM3 comes with an 18 inch ICSP cable for ICSP programming See Figure 2 2 for location of socket module connectors and ICSP connector FIGURE 2 2 TOP VIEW OF MPLAB PM3 MAD AM MPLABe PM3 Device Programmer ICSP E EE EE Keys Buttons 2004 Microchip Technology Inc DS51464B page 13 MPLAB PM3 User s Guide 2 3 3 1 SOCKET MODULE INSTALLATION Socket modules are available to accommodate each device package The Product Selector Guide DS00148 lists Microchip s devices tools and socket modules The Development System Ordering Guide DS30177 describes the available socket modules Also the Readme for MPLAB PM3 file lists socket module support for each device Note MPLAB PM3 allows hot swapping of socket modules If the status LED is not lit sockets can be replaced 2 3 3 1 1 For MPLAB PM3 Socket Modules 1 Align the
29. File 48 MPLAB PMB Socket Modules ie 14 Erase Flash Device nnsnnesooseneeeeseereesereennreerrnnne 59 MPLAB Projects EE 10 F MPLAB SIM iss acne tn EA E RE 10 Files Used by MPLAB PM3 cccccsssscssccccsessssssseceecesen 72 MP IB enee aeo eebe eegene 10 MPLINK at dat rent tira memes 10 Function Keys cccceeeeeneeeeeeeeeeeeeeeeeeeetaeeeeesseeaeeees 75 H M Hardware Installation 12 NUM Plessis 4g Hexadecimal Record 72 O I Operation Le 42 70 We a EE E EE Se ICSP Cable Installation cccccssscssssstesseeessssteeeeee 14 EE ICSP Hardware Specifications 97 P Indicators PICSTART PIUS ccccssssssssssssssseececeesssssttstssseeeeceesssntee 10 Lights and BUZZer en 15 ANEA a eee eer tee oe nn 48 Installation Power Supply Hardware EE 12 TiS tea acca amendes 13 CSP Cable Hits han dome 14 Powering Down MPLAB PMS sss esses iteeesseeeeeesnnieeeseies 11 MPLAB PM Se EE 15 MPLAB Software En 11 PRO MATE II Socket Modules 1 511 111 11 14 USB DW ege eene Sien EE Dans 11 Program Memory Internet Address 5 Emulator enake inde 57 Simulator aee a eave eee cee eile aes 57 2004 Microchip Technology Inc DS51464B page 127 MPLAB PM3 User s Guide Program Memory Window 56 Programmer Menu Items 55 Programming a Device 35 44 Push Buttons see EEN Ee tu 75 R Reading a Device nsneeeeseeeneeseeeereeesrr
30. Programmer gt Communications Port Setup command then the next time you run MPLAB PM3 the host software will use the same serial port used in the previous session B 4 4 Operating System Update Needed If the device you selected when setting up the development mode in MPLAB IDE is not supported by the MPLAB PM3 Operating System a message box will appear when you try to enable the programmer Make sure you allow the MPLAB PM3 to upgrade to get the latest versions for MPLAB IDE software and MPLAB PM3 operating system Section 7 8 Upgrading the MPLAB PM3 Operating System 2004 Microchip Technology Inc DS51464A1 page 105 MPLAB PM3 User s Guide B 5 COMMON PROBLEMS Some common problems you may have include e Failure to Establish Communication with Programmer e Advanced Serial Communications Help e Device Pin Damage see Section B 3 2 Device Pin Damage e No Programmer Options Visible see Section B 4 2 No MPLAB PM3 Menu Visible e MPLAB PM3 Card Option Not Available on Programmer Menu B 5 1 Failure to Establish Communication with Programmer MPLAB IDE attempts to establish communication with the programmer upon Enable Programmer selection If communication cannot be established no programming can occur If the attempt to establish communication fails it is reported in the Output window e General Communications Troubleshooting e Serial Communications e USB Communications B 5 1 1 GENERAL COMMUN
31. Save Workspace If these do not assemble and link successfully check the following items and then build the project again Check the spelling and format of the code entered in the editor window Make sure the new variables and the special function registers TRISC and PORTC are in upper case If the assembler reported errors in the Output window double click on the error and MPLAB IDE will open the corresponding line in the source code with a green arrow in the left margin of the source code window Check that the correct assembler MPASM assembler and linker for PICmicro devices is being used Select Project gt Set Language Tool Locations Click on the plus boxes to expand the Microchip MPASM toolsuite and its executables Click MPASM Assembler mpasmwin exe and review their location in the display If the location is correct click Cancel If it is not change it and then click OK The default search paths can be empty Upon a successful build the output file generated by the language tool will be loaded This file contains the object code that can be programmed into a PICmicro MCU and debugging information so that source code can be debugged and source variables can be viewed symbolically in Watch windows Now that you ve built your project successfully you can prepare for programming your device nS DS51464B page 32 2004 Microchip Technology Inc Tutorial 3 12 ENABLING THE MPLAB PM3 If you haven t already start
32. Summary see 34 2004 Microchip Technology Inc DS51464B page iii MPLAB PM3 User s Guide Chapter 4 Using MPLAB PM3 with the MPLAB IDE e Gilet te el ME 35 4 2 Before YOU Begin iii 35 4 3 MPLAB PMS Dialogs EE 35 4 4 Setup for Programming a Device o cececeeccceceeccceeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeess 35 4 5 Programming a Device iii 36 4 6 Verifying the Programming ccccccccccccccececececeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeess 40 4 7 Reading a Device iii 41 4 8 Special Programming ie 41 Chapter 5 Using MPLAB PM3 in Stand alone Mode Sele IMrOAUCIONE HR ter AR TR A deta NUE na rte ne nn dt headed 43 5 2 Getting Started in Stand alone Mode ccccceeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeees 43 5 3 Programming a Device cccccecccecceeceeeeeeeeeeee eee ee eee eteeeeeeeeeeeeeeeeeeeeeeeeeeees 44 Chapter 6 Using the MPLAB PM3 Card 6 1 Introduction EE 47 6 2 MPLAB PM3 Environment ccccccccecceeeeeeee eect eee e teen tees eeeeeteeeeeeeeeeeeeeees 48 GS VIPLAB PMS Care EE EE EE 51 Chapter 7 MPLAB PM3 MPLAB IDE Reference ZA Introduction fit tnt teen na nn ess 53 7 2 EE EM Keele 53 7 3 Configure Mens fs nn Ne ter MR RER NN TA nn de 54 7 4 MPLAB PM3 Programmer Menu cccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeees 55 7 5 Programmer Settings ccccccccccccccccccceeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneenes 60 7 6 Special Programming ie e e t
33. The MPLAB C17 and MPLAB C18 C Compilers provide ANSI based high level source code solutions Complex projects can use a combination of C and assembly source files to obtain the maximum benefits of speed and maintainability MPLAB C30 C Compiler The MPLAB C30 C Compiler provides MPLAB PM3 PRO MATE Il and PICSTART Plus Programmers Develop code with the simulator or an emulator assemble or compile it then use one of these tools to program devices This can all be accomplished with the MPLAB IDE Third Party Tools Many other companies have development tools for Microchip products that work with the MPLAB IDE Consult the Microchip web site for additional information EE DS51464B page 10 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 2 Installing MPLAB PM3 2 1 INTRODUCTION This chapter describes how to install MPLAB PM3 hardware and software Topics covered in this chapter include e Installing MPLAB IDE Software e Installing MPLAB PM3 Hardware e Powering Up MPLAB PM3 e Configuring MPLAB IDE for Use with MPLAB PM3 2 2 INSTALLING MPLAB IDE SOFTWARE MPLAB PM3 hardware requires the following software support if you are using a PC running Windows e MPLAB IDE software e USB driver for USB support 2 2 1 MPLAB IDE Software Installation The MPLAB IDE software should be installed by following the instructions in the MPLAB IDE Quick Start Guide DS51281 A brief summary of this pr
34. a project using the Project Wizard We will use a single assembly file for this project and a linker script Choose the Project gt Project Wizard FIGURE 3 2 PROJECT WIZARD WELCOME SCREEN Project Wizard Ly Welcome S Le 2 a A This wizard helps you create and configure a new MPLAB project To continue click Next i Cancel Help Click on Next gt to advance to the next dialog in the Project Wizard The next dialog allows you to select the device which we ve already done Make sure that it says PIC18F452 If it does not select the PIC18F452 from the drop down menu Click Next gt FIGURE 3 3 PROJECT WIZARD SELECT DEVICE Project Wizard Step One Select a device Device PIC18F452 v lt Back Next gt Cancel Help 2004 Microchip Technology Inc DS51464B page 23 MPLAB PM3 User s Guide 3 6 SETTING UP LANGUAGE TOOLS Step Two of the Project Wizard sets up the language tools that are used with this project Select Microchip MPASM Toolsuite in the Active Toolsuite list box Then MPASM and MPLINK should be visible in the Toolsuite Contents box Click on each one to see its location If MPLAB IDE was installed into the default directory the MPASM assembler executable will be C Program Files Microchip MPASM Suite MPAsmWin exe and the MPLINK linker executable will be C Program Files Microchip MPASM Suite MPLink exe If these do not s
35. a way to refer to data items symbolically that is by meaningful names Data Memory On Microchip MCU and DSC devices data memory RAM is comprised of general purpose registers GPRs and special function registers SFRs Some devices also have EEPROM data memory Device Programmer A tool used to program electrically programmable semiconductor devices such as microcontrollers Directives Statements in source code that provide control of the language tool s operation Download Download is the process of sending data from a host to another device such as an emulator programmer or target board DS51464B page 114 2004 Microchip Technology Inc Glossary EEPROM Electrically Erasable Programmable Read Only Memory A special type of PROM that can be erased electrically Data is written or erased one byte at a time EEPROM retains its contents even when power is turned off Emulation The process of executing software loaded into emulation memory as if it were firmware residing on a microcontroller device Emulation Memory Program memory contained within the emulator Emulator Hardware that performs emulation Emulator System The MPLAB ICE 2000 and MPLAB ICE 4000 emulator systems include the pod pro cessor module device adapter cables and MPLAB IDE software Environment A snapshot of the current programming settings It contains all the necessary informa tion to recreate the current programming state
36. any associated files are deleted and a confirmation message is displayed in the Output window If the directory is empty after deleting the Environment file the directory is also deleted 9 3 2 MPLAB PM3 Card When the MPLAB PM3 card is inserted and the MPLAB PM3 is enabled these MPLAB PM3 card options are available on the MPLAB IDE Programmer menu e List Files Format Properties E DS51464B page 90 2004 Microchip Technology Inc MPLAB PM3 Card Reference 9 3 2 1 LIST FILES This option enables all of the files in an Environment to be viewed so the files can reviewed before performing another action such as loading copying or deleting Select Programmer gt MPLAB PM3 Card gt List Files to open the List Files window see example in Figure 9 11 Expand the directories to display all the files Click OK or Close after viewing the listing FIGURE 9 11 LIST FILES WINDOW List Files ML Ap PM3 CARD pic18F452 pic18f452 bin ACME_Proji hex readme txt pici8f452 pm3 9 3 2 2 FORMAT This option reformats MMC cards in the FAT16 format If the card is not in FAT16 format a warning message displays on the LCD screen MPLAB PM3 only supports FAT16 Would you like to format now as FAT16 DATA WILL BE DESTROYED Press lt ENTER gt to reformat a non FAT16 card For FAT16 cards with the MPLAB PM3 card inserted in the programmer select Programmer gt MPLAB PM3 Card gt Format to open the Format PM3 Card
37. be created and the new project added to that workspace Cancel Help 2004 Microchip Technology Inc DS51464B page 27 MPLAB PM3 User s Guide After pressing the Finish button review the Project Window on the MPLAB IDE desktop It should look like Figure 3 9 If the Project Window is not open select View gt Project FIGURE 3 9 PROJECT WINDOW 18F452Proj mcp Source Files F452tmpo asm Header Files Object Files Library Files Linker Scripts 18F452 Jr Other Files 3 9 BUILDING THE INITIAL PROJECT From the Project menu we can assemble and link the current files They don t have any of our code in them yet but this assures that the project is set up correctly Click back on the 18f452Proj mcw window to make it the active window Now build the project by selecting Project gt Build All The Output window shows the result of the build process as shown in Figure 3 10 FIGURE 3 10 INITIAL BUILD RESULTS WINDOW ME Build Version Control Find in Files Clean Deleting intermediary and output files n Clean Done Executing C Program Files MPLAB IDE MCHIP_Tools mpasmwin exe q p18F452 f452tm Executing C Program Files MPLAB IDE MCHIP_Toolsimplink exe C Program Files MPL4 MPLINK 3 80 Linker Copyright c 2004 Microchip Technology Inc Errors SH MP2COD 3 80 COFF to COD File Converter Copyright c 2004 Microchip Technology Inc Errors SCH MP2HEX 3
38. be read Once the Read is complete the Program Memory window will display the data read from the device master Save that data as a hex file insert a new device into MPLAB PM3 to copy that same data into a new device or modify the data in MPLAB IDE before saving to a hex file or program another device Attempting to read a code protected device displays a warning indicating that the device is code protected and that the program memory may be invalid If this happens obtain the original hex code from a file or a non protected device If an MPLAB ICE emulator is connected to MPLAB IDE the code will be downloaded to the emulated program memory of the MPLAB ICE If a project is open the system asks if you want to close it before reading memory from a device If the project is kept open the Absolute Listing window and the Source Code window may not match the data previously read into the Program Memory window Symbols may not match the proper addresses in the Program Memory window 7 4 7 Blank Check All After inserting the device in the socket select Programmer gt Blank Check All from the MPLAB PM3 menu This check will verify that the device is completely blank all bits are set to a 1 and all configuration bits are set to the default value When complete the results will be displayed in the Output window for example Configuration memory is blank EEData memory is blank ID memory is blank Program memory is blank
39. clicking the sign next to it Double click the I O port to which the programmer is connected This is where you can set flow control to Hardware To turn off FIFO click the Port Settings tab and click the Advanced button Deselect the Use FIFO box and click OK Reboot the PC to implement the change DS51464A1 page 106 2004 Microchip Technology Inc Troubleshooting 2 Make sure that a COM port is properly set up exclusively for use by the program mer Check the resources to ensure they are operating properly and that there are no conflicts with other devices This commonly happens when you have another device that is improperly configured Consult your Windows manual or other reference literature You can try removing reconfiguring or disabling the conflicting device but do so only if you are familiar with those procedures 3 Some system errors are caused by driver and hardware incompatibility 4 Try connecting the programmer to a different serial port If your PC has a 25 pin serial port you will need a 25 to 9 serial port adapter 5 Check that the device is plugged into the demo board target application correctly e g all pins are plugged into the socket and the device is correctly oriented For more information see Section B 5 2 Advanced Serial Communications Help B 5 1 3 USB COMMUNICATIONS 1 Make sure you used the MPLAB IDE supplied USB driver for MPLAB ICD 2 If the Windows OS picked a USB d
40. connectors on the socket module with the connectors on the MPLAB PM3 Figure 2 2 2 Push the socket module down evenly mating the connectors It is always a good practice to insert a known blank device and do a blank check whenever the socket module is changed 2 3 3 1 2 For PRO MATE II Socket Modules Note 1 In order to use PRO MATE II socket modules with MPLAB PM3 you must obtain an AC164350 adapter kit See the Development System Ordering Guide DS30177 2 The PRO MATE II ICSP socket module is not supported by the MPLAB PM3 An 18 inch ICSP cable is included with MPLAB PM3 eliminating the need for an ICSP socket Align the connectors on the adapter with the connectors on the MPLAB PM3 Push the adapter down evenly mating the connectors Align the socket module with the adapter on the MPLAB PM3 Tighten the two socket module thumb screws evenly and simultaneously Avoid over tightening they should be finger tight only POA e Note The gold connector strips on the PRO MATE II socket module are relatively fragile Avoid touching them with the socket module screws and avoid over tightening the screws It is always a good practice to insert a known blank device and do a blank check whenever the socket module it changed 2 3 3 2 ICSP CABLE INSTALLATION 1 Connect the ICSP cable connector to the ICSP socket on the MPLAB PM3 Figure 2 2 2 Leave the individual leads unconnected at this time 2 3 3 3 MPLAB
41. dialog Figure 9 12 FIGURE 9 12 FORMAT PM3 CARD DIALOG FORMAT PM3 CARD WARNING Formatting will Erase ALL data on the PM3 Card To continue click OK To quit click CANCEL Cancel Click OK to continue formatting the MPLAB PM3 card or click Cancel When formatting the MPLAB PM3 card all data is erased from the card 2004 Microchip Technology Inc DS51464B page 91 MPLAB PM3 User s Guide 9 3 2 3 PROPERTIES This option lists information about the inserted MPLAB PM3 card including capacity number of free and used bytes and cluster size Select Programmer gt MPLAB PM3 Card gt Properties to display the properties in the Output window see example in Figure 9 13 FIGURE 9 13 MPLAB PM3 CARD PROPERTIES E Output Build Version Control Find in Files MPLAB PM 3 Label None Capacity 252624896 Bytes Free Space 252624896 Bytes Used Space 0 Bytes Cluster Size 4096 Bytes DS51464B page 92 2004 Microchip Technology Inc MPLAB PM3 Card Reference 9 4 MPLAB PM3 CARD IN STAND ALONE MODE There are two ways to access the MPLAB PM3 card in through the MPLAB PM3 programmer in stand alone mode e through the MPLAB PM3 Card Menu from the main menu e through the All Functions Menu after a device is selected 9 4 1 MPLAB PM3 Card Menu In stand alone mode with the MPLAB PM3 card inserted the Main menu has four options Select Device see Section 8 4 1 Select Device
42. gt 8 5 3 7 ADJUST VOLTAGES Enables you to adjust the VDD nominal VDD App and VPP for a Flash device and VDD Max VDD Min VDD Nominal and VPP for an EEPROM device Each option displays the current setting and enables you to select Up or Down Each time you press lt Enter gt the setting is adjusted up or down by 0 125 DS51464B page 80 2004 Microchip Technology Inc Stand alone Reference 8 5 3 8 DEVICE SETTINGS The Device Settings option contains a submenu with the following options e ICSP Power Source e ICSP Programming Mode e Reset Statistics Count e Reset Voltages e Safe Mode 8 5 3 8 1 ICSP Power Source The MPLAB PM3 displays the current ICSP power source and provides two options e Power from MPLAB PM3 programming the device will be powered through the MPLAB PM3 e Target has own supply programming the device will be powered from the target s own power supply 8 5 3 8 2 ICSP Programming Mode The MPLAB PM3 displays the current ICSP program mode voltage criteria and provides two options e MCLR High Voltage utilizes MCLR high voltage for programming the device e PGM Pin LVP utilizes the low voltage programming pin for programming the device 8 5 3 8 3 Reset Statistics Count To reset all the program statistics select All Functions gt Device Settings gt Reset Statistics Count and press lt Enter gt This command will reset the counters to zero 8 5 3 8 4 Reset Volt
43. interrupt request events allowing different priority interrupts Interrupt Service Routine User generated code that is entered when an interrupt occurs The location of the code in program memory will usually depend on the type of interrupt that has occurred IRQ See Interrupt Request ISO See International Organization for Standardization ISR See Interrupt Service Routine Librarian See Archiver Library See Archive Linker A language tool that combines object files and libraries to create executable code resolving references from one module to another Linker Script Files Linker script files are the command files of a linker They define linker options and describe available memory on the target platform Listing Directives Listing directives are those directives that control the assembler listing file format They allow the specification of titles pagination and other listing control Listing File A listing file is an ASCII text file that shows the machine code generated for each C source statement assembly instruction assembler directive or macro encountered in a source file 2004 Microchip Technology Inc DS51464B page 117 MPLAB PM3 User s Guide Local Label A local label is one that is defined inside a macro with the LOCAL directive These labels are particular to a given instance of a macro s instantiation In other words the symbols and labels that are declared as local are no long
44. not need the MPLAB IDE to use MPLAB PM3 This document covers the basic setup and operation of the MPLAB PM3 device programmer but it does not cover all functions of the MPLAB IDE Read the MPLAB IDE documentation to get a full understanding of the features and debug capabilities of the MPLAB IDE 2004 Microchip Technology Inc DS51464B page 9 MPLAB PM3 User s Guide 1 10 MPLAB DEVELOPMENT TOOLS The MPLAB IDE integrates several tools to provide a complete development environment MPLAB Project Manager The Project Manager is used to create a project and work with the specific files related to the project When using a project source code is rebuilt and downloaded to the simulator or emulator with a single mouse click MPLAB Editor The MPLAB Editor is used to create and edit text files such as source files code and linker script files MPLAB SIM Simulator The software simulator models the instruction execution and UO of the PlCmicro MCUs MPLAB ICE Emulator The MPLAB ICE emulator uses hardware to emulate PICmicro MCUs in real time either with or without a target system MPASM Universal Assembler MPLINK Relocatable Linker MPLIB Librarian The MPASM assembler allows source code to be assembled without leaving the MPLAB IDE MPLINK creates the final application by linking relocatable modules from MPASM MPLAB C17 and MPLAB C18 MPLIB manages custom libraries for maximum code reuse MPLAB C17 and MPLAB C18 C Compilers
45. the MPLAB PM3 device programmer This option displays only for erasable devices Device Information Displays the device name Device ID Device Revision Last Checksum and the User IDs Adjust Voltages Displays options for Adjust VDD Nominal Adjust VDD App and Adjust VPP for Flash devices or Adjust Nominal Max Min and Vpp for EPROM devices Device Settings Sets up memory ranges and voltage specs SQTP and communication ports via the Programmer dialog Programmer options Program Read Verify Transfer to MPLAB PM3 and Transfer from MPLAB PM3 will be limited to these settings thereafter until reset DS51464B page 78 2004 Microchip Technology Inc Stand alone Reference 8 5 3 1 READ DEVICE Select Read Device to copy the contents of the device in the socket module into the internal memory of the device programmer For PIC16CXX devices the device programmer will ask the question Code Protect Parts Answer Yes to code protect the parts that you will be programming Code protection will remain effective until a new device is read Answer No to program devices exactly as read After reading a device the device programmer displays a checksum If the device is code protected a code protection message will be displayed prior to the read Answer Yes to continue Answer No to return to the Command menu 8 5 3 2 PROGRAM VERIFY DEVICE To program a device select Pro
46. window will be updated 4 5 3 1 IMPORTED HEX FILES AND EEPROM DATA If you imported your hex file into MPLAB IDE and are using EEPROM data memory make sure your hex code specifies the start of EEPROM data memory This needs to be specified for use with programmers DS51464B page 38 2004 Microchip Technology Inc Using MPLAB PM3 with the MPLAB IDE 4 5 4 Checking For a Blank Device Non Flash Devices You can perform a blank check by selecting Programmer gt Blank Check All from the MPLAB PM3 menu This check will verify that the device is completely blank all bits are set to a 1 and all configuration bits are set to a 1 unprogrammed state If you are using a one time programmable OTP device some configuration bits eg oscillator bits might have already been programmed at the factory Make sure the configuration bits are set to the factory settings and select Programmer gt Blank Check OTP This will check that all program memory bits are set to 1 and that the configuration bits match the value in the dialog An OTP device cannot be erased and reprogrammed If the EPROM device is not blank you will have to erase it before programming or select another device 1 Remove any labels covering the device window If you do not have a windowed device Figure 4 4 you cannot reprogram it A windowed version of all EPROM devices may be ordered by requesting the JW package FIGURE 4 4 WINDOWED DEVICE
47. you have a hex file e g code hex ready for programming into a microcontroller open the Program Memory window if it is not already open To do so from the MPLAB IDE menu select View gt Program Memory Then select File gt mport to browse for the file you want to load into the MPLAB Program Memory window Note There is no warning for importing files with invalid hex values That is the hex file of a 14 bit device may be loaded into the program memory of a 12 bit device and the hex file of a 16 bit device may be loaded into the program memory of a 14 bit device The Program Memory window should now contain the hex code from the hex file Figure 4 3 FIGURE 4 3 PROGRAM MEMORY HEX CODE DISPLAY M Program Memory Address Opcode Disassembly 0000 EERE 000Z EES 0004 FEFEFE 0006 EEEE 0008 EFFF 000A FFFF Opcode Hex Machine Symbolic If you do not have a hex file with which to program your device you can build one using MPLAB Projects MPLAB provides a text editor for generation of source code and com patibility with various assemblers compilers for assembling compiling your source code into hex code in MPLAB program memory For an example on using MPLAB Projects to create a hex file for device programming refer to Chapter 3 Tutorial Please read the MPLAB IDE documentation to see how to use MPLAB Projects to develop your own firmware Each time you rebuild your project the Program Memory
48. 1281 Describes how to set up the MPLAB IDE software and use it to create projects and program devices MPLAB IDE User s Guide DS51519 Comprehensive guide that describes installation and features of Microchip s MPLAB Integrated Development Environment IDE MPASM User s Guide with MPLINK Linker and MPLIB Librarian DS33014 This user s guide describes how to use the Microchip PICmicro MCU MPASM assembler the MPLINK object linker and the MPLIB object librarian MPLAB IDE On line Help In Circuit Serial Programming ICSP Guide DS30277 This document contains helpful design guidelines for successful ICSP programming It includes application notes on hardware designs and the ICSP programming specifications DS51464B page 4 2004 Microchip Technology Inc Preface THE MICROCHIP WEB SITE Microchip provides online support via our web site at www microchip com This web site is used as a means to make files and information easily available to customers Accessible by using your favorite Internet browser the web site contains the following information e Product Support Data sheets and errata application notes and sample pro grams design resources user s guides and hardware support documents latest software releases and archived software General Technical Support Frequently Asked Questions FAQ technical support requests online discussion groups Microchip consultant program memb
49. 14 99 9000090 2 TABLE A 3 ICSP CABLE PINOUT Pin Color Signal 1 Violet CLK 2 Green PASS 3 Orange DATA 4 Brown FAIL 5 White LVP Clock 6 Blue GO 7 Yellow VPP 8 Yellow VPP 9 Red VDD 10 White with blue stripe Test 11 Red VDD 12 Gray 5V 13 Black GND 14 Black GND 2004 Microchip Technology Inc DS51464B page 97 MPLAB PM3 User s Guide Information on using ICSP for a specific device is described in the device s programming specification You can find programming specifications on the Microchip web site Note Since the MPLAB PM3 has ICSP built in you cannot use the PRO MATE II ICSP Socket Module AC04004 and the MPLAB PM3 to PRO MATE II device adapter A 4 2 ICSP Vbb VpP Operating Characteristics TABLE A 4 POWER VIA PM3 Parameter Value VPP Range 9 14V in 125 mV steps IPP Range 150 mA max VDD Range 2 5 5V in 125 mV steps IDD Range 500 mA max Protection Over Voltage Shutdown TABLE A 5 POWER VIA TARGET Parameter Value Target VDD Range 2 5 5V VPP Range 9 14V in 125 mV steps IPP 150 mA max Target VDD Range 2 5 5V Protection IPP Overcurrent Fuse Over Voltage Shutdown Note The use of any cable other material length other than the one provided with the MPLAB PM3 unit may result in unreliable device programming DS51464B page 98 2004 Microchip Technology Inc Hardware Specifications
50. 17CXXX and PIC18CXXX families of microcontrollers In microcontroller mode only internal execution is allowed Thus only the on chip program memory is available in microcontroller mode Microprocessor Mode One of the possible program memory configurations of the PIC17CXXX and PIC18CXXX families of microcontrollers In microprocessor mode the on chip program memory is not used The entire program memory is mapped externally Mnemonics Text instructions that can be translated directly into machine code Also referred to as Opcodes DS51464B page 118 2004 Microchip Technology Inc Glossary MPASM Assembler Microchip s relocatable macro assembler for PICmicro microcontroller devices KEELOQ devices and Microchip memory devices MPLAB ASM30 Microchip s relocatable macro assembler for dsPIC30F digital signal controller devices MPLAB C1X Refers to both the MPLAB C17 and MPLAB C18 C compilers from Microchip MPLAB C17 is the C compiler for PIC17CXXX devices and MPLAB C18 is the C compiler for PIC18CXXX and PIC18FXXXX devices MPLAB C30 Microchip s C compiler for dsPIC30F digital signal controller devices MPLAB ICD 2 Microchip s in circuit debugger for PIC16F87X PIC18FXXX and dsPIC30FXXXX devices The ICD works with MPLAB IDE The main component of each ICD is the module A complete system consists of a module header demo board cables and MPLAB IDE Software MPLAB ICE 2000 Microchip s in circuit emulat
51. 4B page 125 MPLAB PM3 User s Guide NOTES DS51464B page 126 2004 Microchip Technology Inc MPLAB PM3 J MICROCHIP USER S GUIDE Index B K BiM UE R 48 KEYS ET ee ae mien 75 Binary File daccis ah nna a 48 L c ee eli a an cs oar 75 CE Compliance 8 Loading an Environment 50 Checksum sets num vig itis len anse 37 M Communications Cable installation idem nent 12 Memory Ranges 60 KE 13 Microchip Web Site En 5 DEEN 12 MPASM nn 10 Configure Menu cc ccccceceeeeeeeneeeeeeeeeeneeeeeeeeees 54 MPLAB EE 9 Creating an Environment ccccceceeteeteeteeneees 49 MPLAB CXX ns 10 Customer Notification Service 5 MPLAB Development Tools 10 Customer Support 6 MPLAB Editor rt rendent 10 MPLAB ICE e ist nt ction rane atainoti 10 D MPLABIDE abate iets ane tae ee 35 RI 75 Programmer Selection 16 Documentation l t ction ieee ese ee 16 Conventions izat ui Tap road an 3 MPLAB PM3 Layouts nina Mint nie 2 Back View ee ite eran el cies 12 83 E Powering Down 15 Specifications 96 EEPROM Flash 39 Top VIRE cine SN marne rs 13 Enable MPLAB PMB 56 MPLAB PM3 Card 47 Enabling MPLAB PM3 cccccceeeeeeeeeeseeessssteeeeeees 19 MPLAB PM3 Components ADS E RS IB net oid dec 8 Environment PM3 deiere e Keesen 47 48 55 83 MPLAB PM3 Programmer Men 55 Environment
52. 8 94020394 DESEN psti sroyanner FOTP File In Use EEO EE Prorom REN verily E Output Read Blank Check All Build Version Control Findin np Blank Chec I Erase Flash Device Reset Program Statistics Transfer To PM3 Transfer From PM3 Establish Communications Load SQTP File About Save MPLAB PM3 Card Copy View Load MPLAB PM3 PIC18F452 so Delete Settings The Environment option on the MPLAB IDE Programmer menu offers several operations that can be performed through the MPLAB IDE e Save e Copy e View e Load e Delete DS51464B page 84 2004 Microchip Technology Inc MPLAB PM3 Card Reference 9 3 1 1 SAVE This options enables you to save an environment to the MPLAB PM3 card your hard drive or another location Select Programmer gt Environment gt Save to open the Save Environment dialog Figure 9 3 and perform these steps FIGURE 9 3 SAVE ENVIRONMENT DIALOG Save Environment Environment Name SQTP File Misc Files eg c filel ext c file2 ext Description Destination Browse 1 Inthe Environment Name field type a name maximum 127 characters for the Environment you wish to save 2 Ifan SQTP file is specified for the device in the Programmer gt Settings gt SQTP dialog then the SQTP file name will appear in the SQTP File field The file must be generated and loaded into the MPLAB IDE before
53. 8FXXX devices respectively These ICDs work with MPLAB IDE ICE In Circuit Emulator MPLAB ICE 2000 and 4000 are Microchip s in circuit emulators that work with MPLAB IDE IDE Integrated Development Environment MPLAB IDE is Microchip s integrated development environment Import Bring data into the MPLAB IDE from an outside source such as from a HEX file Instruction Set The collection of machine language instructions that a particular processor understands DS51464B page 116 2004 Microchip Technology Inc Glossary Instructions A sequence of bits that tells a central processing unit to perform a particular operation and can contain data to be used in the operation Internal Linkage A function or variable has internal linkage if it can not be accessed from outside the module in which it is defined International Organization for Standardization An organization that sets standards in many businesses and technologies including computing and communications Interrupt A signal to the CPU that suspends the execution of a running application and transfers control to an Interrupt Service Routine ISR so that the event may be processed Interrupt Handler A routine that processes special code when an interrupt occurs Interrupt Request An event which causes the processor to temporarily suspend normal instruction execution and to start executing an interrupt handler routine Some processors have several
54. AN ECONOMONITOR FanSense FlexROM fuzzyLAB In Circuit Serial Programming ICSP ICEPIC MPASM MPLIB MPLINK MPSIM DICK PICDEM PICDEM net PICLAB PICtail PowerCal Powerlnfo PowerMate PowerTool rfLAB rfPICDEM Select Mode Smart Serial SmartTel and Total Endurance 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 2004 Microchip Technology Incorporated Printed in the U S A All Rights Reserved gt Printed on recycled paper 11 12 04 Microchip received ISO TS 16949 2002 quality system certification for its worldwide headquarters design and wafer fabrication facilities in Chandler and Tempe Arizona and Mountain View California in October 2003 The Company s quality system processes and procedures are for its PICmicro 8 bit MCUs 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 DS51464B page ii 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USERS GUIDE Table of Contents Pr face eege 1 Chapter 1 MPLAB PM3 Overview SUMO GUCUION suc EE Lee LAS SA ME SA te ce tan ce fiat ire 7 12 What 1S MPLAB KE 7 NNER 7 1 4 MPLA
55. B IDE Reference 7 6 1 1 GENERATING THE SQTP FILE 1 Select Programmer gt Settings and click on the SQTP tab to view or select the SQTP settings Figure 7 10 FIGURE 7 10 SQTP TAB P rogrammer Communications Configuration Memory Ranges Voltages SOTP C Pseudo Random Seed alue Heu C Sequential Start Value Hex Increment Hex Start Address Hex D Number of Words Dec Number of Parts Dec Generate 2 Fill in the appropriate values for the type of SQTP file TABLE 7 10 SQTP MENU Selection Description Random Select this option to generate unique random numbers for each part Pseudo Random Select this option to generate a pseudo random set of Seed Value Hex non repeating numbers based on the seed value specified Sequential Select this option to generate sequential numbers based on Start Value Hex the starting value specified and incrementing each number by Increment Hex the amount specified Start Address Hex Enter the starting address in hex for the serial number Number of Words Dec Enter the size of the serial number Make sure a large enough serial number is specified for the number of parts planned to program using this file Number of Parts Dec Enter the number of parts to be programmed using this file Generate Opens the Save SQTP File As dialog 3 Click Generate The Save SQTP File As dialog opens 4 Selec
56. B PM3 Card Reference Describes the commands available specifically for the MPLAB PM3 Card Appendix A Hardware Specifications Describes how to connect MPLAB PM3 to a communication port Provides instructions on cleaning MPLAB PM3 socket modules Appendix B Troubleshooting Provides information on solving common problems e e e e D D D D D D DS51464B page 2 2004 Microchip Technology Inc CONVENTIONS USED IN THIS GUIDE Preface This manual uses the following documentation conventions DOCUMENTATION CONVENTIONS Description Represents Examples Arial font Italic characters Referenced books MPLAB IDE User s Guide Emphasized text is the only compiler Initial caps A window the Output window A dialog the Settings dialog A menu selection select Enable Programmer Quotes A field name in a window or Save project before build dialog Underlined italic text with A menu path File gt Save right angle bracket Bold characters A dialog button Click OK A tab Click the Power tab bnnnn A binary number where n is a b00100 b10 digit Text in angle brackets lt gt Courier font A key on the keyboard Press lt Enter gt lt F1 gt Plain Courier Sample source code define START Filenames autoexec bat File paths c mcc18 h Keywords _asm _endasm static Command line options Op
57. B PM3 System Components 8 1 5 MPLAB PM3 CE Compliance ccccccccceccseeseeceececeeeeeeaseeeeceeeeeeesesaaaaanesess 8 1 6 How MPLAB PM3 Helps YOu 0 ccccccccccccceeeseseseeeeecececeeceaseeseeeeceseesesaaaasnesees 9 1 7 MPLAB PM3 Operating with a PC se 9 1 8 MPLAB PM3 Operating without a PC Stand alone cceeeeessseeeeeeteeeeees 9 1 9 MPLAB Integrated Development Environment 9 1 10 MPLAB Development Tools 2 ccccccctcccnisetees eectseeeeseeeessecteineesteseeesceereenee 10 Chapter 2 Installing MPLAB PM3 ZA eet Lee EE 11 2 2 Installing MPLAB IDE Software cesssesseeeeeneeeeeeaaaaeeeeaaeeeeeeeeeeeeeeeess 11 2 3 Installing MPLAB PM3 Hardware 12 2 4 Powering Up MPLAB PM3 eee 15 2 5 Configuring MPLAB IDE for Use with MPLAB PMB niaes 16 Chapter 3 Tutorial E Wl ee ee EE 21 3 2 Before You Begin erene ea a a aa aia aaia 21 3 3 Programming Overview see 21 3 4 Selecting the Device seen 22 3 5 Creating the Projest ranira i Aaah leek tre A eege 23 3 6 Setting Up Language Tools 20 0 0 ccceesseseeseeeeceeeeeeeeeeeeecaaeeeeeeeeeeeeeeeeeeeeeeess 24 3 7 Naming the Project EEE TE E tan med frire rte nets i rate ner enes 25 3 8 Adding Files to the Project ss 26 3 9 Building the Initial Project sis 28 3 10 Creating Code eeraa e a a a aN 29 3 11 Building the Project coisina e a e a 32 3 12 Enabling the MPLAB RRE 33 3 13 Programming the Device ss 34 3 14 Verifying the Programming sis 34 3 15 Tutorial
58. E 7 6 NON FLASH DEVICES Selection Description VDD Min This voltage and VDD Max are used by the programmer to verify memory in EEPROM devices The value should be the minimum voltage for the designated circuit The default is the device s minimum voltage value VDD Max This voltage and VDD Min are used by the programmer to verify memory The value should be the maximum voltage for the designated circuit The default is the device s maximum voltage value TABLE 7 7 ALL DEVICES Selection Description VDD Nom This is the voltage at which the device is programmed This should be the average voltage at which the system will run The default is 5 volts VPP This is the voltage used to bring the device into a program ming mode Although this is dependent of the device s programming specification it may be changed If Low Voltage Program is selected this is changed to VDD Nom by the programmer Reset Voltages Resets all voltages to their default values Low Voltage Program In ICSP mode select this checkbox to perform Low Voltage programming Low Voltage programming uses a dedicated pin to enter into the programming mode versus a high voltage on VPP This check box is ignored when a socket is installed Power Target Circuit from In ICSP mode this allows the target circuit to be powered MPLAB PM3 from the MPLAB PM3 to supply power for programming This check box is ignored when a socket
59. ICATIONS TROUBLESHOOTING 1 Check that the RS 232 or USB cable is connected securely to the MPLAB PM3 and the host computer 2 Check that the power supply is connected and the power LED on the programmer is on 3 Make sure you are not using a third party communications driver Open your SYSTEM INI file and look for the line in the OPTIONS section that reads COMM DRV COMM DRV If this line reads differently you are using a different communications driver B 5 1 2 SERIAL COMMUNICATIONS 1 Windows COM port setup requires special attention If you suspect a driver hardware incompatibility try changing Flow Control to Hardware and or turning off the FIFO for the serial port This is done in the Control Panel In Windows 98 ME click the System Icon Click the Device Manager tab and click Ports If necessary expand the Ports selection by clicking the sign next to it Double click the I O port to which the programmer is connected This is where you can set flow control to Hardware To turn off FIFO click the Advanced button deselect the Use FIFO box and click OK Reboot the PC to implement the change In Windows NT click the Ports Icon Select the COM port click Settings and then click the Advanced button Deselect the FIFO box and click OK Reboot the PC to implement the change In Windows 2000 XP click the System Icon Click the Hardware tab and click the Device Manger button If necessary expand the Ports selection by
60. If using a one time programmable OTP device some configuration bits e g oscillator bits might have already been programmed at the factory Make sure the configuration bits are set to the factory settings and select Programmer gt Blank Check OTP This will check that all program memory bits are set to 1 and that the configuration bits match the value in the dialog An OTP device cannot be erased and reprogrammed DS51464B page 58 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference If the EPROM device is not blank erase it before programming or select another device 1 Remove any labels covering the device window A non windowed device cannot be reprogrammed A windowed version of all EPROM devices may be ordered by requesting the JW package 2 Place the device in an Ultraviolet UV EPROM Eraser The amount of time required to completely erase a UV erasable device depends on the wavelength of the light its intensity distance from UV source and the process technology of the device how small the memory cells are 3 Before attempting to program the device perform the blank check again to verify that it is blank Note Ifthe device is EEPROM or Flash it is not necessary to erase it before reprogramming it These devices are electrically erased before programming 7 4 8 Erase Flash Device With the device inserted the socket select Programmer gt Erase Flash Device from the MPLAB PM3 menu Then
61. LAB IDE TO LOAD AN ENVIRONMENT 1 Ensure the MPLAB PM3 card is fully inserted into the SD MMC card slot on the back of the MPLAB PM3 programmer the programmer is powered on and the programmer is enabled through MPLAB IDE Programmer menu 2 From the MPLAB IDE main menu select Programmer gt Environment gt Load to open the Load Environment window 3 Expand the MPLAB PM3 card directory to display the pm3 file you want to load into the programmer 4 Select the pm3 file you wish to load and click OK 5 When complete the Load Environment window closes and a completion message displays in the Output window 6 2 2 2 USING STAND ALONE MODE TO LOAD AN ENVIRONMENT 1 Ensure the MPLAB PM3 card is fully inserted into the SD MMC card slot on the back of the MPLAB PM3 programmer and the programmer is powered on 2 From the MPLAB PM3 main menu select MPLAB PM3 card and press ZENTER 3 From the MPLAB PM3 card menu select Load an Environment and press ZENTER 4 From the PM3CARD pm3 menu select your Environment folder and press ZENTER 5 Select your Environment pm3 from the your Environment folder and press ZENTER DS51464B page 50 2004 Microchip Technology Inc Using the MPLAB PM3 Card 6 3 MPLAB PM3 CARD The MPLAB PM3 card is an MMC card formatted FAT16 based file system for cross readability through an external reader The MPLAB IDE is able to communicate to the MPLAB PM3 card through both serial and USB interfaces
62. LAB IDE or stand alone Program Counter The location that contains the address of the instruction that is currently executing Program Memory The memory area in a device where instructions are stored Also the memory in the emulator or simulator containing the downloaded target application firmware Project A set of source files and instructions to build the object and executable code for an application Prototype System A term referring to a user s target application or target board PWM Signals Pulse Width Modulation Signals Certain PICmicro MCU devices have a PWM peripheral Qualifier An address or an address range used by the Pass Counter or as an event before another operation in a complex trigger Radix The number base HEX or decimal used in specifying an address RAM Random Access Memory Data Memory Memory in which information can be accessed in any order Raw Data The binary representation of code or data associated with a section EL 2004 Microchip Technology Inc DS51464B page 121 MPLAB PM3 User s Guide Real Time When released from the halt state in the emulator or MPLAB ICD mode the processor runs in real time mode and behaves exactly as the normal chip would behave In real time mode the real time trace buffer of MPLAB ICE is enabled and constantly captures all selected cycles and all break logic is enabled In the emulator or MPLAB ICD the processor executes in real time until a
63. LL Programmer A 5 3 Compatibility with MPLAB PRO MATE II Socket Modules MPLAB PM3 can accept PRO MATE II socket modules with the use of an adapter module Do not attempt to connect the PRO MATE II ICSP socket module to the MPLAB PM3 A 5 4 Socket Life Expectancy and Cleaning Method Microchip uses socket modules from several manufacturers Table A 11 gives the expected life in number of automatic insertions and cleaning method for each socket module as reported by the manufacturer TABLE A 11 SOCKET LIFE EXPECTANCY AND CLEANING METHOD Manufacturer Insertions Cleaning Method Aries 10 000 None AMP 18 pin 25 000 None 3M Textool 10 000 Methyl Alcohol Yamaichi 25 000 Methyl Alcohol A 5 4 1 MANUFACTURER All sockets except Yamaichi are labeled with the manufacturer s name Identify a Yamaichi socket by looking for the letters IC51 as the prefix to a part number on the socket 2004 Microchip Technology Inc DS51464B page 101 MPLAB PM3 User s Guide A 5 4 2 INSERTIONS The expected life for manual insertions has been found to be less than the manufac turer s reported number The number of manual insertions depends on the socket condition and how often the socket is cleaned Careless insertions or dirty socket conditions can bring the number of insertions down to less than 5 000 Cleanliness and care in inserting devices into a socket are mos
64. MPLAB IDE ICSP Monitor is Not Found Reset and connect to MPLAB IDE ICSP Monitor is Old Reset and connect to MPLAB IDE Failure on the Daughter Board Reset the unit If the problem persists contact your field representative to SAR the unit USB is Not Found USB is Old Reset and connect to MPLAB IDE Reset and connect to MPLAB IDE Display was Not Found Reset the unit If the problem persists contact your field representative to SAR the unit Memory Failure Reset the unit If the problem persists contact your field representative to SAR the unit 17 OS is Not Found Reset and connect to MPLAB IDE 18 VDD is Over Current If programming using a socket module verify that the proper part is selected and the part is inserted in the socket properly 19 Vpp is Over Current If programming using a socket module verify that the proper part is selected and the part is inserted in the socket properly 20 OS is Old Reset and connect to MPLAB IDE 24 Clock is Missing Reset the unit If the problem persists contact your field representative to SAR the unit 25 Display Read Write Failure Reset the unit If the problem persists contact your field representative to SAR the unit 26 27 Power Monitor Can Not Ramp Up Voltages Updating Failed Ensure the target is disconnected from the MPLAB PM3 and retry If it passes check the ICS
65. N This chapter presents an overview of the features and requirements of MPLAB PM3 Topics covered in this chapter What is MPLAB PM3 What MPLAB PM3 Does MPLAB PM3 System Components MPLAB PM3 CE Compliance How MPLAB PM3 Helps You MPLAB PM3 Operating with a PC MPLAB PM3 Operating without a PC Stand alone MPLAB Integrated Development Environment MPLAB Development Tools 1 2 WHAT IS MPLAB PM3 The MPLAB PM3 is a Microchip microcontroller device programmer Through interchangeable programming socket modules MPLAB PM3 enables you to quickly and easily program the entire line of Microchip microcontroller devices MPLAB PM3 may be used with MPLAB IDE running under supported Windows OS s see Readme for MPLAB PM3 txt file for support list or as a stand alone programmer See Recommended Reading in the Preface for more information 1 3 WHAT MPLAB PM3 DOES MPLAB PM3 can be set up on the serial COM 1 4 or USB communications port on your PC With MPLAB PM3 you can perform the following operations e Program memory configuration bits EEPROM data memory ID locations and calibration data into devices Program devices using ICSP In Circuit Serial Programming on the target board and user GO PASS and FAIL signals to interface with the MPLAB PM3 Verify that microcontrollers are blank Verify that code in the target microcontroller matches your firmware Read code from an unprotected microcontroller into th
66. P wiring If it fails again contact your field representative to SAR the unit Turn unit off Check connections to PC Make sure appropriate port is selected and the proper drivers are installed Restart and retry 2004 Microchip Technology Inc DS51464A1 page 111 MPLAB PM3 User s Guide B 7 2 Additional Error Messages e Hardware needs to be reconfigured Please attach to PC and connect through MPLAB IDE to update error number BIOS needs to download a newer version of some firmware e Fatal Error Hardware not found Contact your local field office for assistance error number Cannot read a piece of hardware e Fatal Error Memory Failure Contact your local field office for assistance error number Memory test failed B 7 3 LCD Version Screen On system boot up the version screen is displayed Bios Vers lon nn ne ver OS VErSiONssmneeeee ver Supervisor Version ver Memory Controller Version ver HS Shifter VerSiONsss ver Daughter Board Version ver USB EEPROM VMereion EE ver Database VerSioOn sescesecsrerscccsseccsseossce ver No Calibration Required B 8 LIMITATIONS B 8 1 General Limitations e View the Readme for MPLAB PM3 txt file for a list of currently supported devices Program memory ranges that are not code protected may only be changed from a 1 to a 0 Most devices need to be erased before they can be reprogrammed
67. PM3 CARD INSERTION 1 Align the MPLAB PM3 card with the SD MMC slot on the back of the MPLAB PM3 programmer and insert the notched corner end of the card into the slot The card is keyed so that it only goes in one way 2 Push the card into the slot 3 To remove the card push in to eject DS51464B page 14 2004 Microchip Technology Inc Installing MPLAB PM3 2 4 POWERING UP MPLAB PM3 Once you have connected the hardware and installed the software you are ready to turn on MPLAB PMB Turn the power switch on the side of the MPLAB PM3 to ON refer back to Figure 2 1 Note MPLAB PM3 automatically performs a self test ensuring the programmer is functional No calibration is required If any portion of the self test fails MPLAB PM3 will display the corrective course of action on the LCD panel See Section B 7 Error Messages LCD for information on beep codes and LCD error messages MPLAB IDE will provide further information to help you debug the issue On a successful power up you should see the following types of messages appear on the LCD panel on the front of the MPLAB PM3 e MPLAB PM3 splash screen e Version numbers and copyright dates e MPLAB PM3 menu At this point you are ready to use MPLAB PM3 If you are going to use MPLAB PM3 with MPLAB IDE Windows please refer to Chapter 4 Using MPLAB PM3 with the MPLAB IDE If you are going to use MPLAB PM3 in stand alone mode please refer to Chap
68. S 232 serial communications between the PC and the MPLAB PM3 device programmer select the PC COM port for use COM1 COM2 COM3 or COM4 Figure 7 6 COM is the default Click OK FIGURE 7 6 SERIAL COM PORT Programmer Memory Ranges Voltages SOTP Communications Configuration Com Port Caneel JA To make sure the port is set up properly follow the instructions in the For RS 232 Communications subsection in Section 2 3 1 Installing the Communications Cable 2004 Microchip Technology Inc DS51464B page 65 MPLAB PM3 User s Guide 7 5 4 2 USB COMMUNICATIONS To use USB communications between the PC and the MPLAB PM3 device programmer select the PC USB port Figure 7 6 Click OK CAUTION Do not allow the Windows OS to pick a USB driver Follow the procedure specified in Section 2 2 Installing MPLAB IDE Software FIGURE 7 7 USB PORT P rogrammer Memory Ranges Voltages SQTP Communications Configuration Com Port COM1 C COM2 To make sure the port is set up properly follow the instructions in the For USB Communications subsection in Section 2 3 1 Installing the Communications Cable 7 5 4 3 SWITCHING THE COMMUNICATION MODE If the MPLAB PM3 is enabled in one mode of communication USB or serial and you wish to switch to the other mode do the following 1 Deselect the programmer in MPLAB IDE Programmer g
69. SP Options area select the Low Voltage Program checkbox Figure 7 11 w FIGURE 7 11 LOW VOLTAGE PROGRAM OPTION P rogrammer Communications Configuration Memory Ranges Voltages SQTP YDD Min VDD Max x YDD Nom 5 0000 x VPP 12 5000 i VDD App 5 0000 pel Reset Voltages ICSP Options Iw Power target circuit from PM3 Cancel Apply Help EE EE 2004 Microchip Technology Inc DS51464B page 71 MPLAB PM3 User s Guide 7 7 FILES USED BY MPLAB PM3 MPLAB PM3 can use information directly from MPLAB IDE projects without any intermediate steps MPASM assembler can be used separately from MPLAB IDE to produce hex files for MPLAB PM3 Alternatively devices can be programmed with hex files from any PlCmicro MCU compatible cross assembler or cross compiler If using MPASM assembler separate from the MPLAB IDE or are generating hex files from within the MPLAB IDE for use later with MPLAB PM3 use either INHX8M or INHX32 hex formats MPASM assembler s default output format for hex files is INHX32 If programming PIC17CXXX PIC18CXXX or PIC18F XXX devices use INHX32 format See the MPASM User s Guide with MPLINK and MPLIB for details on file formats 7 7 1 Using Hexadecimal Record Formats The following provides the proper file format for the PICmicro MCU device families Make sure the assembler or compiler is configured to generate hex files in the proper format MPLAB PM3 uses the formats desc
70. Software and MPLAB PM3 hardware Section 2 3 Installing MPLAB PM3 Hardware 2 Turned the power on the MPLAB PM3 Section 2 4 Powering Up MPLAB PM3 3 Selected MPLAB PM3 as your programmer Section 2 5 2 Selecting MPLAB PM3 as the Programmer 4 Configured the communications port that the MPLAB IDE will use to communicate with the MPLAB PM3 Section 2 5 3 Setting Up the Communications Port 5 Selected the device you wish to program from the list of available devices Section 2 5 4 Selecting a Device in MPLAB IDE 6 Enabled started the MPLAB PM3 programmer Section 2 5 5 Enabling MPLAB PM3 4 3 MPLAB PM3 DIALOGS The MPLAB PM3 Programmer Menu options are displayed when the programmer is enabled If the option is unavailable the item appears in gray not black text The next section will discuss how these dialogs are used to program devices 4 4 SETUP FOR PROGRAMMING A DEVICE To program a device you will need e A hex file to program into the device e A device to program Must be blank if non flash device See Section 7 4 7 Blank Check AIl 2004 Microchip Technology Inc DS51464B page 35 MPLAB PM3 User s Guide 4 5 PROGRAMMING A DEVICE The steps to program a device include Setting up the configuration bits in the configuration bits dialog If needed editing the ID in the user ID memory dialog e Loading the hex code into program memory or buil
71. a Opa Bit values O TA Italic Courier A variable argument file o where file can be any valid filename Oxnnnn A hexadecimal number where OxFFFF 0x007A nis a hexadecimal digit 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 Represents code supplied by user void main void 2004 Microchip Technology Inc DS51464B page 3 MPLAB PM3 User s Guide WARRANTY REGISTRATION Please complete the enclosed Warranty Registration Card and mail it promptly Sending in the Warranty Registration Card entitles users to receive new product updates Interim software releases are available at the Microchip web site RECOMMENDED READING This user s guide describes how to use the MPLAB PM3 programmer Other useful documents are listed below The following Microchip documents are available and recommended as supplemental reference resources README for MPLAB PM3 For the latest information on using MPLAB PM3 read the Readme for MPLAB PM3 txt file an ASCII text file in the MPLAB IDE readmes directory The README file contains update information and known issues that may not be included in this on line help file MPLAB PM3 On line Help MPLAB IDE Quick Start Guide DS5
72. ables you to create a copy of the Environment so you can store it use it in another location or create a new Environment based on this Environment Select Programmer gt Environment gt Copy to open the Copy Environment dialog Figure 9 5 This command copies an Environment from one location to another for example from the MPLAB PM3 card to your hard drive Use these steps to copy an Environment FIGURE 9 5 COPY ENVIRONMENT DIALOG Copy Environment Environment Source Browse Environment Destination Browse DS51464B page 86 2004 Microchip Technology Inc MPLAB PM3 Card Reference 1 Inthe Environment Source field click Browse to open the Select Environment window Figure 9 6 FIGURE 9 6 SELECT ENVIRONMENT WINDOW Select Environment MPLAB PM3 CARD A pic18F452 pic18f452 pm3 j Cancel 2 Locate and select the pm3 file you wish to copy and click OK You may have to expand the directories to locate the file you want The Select Environment window closes and returns you to the Copy Environment dialog The location now displays in the Environment Source field 3 Inthe Environment Destination field click Browse to open the Environment Destination window Figure 9 4 4 Select the destination location where you wish to copy the Environment Click OK then Close to return to the Copy Environment dialog The location now displays in the Environment Destinatio
73. age 8 2004 Microchip Technology Inc MPLAB PM3 Overview 1 6 HOW MPLAB PM3 HELPS YOU With the MPLAB PM3 device programmer you can program Microchip devices from a PC Host or you can use the device programmer as a stand alone unit e MPLAB PMS is easy to use and flexible in programming Microchip devices and package types e MPLAB PM3 will expand to support future Microchip devices always providing the latest programming algorithms to support Microchip PIC microcontroller devices and other Microchip parts via the Microchip web site http www microchip com e With an optional MPLAB PM3 Card inserted you can store and transport device settings for programming 1 7 MPLAB PM3 OPERATING WITH A PC Using MPLAB Integrated Development System IDE as the interface MPLAB PM3 becomes another tool in the MPLAB IDE allowing you to quickly compile test and debug your firmware then download it into MPLAB PM3 to be programmed into your device 1 8 MPLAB PM3 OPERATING WITHOUT A PC STAND ALONE Without a PC connection to MPLAB PM3 the unit operates as a stand alone device programmer However a PC connection is required for operating system updates The main programmer features of the MPLAB PM3 are available including Read Program and Verify 1 9 MPLAB INTEGRATED DEVELOPMENT ENVIRONMENT The MPLAB desktop provides an environment for developing and debugging your application MPLAB PM3 is integrated into the MPLAB IDE but you do
74. ages To reset the voltages select All Functions gt Device Settings gt Reset Voltages and press lt Enter gt This command resets the voltages to the default voltages 8 5 3 8 5 Safe Mode Safe mode was designed to prevent operational errors during production When in safe mode the only functions that are allowed are Program and Verify If any other buttons are pressed a message is displayed stating that the system is in safe mode and the operation is not allowed Requesting other functions in the MPLAB IDE when the MPLAB PM3 is connected to the PC will deactivate safe mode To enter Safe Mode select AN Functions gt Device Settings gt Safe Mode and press lt Enter gt In safe mode only Program and Verify options on the Command menu are available After safe mode is implemented you will be sent to the Command menu 2004 Microchip Technology Inc DS51464B page 81 MPLAB PM3 User s Guide NOTES DS51464B page 82 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 9 MPLAB PM3 Card Reference 9 1 INTRODUCTION This chapter explains how to use the MPLAB PM3 card in the MPLAB PM3 device programmer The MPLAB PM3 card can be accessed though the MPLAB IDE software and directly in the MPLAB PM3 programmer in stand alone mode This chapter covers only those commands specifically for the MPLAB PM3 card For other MPLAB IDE commands refer to Chapter 7 MPLAB PM3 MPLAB IDE Reference For o
75. al attention when setting up COM ports If you suspect a driver hardware incompatibility try changing Flow Control to Hardware and or turning off the FIFO for the serial port This is done in the Control Panel In Windows 98 click the System Icon Click the Device Manager tab and click Ports If necessary expand the Ports selection by clicking the sign next to it Double click the I O port that PICSTART Plus is connected to This is where you can set flow control to Hardware To turn off FIFO click the Advanced button deselect the Use FIFO box and click OK Restart the PC 2 In Windows 2000 click the System Icon Click the Hardware tab and click the Device Manger button If necessary expand the Ports selection by clicking the sign next to it Double click the I O port that PICSTART Plus is connected to This is where you can set flow control to Hardware To turn off FIFO click the Port Settings tab and click the Advanced button Deselect the Use FIFO box and click OK Restart the PC 3 Make sure that the RS 232 cable is connected the power supply is connected and the power switch on the MPLAB PMs3 is on 4 Try connecting the MPLAB PM3 to a different serial port If your PC has a 25 pin serial port you will need a 25 to 9 serial port adapter DS51464A1 page 104 2004 Microchip Technology Inc Troubleshooting 5 Make sure that a COM port is properly set up exclusively for use by MPLAB PM3 Check the resources to ensu
76. and general editing and debugging features Programmers The latest information on Microchip programmers These include the MPLAB PM3 and PRO MATER II device programmers and the PICSTART Plus and PICkit 1development programmers 2004 Microchip Technology Inc DS51464B page 5 MPLAB PM3 User s Guide CUSTOMER SUPPORT Users of Microchip products can receive assistance through several channels e Distributor or Representative e Local Sales Office e Field Application Engineer FAE e Technical Support e Development Systems Information Line Customers should contact their distributor representative or field application engineer FAE for support Local sales offices are also available to help customers A listing of sales offices and locations is included in the back of this document Technical support is available through the web site at http support microchip com In addition there is a Development Systems Information Line which lists the latest ver sions of Microchip s development systems software products This line also provides information on how customers can receive currently available upgrade kits The Development Systems Information Line numbers are 1 800 755 2345 United States and most of Canada 1 480 792 7302 Other International Locations NEE EE DS51464B page 6 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 1 MPLAB PM3 Overview 1 1 INTRODUCTIO
77. are reported for program configuration bits EEPROM data memory and ID locations Only the first location to fail is each region is displayed The address expected value and read value are displayed After programming the device programmer displays the checksum 8 5 3 3 VERIFY DEVICE To verify a device select Verify Device and press lt Enter gt The device programmer compares the contents of its internal memory to the contents of the programmed micro controller device loaded in the socket module If the data and configuration bit settings are correct PASSED and the checksum will display on the LCD The device programmer performs the verification at the VDD Minimum and VDD Maximum voltages for non Flash devices and VDD Nominal for Flash devices The device programmer reports errors according to which part of the device failed Only the first location to fail is each region is displayed The address expected value and read value are displayed 2004 Microchip Technology Inc DS51464B page 79 MPLAB PM3 User s Guide 8 5 3 4 BLANK CHECK DEVICE To perform a blank check select Blank Check Device and press lt Enter gt This check will verify that the device is completely blank all bits are set to a 1 and all configuration bits are set to a 1 unprogrammed state When completed the programmer LCD displays Device Blank Only the first location to fail is each region is displayed The address
78. ay0 movlw OxFF movwf DVAR set inner delay loop Delay1 decfsz DVAR goto Delay1 decfsz DVAR2 goto Delay0 return The template file should now look like Figure 3 13 FIGURE 3 13 TEMPLATE FILE ADD CODE E MPLAB IDE Editor f452tmpo asm Main clrf movwf clear PORTC mert configure PORTC as all outputs Init clrf COUNT IncCount incf COUNT movt COUNT movit PORTC display COUNT on PORTC call Delay goto IncCount infinite loop Delay moviw 0x40 set outer delay loop movwt DVARZ Delay0 movlw OxFF meest DVAR set immer delay loop Delayl decfsz DVAR goto Delayl decfsz DVARZ goto DelayO return PEAR A HEAR AA HD PDA HD DD D EE ERE RE REE EER EE EE EE EE EE EE EE EE End of program DS51464B page 30 2004 Microchip Technology Inc Tutorial In this bit of code we used three variables named COUNT DVAR and DVAR2 These variables need to be defined in the template file in the UDATA section for uninitialized data There are already three variables in this section of the template file ours can be added at the end using the same format Each variable is an 8 bit variable so they only need to reserve 1 byte each FIGURE 3 14 TEMPLATE FILE ADD VARIABLES M MPLAB IDE Editor f452tmpo asm Variable definitions These variables are only needed if low priority interrupts are used More variables may be needed to store other special function registers used
79. d acl gege e e Deidda ue 68 7 7 Files Used by MPLAB PM3 cicscciysdosncsccstassvayeuatvdaonasulvacedad paiadiveastedsedeealyscnd 72 7 8 Upgrading the MPLAB PM3 Operating System 73 Chapter 8 Stand alone Reference lo ele 1O10 11O GE 75 8 2 MPLAB PM3 LCD and Eege deeege enkt mines 75 EE ee 76 8 4 Main Menu iii 76 8 5 COmmand Men dz oies Aad eh heated 78 Chapter 9 MPLAB PM3 Card Reference Ga IMMOGUCON EEN 83 9 2 MPLAB PMS Card NET 83 9 3 MPLAB PM3 Card Through MPLAB IDE ccccccceeeeseeeeeeeeeeeestteeeeeeeeees 83 9 4 MPLAB PM3 Card in Stand alone Mode ccccccceeeeeeeeeee eee eteeeteeeeeeeeees 93 Appendix A Hardware Specifications A l INtroduction EE 95 A 2 Connecting to a PC via the Serial Port ccccseeeesseeeeeeeeseesenetnseeeeeaees 95 A 3 Programmer Specifications sis 96 A 4 ICSP Hardware Specifications VV 97 A 5 Socket Module Specifications 100 DS51464B page iv 2004 Microchip Technology Inc Appendix B Troubleshooting GO Min ee tee LUS ne oe anie a nn te de ns encre rise 103 B 2 Troubleshooting Hardware cccccccccccccccceccceeceeceeeeeeeceeeeeeeeeeeeeeseeeeeeeeeees 103 B 3 Troubleshooting Operational Problems 104 BA Troubleshooting Software cccccecccccccccecccceeceeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeees 104 B 5 Common Problems esterbngeut neutre entendent 106 B 6 Error Messages PC iii 109 B 7 Error M
80. d MPLAB PM3 please make sure you have installed the hardware and software correctly If you still cannot establish communications between the PC and MPLAB PM3 refer to Appendix B Troubleshooting If you have been using another programmer e g PICSTART Plus the MPLAB PM3 menu may be unavailable From the Programmer menu select Programmer gt Select Programmer to bring up the Select Programmer dialog and choose MPLAB PM3 from the list The MPLAB PM3 menu will appear on the menu bar 2 5 6 Inserting a Device into the MPLAB PM3 If you are using a socket module insert the device to be programmed into the MPLAB PM3 socket Position pin one to be top justified in the socket Secure the device by pushing down the silver lever on the socket or closing the clamshell E DS51464B page 20 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 3 Tutorial 3 1 INTRODUCTION The tutorial in this chapter leads you through the steps involved in programming the PIC18F452 PlCmicro device using MPLAB IDE Project Wizard 3 2 BEFORE YOU BEGIN Before you can begin this tutorial you must 1 Install the MPLAB IDE software See Section 2 2 Installing MPLAB IDE Software 2 Install the MPLAB PM3 hardware See Section 2 3 Installing MPLAB PM3 Hardware 3 Make sure you have read and completed all the instructions in Section 2 4 Powering Up MPLAB PM3 and Section 2 5 Configuring MPLAB IDE
81. ding the project into program memory e Checking for a blank device non flash devices e Programming the device e Verifying the programming e Reading a device 4 5 1 Configuration Bits Dialog The Configuration Bits dialog opens when you select Configure gt Configuration Bits The type and number of configuration bits you see in this dialog will depend on the device you have selected You can also specify the configuration bit values in your source code Use the ___CONFIG directive in MPASM assembler to set the configuration bits for the device to be programmed Each time you rebuild your project or reload your hex file the configuration bits will be set according to the values from this directive If you do not set configuration bits in your source code then these bits will not be changed You can manually change them from their default values using the configuration bits dialog and they will be programmed into the device when you program the microcontroller A value set in the configuration bits dialog overrides any value set in the program Note Setting configuration bits here will not effect emulator or simulator operation To change the configuration bits settings 1 Make sure the Configuration Bits window is opened wide enough to view the Settings column Figure 4 1 FIGURE 4 1 CONFIGURATION BITS DIALOG W Configuration Bits Category Setting Oscillator LP Osc Switch Enable Enabled Power Up Timer Enabled
82. e Same as Programmer gt Blank Check All EES Read Reads the device Same as Programmer gt Read de Ci Program Programs the device Same as Programmer gt Program S Verify Verifies that the device was programmed properly Same as Programmer gt Verify Erase Flash Device Erase all memory on a Flash Device Same as Programmer gt Erase Flash Device Program Statistics Provides the number of programming attempts passed failed and total To clear the values in this display select Programmer gt Reset Program Statistics SQTP File Path Displays the serial quick turn programming SQTP file path 7 3 CONFIGURE MENU The Configure Menu is an MPLAB IDE menu used in conjunction with the MPLAB PM3 Programmer Menu Refer to the MPLAB IDE documentation for detailed information The Configure Menu consists of five dialog selections listed in Table 7 2 TABLE 7 2 CONFIGURE MENU Selection Description Select Device Select the device Configuration Bits Select values for the device configuration bits Setting these values will affect both debugger and programmer operation External Memory Select whether to use external memory or not Also specify external memory range Settings ID Memory Enter value into ID memory Enter default setting for the workspace debugger program loading hot keys and project DS51464B page 54 2004 Microch
83. e MPLAB IDE s program memory window for debugging and programming into other devices Program unique serialized ID numbers into your firmware using Serial Quick Turn Programming SQTPSM files Store environments on an MPLAB PM3 Card 2004 Microchip Technology Inc DS51464B page 7 MPLAB PM3 User s Guide 1 4 MPLAB PM3 SYSTEM COMPONENTS The MPLAB PM3 device programmer system consists of the following e MPLAB PM3 device programmer see Figure 1 1 e Module sockets Note A complete line of socket modules is available The socket modules may be ordered separately for the devices that will be programmed e RS 232 Interface cable to connect to any standard PC serial port e USB Interface cable to connect to any standard PC USB port e ICSP cable e Power supply e MPLAB IDE software an Integrated Development Environment including a text editor project manager and simulator for debugging Also included are the MPASM assembler MPLINK object linker and MPLIB object librarian FIGURE 1 1 MPLAB PM3 DEVICE PROGRAMMER 1 5 MPLAB PM3 CE COMPLIANCE The MPLAB PM3 device programmer is designed tested and certified to meet the Electromagnetic Compatibility requirements known as the CE compliance directives These standards set by the European Union EU countries include limiting radiated emission reducing susceptibility to radiated emission and reducing susceptibility to Electrostatic Discharge ESD DS51464B p
84. e connector to the ICSP socket on the MPLAB PM3 4 Connect the necessary cables to the header on your target board Refer to Table A 3 in Appendix A Hardware Specifications for cable pins colors and signals 5 Program the device See Section 4 5 Programming a Device Note For information on how to program a specific device using ICSP consult the programming specification for that device See the README for MPLAB PM3 for a list of programming specifications of supported devices Programming specifications may also be found on the Microchip web site at www microchip com DS51464B page 42 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 5 Using MPLAB PM3 in Stand alone Mode 5 1 INTRODUCTION This chapter describes how to use the MPLAB PM3 device programmer in stand alone mode The device programmer provides a graphical LCD interface that gives complete control over a programming session Topics covered in this chapter include e Getting Started in Stand alone Mode e Programming a Device 5 2 GETTING STARTED IN STAND ALONE MODE MPLAB PM3 operating in stand alone mode allows you to read program and verify a device without using a PC Stand alone mode is useful in situations where a PC may not be available or even required such as in the field or in a lab production environment 5 2 1 Installing a Socket Module See Section 2 3 3 Installing a Socket Module o
85. e original hex code from a file or a non protected device If you have an MPLAB ICE emulator connected to MPLAB IDE your code will be downloaded to the emulated program memory of the MPLAB ICE If you have a project open you will be asked if you want to close it before reading memory from a device Note If you keep your project open the Absolute Listing window and the Source Code window may not match the data you have read into the Program Memory window Symbols may not match the proper addresses in the Program Memory window After reading a device into the MPLAB IDE its data will appear in the Program Memory window You can modify the data then save it to a hex file by selecting Project gt Build Options gt Project See the MPLAB IDE documentation for more information 4 8 SPECIAL PROGRAMMING 4 8 1 SQTP Serial quick turn programming SQTP allows you to program a unique serial number into each device This number can be used as an entry code password or ID number Serialization is done by using a series of RETLW Return Literal W instructions with the serial number bytes as the literal data To serialize you must first generate a serialization file and then use that file to serialize locations in the device microcontroller 1 To generate an SQTP file select Programmer gt Settings gt click on the SQTP tab and fill in the dialog 2 To activate serialization select Programmer gt Load SQTP File and choose the file 3
86. econds PIC16F877 37 seconds PIC18F8720 24 seconds DS51464B page 102 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Appendix B Troubleshooting B 1 INTRODUCTION The troubleshooting information in this chapter can help you resolve typical problems or obstacles in programming microcontroller devices Topics covered in this appendix Troubleshooting Hardware Troubleshooting Operational Problems Troubleshooting Software Common Problems Error Messages PC Error Messages LCD Limitations B 2 TROUBLESHOOTING HARDWARE Some problems involving the hardware include e Communication Failure e Ensuring Proper Socket Module Contact e Socket Module Failure B 2 1 Communication Failure Appendix A Hardware Specifications gives the data for connecting the MPLAB PM3 Device Programmer to a communications port If communication fails check your communications port B 2 2 Ensuring Proper Socket Module Contact After changing a socket insert a blank device and do a blank check to ensure the socket is making proper contact A blank device will show erased An improperly seated module socket may cause a device to fail the Verify process with errors claiming that the bad data is all zeros 0000 B 2 3 Socket Module Failure If you can program a master chip and if you can read and try to program code protected chips but the chips fail the programming attempts then potential socket p
87. ed Sequential Start Value Hex Increment Hex Select this option to generate sequential numbers based on the starting value specified and incrementing each number by the amount specified Start Address Hex Number of Words Dec Enter the starting address in hex for the serial number Enter the size of the serial number Make sure a large enough serial number is specified for the number of parts planned to program using this file Number of Parts Dec Enter the number of parts to be programmed using this file Generate Opens the Save SQTP File As dialog DS51464B page 64 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference 7 5 4 Communications Tab To set the port for communications between the programmer and the PC select Programmer gt Settings and click on the Communications tab Communications between the programmer and the PC may be either over a serial connection or a USB connection Note Do not physically connect both The Windows COM port setup requires special attention The proper drivers must be installed and the port may need to be set up manually For additional information on the communication port setup refer to Section 2 3 1 Installing the Communications Cable Section 2 5 Configuring MPLAB IDE for Use with MPLAB PM3 and B 5 1 Failure to Establish Communication with Programmer 7 5 4 1 SERIAL COMMUNICATION To use R
88. ed the MPLAB PM3 device programmer select Programmer gt Enable Programmer The MPLAB PM3 toolbar will appear when the programmer is enabled Select View gt Program Memory and click on Opcode Hex at the bottom of the window see Figure 3 16 to view the hex code you ve just built You can resize or move the Program Memory window on your display You may wish to close the Build Results window FIGURE 3 16 VIEWING PROGRAM MEMORY E Program Memory Address 0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 0040 0080 ooco ooDpo OOEO ooFro 0100 Dpcode Hex EE 2004 Microchip Technology Inc DS51464B page 33 MPLAB PM3 User s Guide 3 13 PROGRAMMING THE DEVICE Now that you have your data in program memory you can program the device Make sure your PIC18F452 device is inserted in the appropriate socket on the MPLAB PM3 Then select Programmer gt Program The MPLAB IDE window will indicate the progress and when finished the Output window will display the results see Figure 3 17 FIGURE 3 17 PROGRAMMING RESULTS BE Build Version Control Find in Files MPLAB PM 3 PM3 Program Report 13 Jul 2004 16 09 59 Device Type PIC18F452 Program Succeeded 3 14 VERIFYING THE PROGRAMMING Select Programmer gt Verify to double check the programming in the device If any address locations on the device do not match program memory an error log will display the discr
89. ed to exercise the response of simulation to external signals Often the data is put into the form of a list of actions in a text file Stimulus may be asynchronous synchronous pin clocked and register Stopwatch A counter for measuring execution cycles 2004 Microchip Technology Inc DS51464B page 123 MPLAB PM3 User s Guide Symbol A symbol is a general purpose mechanism for describing the various pieces which comprise a program These pieces include function names variable names section names file names struct enum union tag names etc Symbols in MPLAB IDE refer mainly to variable names function names and assembly labels The value of a symbol after linking is its value in memory System Window Control The system window control is located in the upper left corner of windows and some dialogs Clicking on this control usually pops up a menu that has the items Minimize Maximize and Close Target Refers to user hardware Target Application Software residing on the target board Target Board The circuitry and programmable device that makes up the target application Target Processor The microcontroller device on the target application board Template Lines of text that you build for inserting into your files at a later time The MPLAB Editor stores templates in template files Tool Bar A row or column of icons that you can click on to execute MPLAB IDE functions Trace An emulat
90. egistration Recommended Reading The Microchip Web Site Development Systems Customer Change Notification Service Customer Support 2004 Microchip Technology Inc DS51464B page 1 MPLAB PM3 User s Guide DOCUMENT LAYOUT This document describes how to use MPLAB PM3 as a development tool to emulate and debug firmware on a target board The manual layout is as follows Chapter 1 MPLAB PM3 Overview Describes the MPLAB PM3 and how it works Chapter 2 Installing MPLAB PM3 Describes how to install MPLAB PM3 hardware and MPLAB software Explains how to set up the MPLAB IDE and MPLAB PM3 to work together and how to start MPLAB PM3 from MPLAB Chapter 3 Tutorial Contains several examples tutorials for programming calibration memory devices memory devices and other PICmicro MCU devices Chapter 4 Using MPLAB PM3 with the MPLAB IDE Provides step by step instructions on using MPLAB PM3 with the MPLAB IDE to program read and ver ify devices Chapter 5 Using MPLAB PM3 in Stand alone Mode Provides instructions for using the MPLAB PM3 in stand alone mode Chapter 6 Using the MPLAB PM3 Card Provides instructions for using the MPLAB PM3 Card Chapter 7 MPLAB PM3 MPLAB IDE Reference Describes the commands available through the MPLAB PM3 command line interface as well as error messages Chapter 8 Stand alone Reference Describes the commands available through the MPLAB PM3 LCD Chapter 9 MPLA
91. ennreerrenneeee 41 Reading Recommended 4 Readmesi sis n e AU ten nettes 4 Ree MAI RM EE 12 65 S Saving an Environment 49 Selecting a Device ccccceceecceceeeeeeeeeteeeeeeeeestneees 19 Selecting the Programmer 16 56 Serial Communications Cable 13 Serial Ports sic uinuteniaininenns animals 13 Socket Cleaning Methods 102 Socket Life Expectancy cccceeseeceeeeeeeeeteees 101 Socket Module lnStallin Gs tis strates dee mans 13 43 Software Installation MPLAB eee eee 11 SOW Risen ege Ee e gedeien 7 41 Stand alone Mode 9 43 Starting MPLAB IDE 16 Starting MPLAB PMB cceeeeseeeeeeeeeeeeeeeetee 19 T Transfer from MPLAB PM3 59 Transfer to MPLAB PM3 cccccccceceseseesseeeeeeeeees 59 Troubleshbooting 103 U USB Driver Installation 11 V AN B IWEN En ze ttt en Pat craie 57 Voltages EE 61 W Warranty Registration 4 Web Address 5 Windowed Device 39 DS51464B page 128 2004 Microchip Technology Inc Index NOTES 2004 Microchip Technology Inc DS51464B page 129 MICROCHIP WORLDWIDE SALES AND SERVICE AMERICAS Corporate Office 2355 West Chandler Blvd Chandler AZ 85224 6199 Tel 480 792 7200 Fax 480 792 7277 Technical Support http support microchip com
92. epancies If the bad data in the error log is 0000 try reseating the socket module 3 15 TUTORIAL SUMMARY By completing this tutorial you have performed the major steps for creating building and programming a simple project Tasks completed include Selecting the device the PIC18F452 Using the Project Wizard to create a project and using the wizard to e select the MPLAB IDE built in MPASM assembler and MPLINK linker language tools e add files for the project a template file for the device selected and a linker script to build it properly Writing some simple code to send a changing value out an I O port Building the project And finally programming the PIC18F452 device These are the essential steps for programming a device with the MPLAB IDE and the MPLAB PM3 DS51464B page 34 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 4 Using MPLAB PM3 with the MPLAB IDE 4 1 INTRODUCTION This chapter describes the main steps in programming and reading a device using the MPLAB PM3 device programmer Topics covered in this chapter include Before You Begin MPLAB PM3 Dialogs Setup for Programming a Device Programming a Device Verifying the Programming Reading a Device Special Programming 4 2 BEFORE YOU BEGIN Before using the MPLAB PM3 you must have performed the following initialization steps 1 Installed the MPLAB IDE software Section 2 2 Installing MPLAB IDE
93. er IDs Adjust Voltages Displays options for Adjust VDD Nominal Adjust VDD App and Adjust Vpp for Flash devices or Adjust Nominal Max Min and Vpp for EPROM devices Device Settings Sets up memory ranges and voltage specs SQTP and communication ports via the Programmer dialog Programmer options Program Read Verify Transfer to MPLAB PM3 and Transfer from MPLAB PM3 will be limited to these settings thereafter until reset MPLAB PM3 Card Displays a submenu of operations that pertain to the MPLAB PM3 card The MPLAB PM3 card function displays these options TABLE 9 2 MPLAB PM3 CARD FUNCTIONS Load an Environment Loads the Environment into the MPLAB PM3 programmer from the MPLAB PM3 card View an Environment The View an Environment option displays the contents and settings of an Environment You can only view the Environment using this option Card Properties Displays the card s byte capacity bytes free bytes used and byte cluster EE DS51464B page 94 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Appendix A Hardware Specifications A 1 INTRODUCTION This appendix describes MPLAB PM3 to PC connections programmer hardware and socket module hardware Contents of this appendix includes Connecting to a PC via the Serial Port e Programmer Specifications e ICSP Hardware Specifications e Socket Module Specifications A
94. er accessible after the ENDM macro is encountered Logic Probes Up to 14 logic probes can be connected to some Microchip emulators The logic probes provide external trace inputs trigger output signal 5V and a common ground Machine Code The representation of a computer program that is actually read and interpreted by the processor A program in binary machine code consists of a sequence of machine instructions possibly interspersed with data The collection of all possible instructions for a particular processor is known as its instruction set Machine Language A set of instructions for a specific central processing unit designed to be usable by a processor without being translated Macro Macroinstruction An instruction that represents a sequence of instructions in abbreviated form Macro Directives Directives that control the execution and data allocation within macro body definitions Make Project A command that rebuilds an application re compiling only those source files that have changed since the last complete compilation MCU Microcontroller Unit An abbreviation for microcontroller Also uC Message Text displayed to alert you to potential problems in language tool operation A message will not stop operation Microcontroller A highly integrated chip that contains a CPU RAM program memory I O ports and timers Microcontroller Mode One of the possible program memory configurations of the PIC
95. er listing Business of Microchip Product selector and ordering guides latest Microchip press releases listing of seminars and events listings of Microchip sales offices distributors and factory representatives 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 MPASM and MPLAB ASM30 assemblers MPLINK and MPLAB LINK30 object linkers and MPLIB and MPLAB LIB30 object librarians Emulators The latest information on Microchip in circuit emulators This includes the MPLAB ICE 2000 and MPLAB ICE 4000 In Circuit Debuggers The latest information on the Microchip in circuit debugger MPLAB ICD 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 SIM simulator MPLAB IDE Project Manager
96. es in MPLAB IDE and in the Settings dialog and Configuration Bits dialog If there are more errors than expected and those errors claim that the bad data is all zeros 0000 the socket module might not be seated properly Remove and reseat the socket module It is always a good practice to insert a known blank device and do a blank check whenever the socket module is changed When the programming is finished Programming Verification completed successfully will be displayed in the Output window If the programming failed an error message will appear showing the good expected data and the bad actual data for each address it attempted to program 2004 Microchip Technology Inc DS51464B page 57 MPLAB PM3 User s Guide 7 4 6 Read To copy the firmware from a programmed PIC MCU device into an unprogrammed device read the programmed firmware program memory configuration bits etc into MPLAB IDE then program the new device based on this information To read the entire device i e all of program memory configuration bits etc click Programmer gt Read To read selectively e g part of program memory only configuration bits select Programmer gt Settings gt Memory Ranges to display the Memory Ranges dialog Select the options to be read then click OK in this dialog Areas that are grayed out are not available on the device Then select Programmer gt Read The memory area corresponding to the checked boxes will
97. essages LCD ou ceeccccsscccccecccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeess 110 B8 Limitations alar a eet eas 112 Glossary E 113 A6 LD a e aa aE aa eaa A EE a 127 Worldwide Sales and Service nee 130 2004 Microchip Technology Inc DS51464B page v MPLAB PM3 User s Guide NOTES DS51464B page vi 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP 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 on line help Select the Help menu and then Topics to open a list of available on line help files INTRODUCTION This chapter contains general information that will be useful to know before using the MPLAB PM3 Items discussed in this chapter include Document Layout Conventions Used in this Guide Warranty R
98. essential sections for any source file and contain information that will help you write and organize your code These files are the MPLAB IDE folder which by default is in the Program Files folder on the PC There is one template file for each Microchip PlCmicro and dsPIC device Scroll to the Program Files folder on Drive C open it and scroll down to the Microchip folder Open the Microchip folder and scroll down to the MPASM Suite directory Open the MPASM Suite directory and get a template from the Object folder in the Template folder and choose the file named 452tmpo asm If MPLAB IDE is installed in the default location the full path to the file will be C Program Files Microchip MPASM Suite TEMPLATE Object f452tmpo asm FIGURE 3 6 PROJECT WIZARD SELECT TEMPLATE FILE Project Wizard Step Four E Add any existing files to your project e f252tmpo asm C Program Files Microchip MPA f258tmpo asm f442tmpo asm f448tmpo asm f458tmpo asm f505tempo asm f508tempo asm f509tempo asm f54tempo asm f57tempo asm lt gt f59tempo asm Check the box to copy the file to the gt project directory Press Add gt gt to move the file name to the right panel and click on the check box at the start of the line with the file name to enable this file to be copied to our project directory DS51464B page 26 2004 Microchip Technology Inc Tutorial Next add the second file for our projec
99. evice Manager button If necessary expand the Ports selection by clicking the sign next to it Double click the I O port to which the programmer is connected This is where you can set flow control to Hardware To turn off FIFO click the Port Settings tab and click the Advanced button Uncheck the Use FIFO buffers checkbox and click OK Reboot the PC to implement the change B 5 3 MPLAB PM3 Card Option Not Available on Programmer Menu In order for the MPLAB PM3 Card options to be available on the MPLAB IDE Program mer menu the MPLAB PM3 Card must be inserted in the MPLAB PM3 Programmer the programmer must be powered on and the programmer must be enabled through MPLAB IDE If the card is not supported the MPLAB PM3 Card will not appear on the Programmer menu See the Readme for MPLAB PM3 for a list of recommended cards DS51464A1 page 108 2004 Microchip Technology Inc Troubleshooting B 6 ERROR MESSAGES PC These are some error messages you may receive e Could Not Open the Communications Port e USB Communication Could Not Be Established e Device is Code Protected e Parity Error Found in Program Memory e Program Memory Contains Code Protected Data e Invalid Checksum B 6 1 Could Not Open the Communications Port If the communications port cannot be opened it is because either another application has opened the port or the port does not exist Make sure the port number is valid and that no other applicati
100. evice and do a blank check whenever the socket module is changed Note A verify is automatically done after a program command DS51464B page 40 2004 Microchip Technology Inc Using MPLAB PM3 with the MPLAB IDE 4 7 READING A DEVICE To copy the firmware from a programmed device into an unprogrammed device read the programmed firmware program memory configuration bits etc into MPLAB IDE then program the new device based on this information To read the entire device i e all of program memory configuration bits etc click Programmer gt Read To read selectively e g part of program memory only configuration bits select Programmer gt Settings gt Memory Ranges to display the Memory Ranges dialog Select the options to be read then click OK in this dialog Areas that are grayed out are not available on the device Then select Programmer gt Read The memory area corresponding to the checked boxes will be read Once the Read is complete the Program Memory window will display the data read from the device master You can save that data as a hex file File gt Export insert anew device into MPLAB PM3 to copy that same data into a new device or modify the data in MPLAB IDE before you save to a hex file or program another device If you attempt to read a code protected device you will get a warning indicating that the device is code protected and that the program memory may be invalid If this happens obtain th
101. files and windows available to be selected from MPLAB IDE main pull down menus Nesting Depth The maximum level to which macros can include other macros Node MPLAB IDE project component Non Real Time Refers to the processor at a breakpoint or executing single step instructions or MPLAB IDE being run in simulator mode Non Volatile Storage A storage device whose contents are preserved when its power is off NOP No Operation An instruction that has no effect when executed except to advance the program counter Object Code The machine code generated by an assembler or compiler Object File A file containing machine code and possibly debug information It may be immediately executable or it may be relocatable requiring linking with other object files e g libraries to produce a complete executable program Object File Directives Directives that are used only when creating an object file Off Chip Memory Off chip memory refers to the memory selection option for the PIC17CXXX or PIC18CXXX device where memory may reside on the target board or where all program memory may be supplied by the Emulator The Memory tab accessed from Options gt Development Mode provides the Off Chip Memory selection dialog box Opcodes Operational Codes See Mnemonics Operators Symbols like the plus sign and the minus sign that are used when forming well defined expressions Each operator has an assigned precedence that is
102. for Use with MPLAB PM3 4 Make sure that your PC and MPLAB PM3 are communicating and the MPLAB PM3 menu appears on the MPLAB menu before you begin this tutorial 3 3 PROGRAMMING OVERVIEW Programming a mid range PlCmicro device involves the following steps Selecting the Device Creating the Project Setting Up Language Tools Naming the Project Adding Files to the Project Building the Initial Project Creating Code Building the Project Enabling the MPLAB PM3 Programming the Device Verifying the Programming 2004 Microchip Technology Inc DS51464B page 21 MPLAB PM3 User s Guide 3 4 SELECTING THE DEVICE If you have not already selected the device in MPLAB IDE do so by selecting Configure gt Select Device to open the Select Device dialog Figure 3 1 and select the PIC18F452 device Under Microchip Programmer Tool Support verify that this device is supported green light by the MPLAB PM3 Click OK FIGURE 3 1 SELECTING THE DEVICE Select Device Device PIC18F452 v Microchip Programmer Tool Support PICSTART Plus MPLABICD 2 PRO MATE II Pickit1 MPLAB PM3 Microchip Debugger Tool Support MPLAB SIM MPLABICD 2 MPLAB ICE 2000 MPLAB ICE 4000 rcuisxc1 pmrisvwico pcm1sxHo Cancel Help E DS51464B page 22 2004 Microchip Technology Inc Tutorial 3 5 CREATING THE PROJECT In order to program the device you ll need a hex file In this example we ll create
103. gle instructions MPLAB IDE will execute all assembly level instructions generated by the line of the high level C statement Skew The information associated with the execution of an instruction appears on the processor bus at different times For example the executed Opcodes appears on the bus as a fetch during the execution of the previous instruction the source data address and value and the destination data address appear when the Opcodes is actually executed and the destination data value appears when the next instruction is executed The trace buffer captures the information that is on the bus at one instance Therefore one trace buffer entry will contain execution information for three instructions The number of captured cycles from one piece of information to another for a single instruction execution is referred to as the skew EEE DS51464B page 122 2004 Microchip Technology Inc Glossary Skid When a hardware breakpoint is used to halt the processor one or more additional instructions may be executed before the processor halts The number of extra instructions executed after the intended breakpoint is referred to as the skid Source Code The form in which a computer program is written by the programmer Source code is written in some formal programming language which can be translated into or machine code or executed by an interpreter Source File An ASCII text file containing source code Special Function Reg
104. gram Verify Device and press lt Enter gt This command programs the device in the socket module with the contents of the internal memory of the device programmer image For non Flash devices the device programmer checks to see if the installed microcontroller device is blank If the device is not blank the device programmer asks if you want to continue Answer Yes to continue Answer No to return to the Command menu The device programmer programs the contents of its memory into the microcontroller device loaded in the socket module If a hex file is not loaded into the device program mer an event message is displayed Valid image not present Please download an image or use a master device before continuing You must have an image in the device programmer in order to program a device To load a hex file into the MPLAB PM3 you must connect the device programmer to a PC or read from a master device See Section 5 2 2 Downloading a Hex File into MPLAB PM3 Memory After programming a device without errors the device programmer performs a check to verify the data programmed into the device and returns the results of the verification For the installed device the device programmer performs the verification at the VDD Minimum and VDD Maximum voltages for non Flash devices or VDD Nominal for Flash devices The device programmer reports programming errors and verify errors according to where the error occurred Errors
105. how up correctly use the browse button to set them to the proper files in the MPLAB IDE subfolders FIGURE 3 4 PROJECT WIZARD SELECT LANGUAGE TOOLS Project Wizard Step Two Select a language toolsuite Active Toolsuite Microchip MPASM Toolsuite Toolsuite Contents MPASM Assembler mpasmwin exe MPLINK Object Linker mplink exe MPLIB Librarian mplib exe Location C Program Files Microchip MPASM Suite MPAsmiwin exe Help My Suite Isn t Listed C Show all installed toolsuites When you are finished click Next gt DS51464B page 24 2004 Microchip Technology Inc Tutorial 3 7 NAMING THE PROJECT Step Three of the wizard allows you to name the project and put it into a folder This sample project will be called 18F452Proj Using the Browse button place the project in a folder on the C drive named My Projects Click Next gt FIGURE 3 5 PROJECT WIZARD NAME PROJECT Project Wizard Step Three Name your project Project Name 18F452Proi Project Directory C My Projects lt Back Next gt Cancel Help 2004 Microchip Technology Inc DS51464B page 25 MPLAB PM3 User s Guide 3 8 ADDING FILES TO THE PROJECT Step Four of the Project Wizard allows file selection for the project A source file has not yet been selected so we will use an MPLAB IDE template file The template files are simple files that can be used to start a project They have the
106. ications e MPLAB PM3 Socket Module Insertion e Compatibility with MPLAB PRO MATE II Socket Modules e Socket Life Expectancy and Cleaning Method e Typical Programming Times A 5 1 Socket Specifications TABLE A 9 SOCKET VpD VPP OPERATING CHARACTERISTICS Parameter Value VPP Range 9 14V in 12 5 mV steps IPP Range 150 mA max VDD Range 2 5 5V in 125 mV steps IDD Range 500 mA max Protection Overcurrent Shutdown TABLE A 10 SOCKET I O OPERATING CHARACTERISTICS Parameter Conditions Vcc Min Max Vcc Supply Voltage Range 2 00 5 50 VIH Minimum High level Input Voltage 2 0 1 50 3 0 2 10 4 5 3 15 5 5 3 85 VIL Maximum Low level Input Voltage 2 0 0 50 3 0 0 90 4 5 1 35 5 5 1 65 VOH Minimum High level Output Voltage 2 0 1 90 loH 50 pA 3 0 2 90 VoL Maximum Low level Output Voltage 2 0 0 10 loL 50 pA 3 0 0 10 4 5 0 10 IOH High level Output Current 1 65 4mA 2 3 8 mA 3 0 24 mA 4 5 32 mA IOL Low level Output Current 1 65 4 mA 2 3 8 mA 3 0 24 mA 4 5 32 mA DS51464B page 100 2004 Microchip Technology Inc Hardware Specifications A 5 2 MPLAB PM3 Socket Module Insertion The MPLAB PM3 utilizes socket modules to accommodate various Microchip devices MPLAB PM3 socket modules have two interface connectors on the programmer Figure A 4 FIGURE A 4 SOCKET MODULE ALIGNMENT Socket Module SE
107. ific device It contains all the necessary information to recreate the current programming state including a binary image of the device s memory data links to an optional SQTP file specific part information and optional miscellaneous files When an Environment is saved a directory is created on the removable MPLAB PM3 card an SD MMC memory card on the selected drive on a PC or another storage device The name of the directory created is the same as the name given to the Environment file Figure 6 1 illustrates the layout of an Environment As an introduction to environments this covers e Creating an MPLAB PM3 Environment on the MPLAB PM3 card e Loading an MPLAB PM3 Environment into the MPLAB PM3 programmer There are additional operations such as viewing copying and deleting Environments Refer to Chapter 9 MPLAB PM3 Card Reference for specific instructions for each of these operations FIGURE 6 1 LAYOUT OF AN ENVIRONMENT Environment PM3 File pm3 Programmer Settings r r t Device Optional Misc files Memory SQTP file txt Image num hex etc bin An Environment is the encapsulation of the environment file pm3 the binary bin file bin optional SQTP num file num and miscellaneous files The PM3 file pm3 is a part of the Environment It is the high level file that contains the MPLAB PM3 s settings name of the bin fi
108. ifies that all program memory bits are set to 1 and that the configuration bits match the settings displayed in the Configuration Bits dialog Erase all memory on a Flash device Reset Program Statistics Transfer to MPLAB PM3 Resets the counters in the Program Statistics area Transfers the image of the MPLAB IDE s memory to the programmer but does not program the device This is useful for stand alone operation Transfer from MPLAB PM3 Transfers the image of the programmer s memory to MPLAB IDE but does not read the device memory This is useful for reading back the memory after working in stand alone mode Establish Communications Resets the programmer hardware and reestablishes communications Use this option if power has been disconnected from the programmer This option does not reset programming information in the Program Memory window configuration bits or IDs Load SQTP File Allows the user to select a previously defined SQTP file Refer to Using SQTP About Displays the OS Suite version of the MPLAB PM3 Environment Displays a submenu of operations the can be performed on the environment See Chapter 9 MPLAB PM3 Card Reference for more information on the environment operations MPLAB PM3 Card Displays a submenu of operations that pertain to the MPLAB PM3 card See Chapter 9 MPLAB PM3 Card Reference for more information on the MPLAB PM3 card operations
109. in damage may be the cause of the problem Contact your Microchip Field Application Engineer FAE if your socket module is not operating properly 2004 Microchip Technology Inc DS51464A1 page 103 MPLAB PM3 User s Guide B 3 TROUBLESHOOTING OPERATIONAL PROBLEMS Problems involving the basic operation of the MPLAB PM3 include e Reading a Device Master in Stand alone Mode e Device Pin Damage B 3 1 Reading a Device Master in Stand alone Mode When reading a device master in stand alone mode the Device Programmer asks the question Code Protect Parts being programmed Answer Yes to code protect the parts that you will be programming B 3 2 Device Pin Damage On the smaller device packages SSOP PQFP and SOIC the pins can bend easily and cause problems in programming the devices B 4 TROUBLESHOOTING SOFTWARE Some problems involving the software include e Establishing Communication with MPLAB PM3 e No MPLAB PM3 Menu Visible e Default Serial Port e Operating System Update Needed B 4 1 Establishing Communication with MPLAB PM3 MPLAB IDE attempts to establish communication with the MPLAB PM3 when you enable the programmer If communication cannot be established no programming can occur A dialog box appears if the attempt to establish communication fails If you encounter communications problems review the following information B 4 1 1 SERIAL PORT COMMUNICATIONS 1 Windows 98 and Windows 2000 require speci
110. including links to the device s memory file optional SQTP file and specific part information EPROM Erasable Programmable Read Only Memory A programmable read only memory that can be erased usually by exposure to ultraviolet radiation Event A description of a bus cycle which may include address data pass count external input cycle type fetch R W and time stamp Events are used to describe triggers breakpoints and interrupts Export Send data out of the MPLAB IDE in a standardized format Extended Microcontroller Mode In extended microcontroller mode on chip program memory as well as external memory is available Execution automatically switches to external if the program memory address is greater than the internal memory space of the PIC17CXXX or PIC18CXXX device External Label A label that has external linkage External Linkage A function or variable has external linkage if it can be referenced from outside the module in which it is defined External Symbol A symbol for an identifier which has external linkage This may be a reference or a definition External Symbol Resolution A process performed by the linker in which external symbol definitions from all input modules are collected in an attempt to resolve all external symbol references Any external symbol references which do not have a corresponding definition cause a linker error to be reported 2004 Microchip Technology Inc DS51464B page 115
111. ip Technology Inc MPLAB PM3 MPLAB IDE Reference MPLAB PM3 PROGRAMMER MENU Once the MPLAB PM3 programmer is selected the full programmer menu displays see Table 7 3 The programmer must be enabled to make additional options available Some of the MPLAB PM3 options are accessible through the MPLAB PM3 Toolbar TABLE 7 3 MPLAB PM3 MENU Selection Description Select Programmer Lists the available programmers Enable Programmer Enables the programmer Disable Programmer Disables the programmer Program Transfers the hex data file to the programmer and programs the device Selective programming e g part of program memory or only configuration bits can be configured with the Programmer Settings option below Verify Verifies that the device was programmed properly Read Blank Check All Reads the device content Selective read e g part of program memory only configuration bits of the device can be done by setting up Settings below Checks that the device is completely blank all bits are set to a 1 This will also check that all configuration bits are set to the default value Blank Check OTP Erase Flash Device This function is intended for use with OTP devices that come with factory programmed configuration bits Before using this function set the displayed configuration bits to match the factory programmed settings The function ver
112. is installed SSS SSS SSS SS eS DS51464B page 62 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference 7 5 2 1 CHANGING VOLTAGE SETTINGS Change voltage settings only if the application runs at the extreme voltage operating range Most users will never need to change the default voltage settings e Flash Devices VDD APP is the voltage that a Flash device will be verified e Non Flash Devices VDD MAX and VDD MIN are the voltages at which programmed microcontroller devices will be verified e VDD NOM is the voltage at which the device will be programmed e VPP is the voltage at which the device will enter programming mode Select Programmer gt Settings and click on the Voltages tab to display the current voltage settings To change a voltage select the desired VDD minimum nominal maximum or VPP voltage value from the list next to each setting Note The voltage range and default voltage setting may be different for each microcontroller device type Refer to the device programming specification for voltage values for each device TABLE 7 8 VOLTAGE SETTINGS Voltage Selection Default Voltage VDD APP 2 00 5 5 5 00 VDD MIN 2 00 5 5 3 00 VDD MAX 2 00 5 5 5 50 VDD NOM 2 00 5 5 5 00 VPP 12 5 13 5 13 25 7 5 2 2 USING LOW VOLTAGE PROGRAM The Low Voltage Program checkbox under Voltages functions as follows Enabled only when a Flash de
113. isters The portion of data memory RAM dedicated to registers that control I O processor functions I O status timers or other modes or peripherals SQTP See Serialized Quick Turn Programming Stack Hardware Locations in PlCmicro microcontroller where the return address is stored when a function call is made Stack Software Memory used by an application for storing return addresses function parameters and local variables This memory is typically managed by the compiler when developing code in a high level language Static RAM or SRAM Static Random Access Memory Program memory you can Read Write on the target board that does not need refreshing frequently Status Bar The Status Bar is located on the bottom of the MPLAB IDE window and indicates such current information as cursor position development mode and device and active tool bar Step Into This command is the same as Single Step Step Into as opposed to Step Over follows a CALL instruction into a subroutine Step Over Step Over allows you to debug code without stepping into subroutines When stepping over a CALL instruction the next breakpoint will be set at the instruction after the CALL If for some reason the subroutine gets into an endless loop or does not return properly the next breakpoint will never be reached The Step Over command is the same as Single Step except for its handling of CALL instructions Stimulus Input to the simulator i e data generat
114. l appear in the Output window if an upgrade is found An upgrade for your MPLAB PM3 has been detected and is being downloaded now If Automatic Update is disabled the following message will appear in a message box with Yes and No options An upgrade for your MPLAB PM3 has been detected Would you like to upgrade now Select Yes to update or No not to allow the update When updating the operating system the MPLAB PM3 may click or beep a couple times while MPLAB IDE is updating the programmer Downloading xx to MPLAB PM3 nn Completed is displayed and continually updated in the bottom of the output window where xx is either the BIOS Operating System or Database and nn is a number between 0 and 100 Downloading Now is displayed on the MPLAB PM3 LCD along with an activity indicator in the top right corner of the LCD Downloading may take a couple of minutes When the upgrade is complete the Download Complete message will display in the output window The MPLAB PM3 programmer is now ready to use The updated version of the operating system is in the MPLAB directory The latest version of the MPLAB IDE which contains the latest MPLAB PM3 operating system can be obtained from our web site at www microchip com Click Development Tools and find MPLAB PM3 listed under Programmers Near the bottom of the MPLAB PM3 page find the latest operating system update KEE EE 2004 Microchip Technology Inc DS51464B
115. le and name of the SQTP file The device s image binary file is the data that should be programmed into the device It is the same continuous data chunk that is sent between MPLAB IDE and MPLAB PM3 during a standard operation Error detection mechanisms are also attached 2004 Microchip Technology Inc Using the MPLAB PM3 Card 6 2 1 Creating an MPLAB PM3 Environment on the MPLAB PM3 Card An Environment can be created in MPLAB IDE and saved to the MPLAB PM3 card your hard drive or other storage device Multiple Environments can be created each with it s unique name and settings When an Environment is created and saved the environment file and all associated files are saved into the same folder To create and save an MPLAB PM3 Environment on the MPLAB PM3 card using MPLAB IDE 1 Open a workspace or import a hex file into MPLAB IDE Refer to the MPLAB IDE online help for additional information 2 If the MPLAB PM3 programmer is not already enabled select Programmer gt Enable Programmer to enable the programmer 3 Select Configure gt Select Device to open the Select Device dialog Select the device for which you wish to create an Environment See Section 2 5 4 Selecting a Device in MPLAB IDE for additional information 4 Select Programmer gt Settings to configure the MPLAB PM3 programmer s settings such as the memory ranges voltages or SQTP See Section 7 5 Programmer Settings for additional inf
116. n field 5 Click Copy to perform the operation then click Close A message displays in the Output window confirming the environment was copied When an Environment is copied the Environment file and any other associated files are copied A folder of the same name as the Environment file is created in the destination directory and the associated files are placed in the folder 2004 Microchip Technology Inc DS51464B page 87 MPLAB PM3 User s Guide 9 3 1 3 VIEW Use this option to view an Environment before loading copying or other functions Select Programmer gt Environment gt View to open the View Environment window Figure 9 7 Use this dialog to view or load environments FIGURE 9 7 1 Select the Environment pm3 you wish to view and click OK You may need to expand the directories to display the file The system closes the View Environment window and displays the selected Environment see example in Figure 9 8 FIGURE 9 8 VIEW ENVIRONMENT WINDOW View Environment A DCH Di E E Ro Oo Rs MPLAB PM3 CARD E pici8f452 pic18f452 pm3 EXAMPLE OF VIEWING AN ENVIRONMENT pic118f452 Description Environment for PIC18F452 FIELD CONTENTS Device PIC18F452 Memory File pic18F452 bin Checksum 82C9 Program Memory Start Address 0 Program Memory End Address 7FFF Program Memory Checked Configuration Memory Checked ID Memory Checked EEPROM Memory Checked Calibration Mem
117. n the d 15 P festures of the assembler and linker x 16 17 H Refer to the PIC1SFXX2 Data Sheet for additional information on the 18 P architecture and instruction set 19 lt 20 AAA AAA AAA AAA AA AH AH A D DD DD HD AA 21 22 H Filename 23 Date 24 File Version sel gt Scroll down to the bottom of the file The code in the first part of the file is for more advanced functions such as setting up interrupts and configuration bits in a final application These details can be ignored at this point with focus on writing the code The new code will be placed in the file at the point after the symbol Main is defined FIGURE 3 12 TEMPLATE FILE MAIN E MPLAB IDE Editor 452tmpo asm SH eee eee eee ee ee ee ee ee ee ee ee ee ee ee EE Start of main program The main program code is placed here Main main code goes here 5 AAA AAA HA ERA R ARERR AR EE ERE AERA REE EERE EEE D D EE EE EE AREER EEE End of program END 2004 Microchip Technology Inc DS51464B page 29 MPLAB PM3 User s Guide When any source file is opened you are automatically in the editor Type in this code Main clrf WREG movwf PORTC clear PORTC movwf TRISC configure PORTC as all outputs Init clr COUNT IncCount incf COUNT mov COUNT W movwf PORTC display COUNT on PORTC callDelay goto IncCount infinite loop Delay movlw 0x40 set outer delay loop movwf DVAR2 Del
118. nformation 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 WAR RANTIES 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 s products as critical components in life support systems is not authorized except with express written approval by Microchip No licenses are conveyed implicitly or otherwise under any Microchip intellectual property rights QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV ISO TS 16949 2002 Trademarks The Microchip name and logo the Microchip logo Accuron dsPIC KEELOQ microID MPLAB PIC PICmicro PICSTART PRO MATE PowerSmart rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U S A and other countries AmpLab FilterLab Migratable Memory MXDEV MXLAB PICMASTER 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 dsPICDEM dsPICDEM net dsPICworks EC
119. ng errors and verify errors according to where the error occurred The first error is reported for program configuration bits EEPROM data memory and ID locations After programming the device programmer momentarily displays the checksum DS51464B page 44 2004 Microchip Technology Inc Using MPLAB PM3 in Stand alone Mode 5 3 2 Verify Device When you select Verify Device the device programmer compares the contents of its image to the contents of the programmed microcontroller device connected to the programmer If the data is correct Passed and the checksum will display on the LCD The device programmer performs the verification at the VDD Minimum and VDD Maximum voltages and at VDD App for Flash devices The device programmer reports errors according to which part of the device failed 5 3 3 Read Device If you want to copy firmware from a programmed device into an unprogrammed device you can read the programmed firmware into MPLAB PM3 memory then program the new device based on this information Select Read Device to copy the contents of the device connected to the programmer into the internal memory of the device program mer If the device is code protected a code protection message will be displayed prior to the read Answer Yes to continue Answer No to return to the Command menu The device programmer will ask the question Code Protect All Answer Yes to code protect the parts that you will be programming C
120. nications with the host PC via an RS 232 9 pin D type connector or a USB connector See Figure 2 1 for communication port locations MPLAB PM3 is supplied with two 6 foot data cables one with DB 9 connectors and one with USB connectors All lines on the serial cable are wired straight through The serial cable is NOT a null modem cable FIGURE 2 1 BACK VIEW OF MPLAB PM3 Power On Power Off Secure Digital USB Port Serial Port Multi Media Card Port Power Input OWO E RS 232 2 3 1 1 FOR USB COMMUNICATIONS Connect one end of the USB cable to a USB port on your PC e Connect the cable from the PC USB port to the corresponding USB connector on the back of the MPLAB PM3 Note If you are using USB and a New Hardware Detected notice appears on your PC you must follow the directions on installing the proper driver or your MPLAB PM3 will not work DS51464B page 12 2004 Microchip Technology Inc Installing MPLAB PM3 2 3 1 2 FOR RS 232 COMMUNICATIONS IMPORTANT Set the COM port FIFO buffers off and the Flow Control to Hardware You will need to reboot your PC for these settings to take effect See Section B 5 2 5 Manually Setting Up The Port for more information Connect one end of the RS 232 cable to an available COM port on your PC Check your PC setup to see which communications port is available
121. o view the versions The versions for MPLAB PM3 related programs is listed 2004 Microchip Technology Inc DS51464B page 77 MPLAB PM3 User s Guide 8 5 COMMAND MENU After a device is selected the device programmer displays the Command menu e Program Verify Device e Verify Device e All Functions The functions on the Command menu allow you to perform the basic user tasks for programming a microcontroller device Pressing lt ESC gt repeatedly will return you to the Main menu 8 5 1 Program Verify Device The Program Verify Device option erases if Flash device programs and verifies the device see Section 8 5 3 8 Device Settings 8 5 2 Verify Device The Verify Device option verifies that the device was programmed properly 8 5 3 All Functions The All Functions option displays a submenu with the selections listed in Table 8 1 TABLE 8 1 ALL FUNCTIONS MENU Selection Description Read Device Reads the device content Selective read e g part of program memory only configuration bits of the device can be done by setting up Settings below Program Verify Device Programs and verifies the device Verify Device Verifies that the device was programmed properly Blank Check Device Checks that the device is completely blank all bits are set to a 1 This will also check that all configuration bits are set to a 1 unprogrammed state Erase Device Erases the device in
122. ocedure is discussed next e Insert the MPLAB IDE CD into the CD ROM drive e Follow the on screen instructions to install the MPLAB software 2 2 2 USB Driver Installation Do not allow the Windows OS to pick a USB driver Follow the procedure specified in Section 2 2 Installing MPLAB IDE Software Install MPLAB IDE first The USB driver installation instructions will pop up at the end of MPLAB IDE installation Follow those instructions to install the USB driver The instructions are also in the MPLAB IDE installation directory under Driversnn pm3_usb ddpm3nn htm where nn is the Windows OS version 2004 Microchip Technology Inc DS51464B page 11 MPLAB PM3 User s Guide 2 3 INSTALLING MPLAB PM3 HARDWARE IMPORTANT Do not allow the Windows OS to pick a USB driver Follow the procedure specified in Section 2 2 2 USB Driver Installation The MPLAB PM3 hardware is simple to set up e If you are using MPLAB IDE Attach the communications cable Connect the power supply to the MPLAB PM3 Install the socket module or attach the ICSP cable e If you are using MPLAB PM3 in stand alone Connect the power supply to the MPLAB PM3 Install the socket module or attach the ICSP cable If you are using the MPLAB PM3 Card in the MPLAB PM3 Insert the MPLAB PM3 Card into the SD MMC port on the back of the programmer 2 3 1 Installing the Communications Cable MPLAB PM3 provides commu
123. ode protection will remain effective until a new device is read Answer No to program devices exactly as read After reading a device the device programmer displays a checksum 2004 Microchip Technology Inc DS51464B page 45 MPLAB PM3 User s Guide NOTES DS51464B page 46 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 6 Using the MPLAB PM3 Card 6 1 INTRODUCTION This chapter describes the MPLAB PM3 card functions and introduces the concept of an Environment The MPLAB PM3 card is a multimedia card stamp sized flash memory card that weighs approximately 2 grams It provides e portable means to store and transfer information e fast copy download e high storage capacity e non volatile solid state data is not lost when power is turned off e write protect switch on the card casing for SD cards only Using the MPLAB PM3 card allows you to store information onto the MMC card send it to a manufacturer have them place it in their MPLAB PM3 and program Microchip microcontrollers without ever touching a PC Topics covered in this chapter include e MPLAB PM3 Environment e MPLAB PM3 Card 2004 Microchip Technology Inc DS51464B page 47 MPLAB PM3 User s Guide 6 2 DS51464B page 48 MPLAB PM3 ENVIRONMENT The MPLAB PM3 device programmer uses a new concept called an MPLAB PM3 Environment An Environment is a snapshot of the current programming settings for a spec
124. ogy Inc DS51464A1 page 107 MPLAB PM3 User s Guide B 5 2 4 THIRD PARTY COMMUNICATIONS DRIVERS The programmers are designed to run with the drivers shipped with the Windows operating system Third party drivers may or may not work Check your SYSTEM INI file Under OPTIONS you should have a line that reads COMM DRV COMM DRV If this line reads differently you are using a third party driver B 5 2 5 MANUALLY SETTING UP THE PORT On some systems the programmer is unable to set up the communications port It must be set up manually On Windows 98 ME select Settings gt Control Panel from the Start menu Select System and click on the Device Manager tab Expand the Ports selection and double click on the port you are trying to use Click the Port Settings tab and select 57600 baud 8 data bits no parity 1 stop bit and hardware flow control Click Advanced Uncheck the Use FIFO buffers checkbox Some systems have a problem with this Reboot the PC to implement the change On Windows NT select Settings gt Control Panel from the Start menu Select System and double click on Ports Click on a COM port from the list and then click Settings In the Settings dialog select 57600 baud 8 data bits no parity 1 stop bit and hardware flow control Click Advanced and uncheck the Use FIFO buffers checkbox Reboot the PC to implement the change On Windows 2000 XP click the System Icon Click the Hardware tab and click the D
125. ogy Inc DS51464B page 59 MPLAB PM3 User s Guide 7 5 PROGRAMMER SETTINGS Select Programmer gt Settings to display the Programmer Settings dialog e Memory Ranges Tab e Voltages Tab SQTP Tab e Communications Tab e Configuration Tab 7 5 1 Memory Ranges Tab Select Programmer gt Settings and click on the Memory Ranges tab to select device memory areas for programming see Figure 7 3 and Table 7 4 FIGURE 7 3 MEMORY RANGES TAB P rogrammer Communications Configuration Memory Ranges Voltages SOTP Program memory start address E hex hex Program memory end address atte Reset Addresses M Program Memory M Configuration Bits M ID Location M EEPROM Data M Erase All Before Program Cancel Apply Help DS51464B page 60 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference TABLE 7 4 MEMORY RANGES OPTIONS Selection Description Program Memory Start Address Type the start address for the range of program memory in hex Program Memory End Address Type the end address for the range of program memory in hex Reset Addresses Click this button to reset the program memory addresses Program Memory Select this check box to program Program Memory The program memory range is determined by the Program memory start and end address fields Configuration Bits Select this check box if configuration memory is to be programmed ID Loca
126. on is using it such as another instance of MPLAB IDE B 6 2 USB Communication Could Not Be Established If while MPLAB PM3 is enabled using USB the MPLAB PM3 unit is powered off and on quickly or power is temporarily interrupted to reestablish USB communications you must Make sure the MPLAB PM3 power switch is off Deselect the MPLAB PM3 as the current programmer Programmer gt Select Programmer gt None Turn the MPLAB PM3 power back on Reselect the MPLAB PM3 as the programmer Programmer gt Select Programmer gt MPLAB PM3 Enable the MPLAB PM3 programmer Programmer gt Enable Programmer Wait 10 seconds for Windows to recognize it If it doesn t work restart the PC or try connecting to a different USB root hub B 6 3 Device is Code Protected If you attempt to read a code protected device you will get this warning Obtain the original hex code from a file or a non protected device Also see Section B 6 5 Program Memory Contains Code Protected Data B 6 4 Parity Error Found in Program Memory Several devices have a configuration bit to request the calculation of parity When the bit is set to ON the contents of the program memory are compared and assigned even or odd parity When set to OFF the device does not perform a comparison On a blank device the parity configuration bit is set to ON by default If the device is programmed with the parity configuration bit set to ON any
127. only 1 000 parts are programmed in each session the file can be used ten times 7 6 2 Using ICSP MPLAB PM3 comes equipped with an ICSP pin header and cable Attach the ICSP cable to the connector located between the two socket module connectors on the MPLAB PM3 A socket module cannot be installed while using the ICSP connection Note Since the MPLAB PM3 has ICSP built in the PRO MATE II ICSP Socket Module AC04004 and the MPLAB PM3 to PRO MATE II device adapter cannot be used 7 6 2 1 USING LOW VOLTAGE PROGRAM MPLAB PM3 allows low voltage programming LVP with certain PICXXFXXX Flash devices The Flash device selected must be capable of low voltage and programming must be performed in ICSP mode Refer to the specific device s specification and the In Circuit Serial Programming Guide e Selection is transferred from MPLAB IDE to the MPLAB PM3 by performing a blank check read program verify or transfer to MPLAB PM3 Transfer from the programmer will not update the checkbox in MPLAB IDE Setting of the low voltage checkbox has no impact on the enabling disabling of the low voltage configuration bit DS51464B page 70 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference To use low voltage programming 1 Select the device to program using Configure gt Select Device and choosing the device 2 Select and enable the MPLAB PM3 Go to Programmer gt Settings and click on the Voltages tab 4 Inthe IC
128. or for PlCmicro MCU s that works with MPLAB IDE MPLAB ICE 4000 Microchip s in circuit emulator for dsPIC DSC s that works with MPLAB IDE MPLAB IDE Microchip s Integrated Development Environment MPLAB LIB30 MPLAB LIB30 archiver librarian is an object librarian for use with COFF object modules created using either MPLAB ASM30 or MPLAB C30 C compiler MPLAB LINK30 MPLAB LINK30 is an object linker for the Microchip MPLAB ASM30 assembler and the Microchip MPLAB C30 C compiler MPLAB PM3 Microchip s production device programmer that works with MPLAB IDE in support of PlCmicro MCU devices It can be used with MPLAB IDE or as a stand alone unit MPLAB SIM Microchip s simulator that works with MPLAB IDE in support of PICmicro MCU devices MPLAB SIM30 Microchip s simulator that works with MPLAB IDE in support of dsPIC DSC devices MPLIB Object Librarian MPLIB librarian is an object librarian for use with COFF object modules created using either MPASM assembler mpasm or mpasmwin v2 0 or MPLAB C1X C compilers MPLINK Object Linker MPLINK linker is an object linker for the Microchip MPASM assembler and the Microchip MPLAB C17 or C18 C compilers MPLINK linker also may be used with the Microchip MPLIB librarian MPLINK linker is designed to be used with MPLAB IDE though it does not have to be 2004 Microchip Technology Inc DS51464B page 119 MPLAB PM3 User s Guide MRU Most Recently Used Refers to
129. or or simulator function that logs program execution The emulator logs program execution into its trace buffer which is uploaded to MPLAB IDE s trace window Trace Memory Trace memory contained within the emulator Trace memory is sometimes called the trace buffer Trigger Output Trigger output refers to an emulator output signal that can be generated at any address or address range and is independent of the trace and breakpoint settings Any number of trigger output points can be set Uninitialized Data Data which is defined without an initial value In C int myVar defines a variable which will reside in an uninitialized data section Upload The Upload function transfers data from a tool such as an emulator or programmer to the host PC or from the target board to the emulator Warning An alert that is provided to warn you of a situation that would cause physical damage to a device software file or equipment DS51464B page 124 2004 Microchip Technology Inc Glossary Watch Variable A variable that you may monitor during a debugging session in a watch window Watch Window Watch windows contain a list of watch variables that are updated at each breakpoint Watchdog Timer A timer on a PICmicro microcontroller that resets the processor after a selectable length of time The WDT is enabled or disabled and set up using configuration bits WDT See Watchdog Timer 2004 Microchip Technology Inc DS5146
130. ormation When finished click OK to close the Programmer dialog 5 Select Programmer gt Environment gt Save to open the Save Environment dialog Figure 6 2 FIGURE 6 2 SAVE ENVIRONMENT DIALOG Save Environment Environment Name SQTP File Misc Files eg c file1 ext c fileZ ext Description Destination Browse 2004 Microchip Technology Inc DS51464B page 49 MPLAB PM3 User s Guide 6 Enter a name for your environment into the Environment Name field The Environment name can be a maximum of 127 characters 7 Optional Click Browse in the Misc Files field and select a maximum of 10 files txt hex etc you want to associate with the Environment 8 Optional Enter a brief description into the Description field 9 Click Browse in the Destination field and select MPLAB PM3 CARD as the destination Note The destination can also be your hard drive or another storage device 10 Click OK to close the Environment Destination dialog 11 Click Save to save the environment to the MPLAB PM3 card Once successfully created the output window will display Environment Name has been created 12 Click Close to close the Save Environment dialog 6 2 2 Loading an MPLAB PM3 Environment into the MPLAB PM3 Programmer You can load an Environment from the MPLAB PM3 card into the MPLAB PM3 programmer using either the MPLAB IDE software or stand alone mode 6 2 2 1 USING MP
131. ory Unchecked Erase All Before Program Checked Vdd Min 4 250000 Vdd Max 5 500000 2 From here either click Close or to load the viewed Environment into MPLAB IDE click Load After the load is complete a message displays in the Output window DS51464B page 88 2004 Microchip Technology Inc MPLAB PM3 Card Reference 9 3 1 4 LOAD This option load the Environment file from the MPLAB PM3 card into the MPLAB PM3 Programmer Select Programmer gt Environment gt Load to open the Load Environment window Figure 9 9 FIGURE 9 9 LOAD ENVIRONMENT WINDOW Load Environment MPLAB PM3 CARD Cancel Expand the directories to display the pm3 files to be loaded into the MPLAB IDE and click OK The Environment file is loaded into the MPLAB IDE and a confirmation message is displayed in the Output window 2004 Microchip Technology Inc DS51464B page 89 MPLAB PM3 User s Guide 9 3 1 5 DELETE This options deletes the selected Environment file from the specified location If the directory is empty after deleting the environment file the directory is also deleted Select Programmer gt Environment gt Delete to open the Delete Environment window Figure 9 10 FIGURE 9 10 DELETE ENVIRONMENT WINDOW Delete Environment Cancel i Expand the directories to display the pm3 file you wish to delete from the specified location and click OK The environment including
132. owever if you need to revert to an earlier OS Suite version select Programmer gt Settings and click on the Configuration tab Then click the Manual Download button If this option is selected the system will prompt with an auto update notice Figure 7 9 To continue with the download click Yes or click No to cancel FIGURE 7 9 MANUAL DOWNLOAD Auto Upgrade Notification It is recommended that you let MPLAB automatically detect and notify you of any available upgrades Manually upgrading your PM3 is less efficient and usually not necessary unless you wish to revert back to an earlier OS Suite version Would you like to continue with the upgrade Clicking Yes opens a browse window to select the appropriate file from the MPLAB IDE directory The format of the OS Suite file is pm3 nnnnnn mjc where nnnnnn is for the OS Suite version 7 6 SPECIAL PROGRAMMING 7 6 1 Using SQTP Serialization of devices is done by using a series of RETLW Return Literal W instructions with the serial number bytes as the literal data To serialize first generate a serialization file and then use that file to serialize locations in the device microcontroller Using SQTP includes these steps e Generating the SQTP File e Activating Serialization e Programming the Device Refer to Section 7 7 1 Using Hexadecimal Record Formats for more information on hex record formats DS51464B page 68 2004 Microchip Technology Inc MPLAB PM3 MPLA
133. page 73 MPLAB PM3 User s Guide NOTES DS51464B page 74 2004 Microchip Technology Inc MPLAB PM3 MICROCHIP USER S GUIDE Chapter 8 Stand alone Reference 8 1 INTRODUCTION This chapter describes how to use the MPLAB PM3 device programmer in stand alone mode The device programmer provides an LCD interface that gives you complete control over a programming session Topics covered in this chapter include e MPLAB PM3 LCD and Keys e Start Up Sequence e Main Menu Command Menu 8 2 MPLAB PM3 LCD AND KEYS The front panel of the programmer looks similar to Figure 8 1 FIGURE 8 1 MPLAB PM3 FRONT PANEL MUMM 0000000 MPLAB PM3 Device Programmer ICSP Connector V er MICROCHIP Socket Module i Down 8 2 1 LCD The graphical LCD is a 128 x 64 pixel screen which displays information on a blue background The selection bar highlights the entire line When you press lt Enter gt ona line ending with a right pointing triangle a submenu is displayed When you press lt Enter gt on a line ending with two greater than symbols gt gt the action is performed 2004 Microchip Technology Inc DS51464B page 75 MPLAB PM3 User s Guide 8 2 2 Keys The MPLAB PM3 provides four keys for navigation The function of each key is e lt ESC gt return to the previous menu or entry lt Up gt moves the selection bar up one line each time it is pressed e lt Down gt
134. plays the card s byte capacity bytes free bytes used and cluster size 2004 Microchip Technology Inc DS51464B page 93 MPLAB PM3 User s Guide 9 4 2 All Functions Menu Once a device is selected the device s menu is displayed e Program Verify Device see Section 8 5 1 Program Verify Device e Verify Device see Section 8 5 2 Verify Device e All Functions When the MPLAB PM3 card is inserted the All Functions option displays a submenu with the selections listed in Table 9 1 Note that there is an additional option for the MPLAB PM3 card at the end of the list For all other functions listed refer to Section 8 5 3 All Functions TABLE 9 1 ALL FUNCTIONS MENU Selection Description Read Device Reads the device content Selective read e g part of program memory only configuration bits of the device can be done by setting up Settings below Program Verify Device Programs and verifies the device Verify Device Blank Check Device Erase Device Verifies that the device was programmed properly Checks that the device is completely blank all bits are set to a 1 This will also check that all configuration bits are set to a 1 unprogrammed state Erases the device in the MPLAB PM3 device programmer This option displays only for erasable devices Device Information Displays the device name Device ID Device Revision Last Checksum and the Us
135. r ICSP Cable for instructions Note An 18 inch ICSP cable is included with MPLAB PM3 eliminating the need for an ICSP socket Be sure to install the appropriate socket for the device being programmed When the MPLAB PM3 device programmer is powered up the unit automatically detects the type of socket module installed If the part does not support the installed socket the MPLAB PM3 will list the appropriate sockets to use MPLAB PM3 allows hot swapping of socket modules If the status LED is not lit feel free to switch sockets In order to use PRO MATE II socket modules with MPLAB PM3 you must obtain an AC164350 adapter kit See the Development System Ordering Guide DS30177 5 2 2 Downloading a Hex File into MPLAB PM3 Memory To set up the MPLAB PM3 for stand alone mode you will need either a PC to download the hex file or a master device to read into MPLAB PM3 memory Refer to Chapter 2 Installing MPLAB PM3 and Section 4 5 3 Loading the Hex Code into Program Memory for instructions on connecting the MPLAB PM3 to a PC and downloading a hex file respectively Now you are ready to use MPLAB PM3 in stand alone mode 2004 Microchip Technology Inc DS51464B page 43 MPLAB PM3 User s Guide 5 3 PROGRAMMING A DEVICE After applying power to MPLAB PM3 the unit briefly displays the MPLAB PM3 splash screen and versions screen Then the MPLAB PM3 displays the Main menu FIGURE 5 1 MPLAB PM3 MAIN MENU
136. re they are operating properly and that there are no conflicts with other devices This commonly happens when you have a modem or other serial device that is improperly configured Consult your Windows man ual or other reference literature You can try removing reconfiguring or disabling the conflicting device but do so only if you are familiar with those procedures 6 Some system errors are caused by driver and hardware incompatibility 7 You must use the Microsoft Windows communications driver that is native to the version of Windows that you use 8 Make sure you are not using a third party communications driver Open your SYSTEM INT file and look for the line in the OPTIONS section that reads COMM DRV COMM DRV If this line reads differently you are using a different communications driver B 4 2 No MPLAB PM3 Menu Visible If you have been using another programmer e g PICSTART Plus the MPLAB PM3 menu might not be available Select Programmer gt Select Programmer to open the Select Programmer dialog and choose MPLAB PM3 from the list After you select the programmer MPLAB IDE will issue you a warning prompt and shut itself down MPLAB IDE must be restarted before the programmer options are available The MPLAB PM3 menu will appear on the menu bar when MPLAB IDE is restarted B 4 3 Default Serial Port MPLAB PM3 uses COM as the default serial port the first time you run MPLAB PM3 If you change your serial port selection with the
137. reprogramming of the device may result in a parity error being displayed This occurs because a mismatch has been detected between the current parity and the parity last programmed Receiving a parity error however does not stop the device from being programmed However if the device is programmed with the parity bit set to OFF no comparison of the program memory contents for parity will take place The device can be reprogrammed without receiving a message regarding parity All OTP devices including those that have the parity configuration bit cannot successfully reprogram any bit value of o to a 1 If a device has been programmed with the parity configuration bit set to OFF the parity checking cannot be turned back to ON A blank device will have to be used 2004 Microchip Technology Inc DS51464A1 page 109 MPLAB PM3 User s Guide B 6 5 Program Memory Contains Code Protected Data Program memory contains data that was read from a code protected device Most or all of this data is not usable Obtain the original hex code from a file or a non protected device See also Section B 6 3 Device is Code Protected B 6 6 Invalid Checksum This error indicates a hardware problem occurred while trying to read from the programmer It is not a very common error It usually indicates some sort of problem with the communication hardware on either the PC or the programmer B 7 ERROR MESSAGES LCD B
138. ribed in Table 7 11 TABLE 7 11 PlCmicro MCU DEVICE FAMILY FILE FORMATS Device Family File Format PIC16C5X 6X Uses INHX8M PIC17CXX Uses INHX32 PIC18XXX Uses INHX32 Firmware Downloads Uses INHX32 Each hexadecimal data record has the following format BBAAAATTHHHH HHCC TABLE 7 12 HEX DATA RECORD FORMAT Record Format Description Start character prefix BB 2 digit byte count specifying the number of data blocks in a record AAAA 4 digit starting address of the data record TT 2 digit record type 00 Data record 01 End of file record 02 Segment address record 04 Extended linear address record INHX32 HHHH HH 2 Digit data blocks CC 2 Digit checksum Two s complement of the sum of all preceding bytes in the data record except the colon start character INHX8M The data record is output as described above INHX32 The extended linear address record is output to establish upper 16 bits of data address DS51464B page 72 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference 7 8 UPGRADING THE MPLAB PM3 OPERATING SYSTEM It may be necessary to upgrade the MPLAB PM3 operating system if e The MPLAB IDE indicates that there is a newer version of the MPLAB PM3 operating system when attempting to enable MPLAB PM3 If Automatic Update is enabled see Section 7 5 5 Configuration Tab the following message wil
139. river MPLAB ICD 2 will not work and you will not be able to install the proper driver 2 Make sure USB is selected on the Programmer gt Settings Communications tab B 5 2 Advanced Serial Communications Help Here are some areas that can cause problems e Modem Interaction e Problems with a Serial Mouse e Interrupt Conflicts e Third Party Communications Drivers e Manually Setting Up The Port B 5 2 1 MODEM INTERACTION The programmers cannot be on the same communications port or the same interrupt as a modem You can try disabling the modem in software moving one or the other to a different communications port or removing the modem B 5 2 2 PROBLEMS WITH A SERIAL MOUSE If you have a serial mouse make sure you are not accidentally specifying that communications port as your programmer port B 5 2 3 INTERRUPT CONFLICTS Make sure that your system has no interrupt conflicts That is make sure that only one device is using each interrupt On Windows 98 ME select Settings gt Control Panel from the Start menu Select System and click on the Device Manager tab Expand the Ports selection and make sure there are no conflict indicators On Windows NT 2000 XP select Settings gt Control Panel from the Start menu Select System and double click on Ports Click on a COM port from the list and then click Settings In the Settings dialog click Advanced Make sure there are no IRQ conflicts 2004 Microchip Technol
140. ry End Address Type the end address for the range of program memory Reset Addresses Click this button to reset the program memory addresses Program Memory Select this check box if you want to program Program Memory The program memory range is determined by the Program memory start and end address fields Configuration Bits Select this check box if configuration memory is to be programmed ID Location Select this check box if the ID location is to be programmed EEPROM Data Select this check box if the EEPROM data memory is to be programmed Calibration Memory Select this check box if calibration memory to be programmed Erase All Before Program Select this check box if the device is to be erased before programming After MPLAB PM3 programs a device it automatically performs a verify operation and displays any errors found An additional verify operation may be done via selecting Programmer gt Verify 4 6 VERIFYING THE PROGRAMMING Click Programmer gt Verify to verify that the programming on the device matches the program memory configuration bits ID locations EEPROM and calibration memory values in MPLAB IDE and in the settings dialog and configuration bits dialog If there are more errors than expected and those errors claim that the bad data is all zeros 0000 the socket module might not be seated properly Remove and reseat the socket module It is always a good practice to insert a known blank d
141. saving the Environment This is a display only field type cannot be entered into this field 3 Inthe optional Misc Files field click Browse or type the file name s to add files you wish to save with the Environment If typing the file name the full path must be specified Multiple files must be separated by a comma A maximum number of 10 miscellaneous files txt hex etc can be saved in an Environment 4 Inthe optional Description field type a brief description of the Environment 5 Click Browse to open the Environment Destination window Figure 9 4 The MPLAB PM3 must be enabled for the MPLAB PM3 card to appear in the Environment Destination window 2004 Microchip Technology Inc DS51464B page 85 MPLAB PM3 User s Guide FIGURE 9 4 ENVIRONMENT DESTINATION WINDOW Environment Destination MPLAB PM3 CARD 6 Select the MPLAB PM3 card to save the Environment to the MPLAB PM3 card or select another destination to save it to another location Click OK to close the Environment Destination window and return to the Save Environment dialog 7 Inthe Save Environment dialog the Destination field will display the selected location Click Save to save the Environment Click Close to close the dialog The Output window displays a message confirming the Environment has been saved Note In order to save the Environment the MPLAB PM3 card must be inserted in the programmer 9 3 1 2 COPY This option en
142. simulator mode it will overwrite the program memory being emulated or simulated This can cause mismatches between the program memory and debug information if an MPLAB project is open The system displays an option to either close the current MPLAB project or to continue and read the device s memory into the Program Memory window Subsequent debug operations might not work properly 7 4 3 Disable Programmer To disable the MPLAB PM3 programmer select Programmer gt Disable Programmer 7 4 4 Program Select Programmer gt Program to program the entire device i e all of the program memory configuration bits etc 1 To program selectively e g part of program memory only configuration bits select Programmer gt Settings to open the Programmer Settings dialog Click the Memory Ranges tab and select the options for programming Areas that are grayed out are not available on the device Click OK Then select Programmer gt Program to program the device The memory area corresponding to the checked boxes will be programmed After MPLAB PM3 programs a device it automatically performs a verify operation and displays any errors found An additional verify operation may be done via selecting Programmer gt Verify 7 4 5 Verify To verify the programming on the device select Programmer gt Verify This verifies that the programming on the device matches the program memory configuration bits ID locations EEPROM and calibration memory valu
143. t Select Programmer gt None 2 Turn the MPLAB PM3 programmer off and physically change the communications cable connection If not already done install the proper drivers 3 Turn the MPLAB PM3 programmer back on Reselect the programmer Programmer gt Select Programmer gt MPLAB PM3 5 Select the other mode of communication Programmer gt Settings Communications tab 6 Enable the programmer Programmer gt Enable Programmer gt A DS51464B page 66 2004 Microchip Technology Inc MPLAB PM3 MPLAB IDE Reference 7 5 5 Configuration Tab 7 5 5 1 AUTOMATIC DOWNLOAD To set the MPLAB PM3 to automatically download any firmware updates select Programmer gt Settings and click on the Configuration Tab Figure 7 8 Then select the Auto Download Firmware check box for new firmware to be automatically downloaded upon starting MPLAB PM3 FIGURE 7 8 CONFIGURATION TAB P rogrammer Memory Ranges Voltages SQTP Communications Configuration Manual Download Cancel Apply Help If you do not want firmware updates to automatically download leave the checkbox empty If there are updates available the system will prompt to download 2004 Microchip Technology Inc DS51464B page 67 MPLAB PM3 User s Guide 7 5 5 2 MANUAL DOWNLOAD It is recommended that the MPLAB automatically detect and notify of any upgrades Normally it is not necessary to manually update the OS Suite for the MPLAB PM3 programmer h
144. t important with surface mount devices because the socket contacts must remain planar to function properly Any bent or nonplanar contacts will result in a failure Nonplanar socket module contacts occur earlier in the life of a socket module when devices are inserted manually into a socket module Early contact failure from manual insertions is due to the non repeatability of the manual insertion method Therefore the listed number of insertions might not be reached for sockets if devices are inserted manually No good method exists to ensure that the contacts are planar A 5 4 3 CLEANING METHOD METHYL ALCOHOL Clean with methyl alcohol then blow off the contacts with dry compressed air Methyl alcohol is highly flammable Use methyl alcohol in a well ventilated area away from sparks flames or any other source of ignition Methyl alcohol is poisonous and may cause blindness if taken internally Avoid inhaling methyl alcohol vapor A 5 5 Typical Programming Times Table A 12 shows typical programming times for the MPLAB PM3 when used in Stand alone mode Results may vary when programming through MPLAB IDE TABLE A 12 TYPICAL PROGRAMMING TIMES IN STAND ALONE MODE Device Programming Time PIC12F675 4 seconds PIC16F877A 5 seconds PIC16F819 4 seconds PIC18F452 7 seconds PIC16F88 3 7 seconds PIC16C55A 2 5 seconds PIC17C44 10 seconds PIC12C509 4 seconds PIC16F77 6 6 s
145. t the linker script There is a linker script for each device These files define the memory configuration and register names for the various parts The linker scripts are in the folder named LKR under the MPASM Suite folder Use the file named 18F452 1kr The full path is C Program Files Microchip MPASM Suite LKR 18F452 1lkr To copy this linker script into our project click on the check box FIGURE 3 7 PROJECT WIZARD SELECT LINKER SCRIPT Project Wizard Step Four E Add any existing files to your project e 18 4510_e lkr E C Program Files Microchip MPA 18f4510i lkr C Program Files Microchip MPA 18f4510i_e lkr 18f4515 lkr R S ch 198451 5i lkr 18f4515i_e lkr 18f452 lkr 18 4520 Ikr 18 4520_e lkr 18f4520i lkr lt 18H4520i e lkr Check the box to copy the file to the gt project directory 19 t oe Ee aed lt Back Next gt Cancel Help Make sure that your dialog looks like the picture above with both check boxes checked then press Next gt to finish the Project Wizard The final screen of the Project Wizard is a summary showing the selected device the toolsuite and the new project file name FIGURE 3 8 PROJECT WIZARD SUMMARY Project Wizard Summary Click Finish to create the project with these parameters Project Parameters Device PIC18F452 Toolsuite Microchip MPASM Toolsuite File C My Projects 1 8F 452Proj mep A new workspace will
146. t the location and file name for the file and click Save The SQTP file will contain a line for each part if specified for 1 000 parts or devices the file will contain 1 000 lines each with a unique serial number 2004 Microchip Technology Inc DS51464B page 69 MPLAB PM3 User s Guide 7 6 1 2 ACTIVATING SERIALIZATION Select Programmer gt Load SQTP File to choose the SQTP file to use Click Open to enable serialization for the current programming session After enabling serialization the serial number that will be programmed into the next device can be seen at the program memory address specified when the SQTP file was generated Look for the RETLW instruction in the Program Memory window 7 6 1 3 PROGRAMMING THE DEVICE After loading the SQTP file simply select Programmer gt Program to program a device When the device is programmed the Program Memory window will display the next serial number If the last serial number in the file has been used a message will appear and serialization will be disabled When a serial number is used the SQTP file is marked by replacing the colon for that entry by a semicolon so that MPLAB PM3 will skip that line during later programming sessions To use the same SQTP file over multiple programming sessions without repeating any numbers generate an SQTP file with many more parts than will be programmed in a single session For example if an SQTP file for 10 000 parts was generated and
147. ter 5 Using MPLAB PM3 in Stand alone Mode If you are using the MPLAB PM3 Card with either the MPLAB IDE or in stand alone mode also refer to Chapter 6 Using the MPLAB PM3 Card 2 4 1 Indicator Lights and Buzzer Two indicator lights LEDs are located on the front of the programmer A buzzer for audio indication is incorporated into the programmer as well TABLE 2 1 STATUS LED INDICATIONS LED Condition Red Booting up Programming Failed Other Error Orange Working Busy Green Programming Passed TABLE 2 2 POWER LED LED Condition On Programmer powered Off Programmer not powered 2 4 2 Powering Down the MPLAB PM3 Turn the power switch on the back of the MPLAB PM3 to OFF 2004 Microchip Technology Inc DS51464B page 15 MPLAB PM3 User s Guide 2 5 CONFIGURING MPLAB IDE FOR USE WITH MPLAB PM3 DS51464B page 16 2 5 1 Starting MPLAB IDE Once MPLAB is installed on your PC from the Start menu select All Programs gt Microchip MPLAB IDE gt MPLAB IDE The MPLAB IDE desktop should look similar to Figure 2 3 FIGURE 2 3 MPLAB IDE DESKTOP M MPLAB IDE File Edit View Project Debugger Programmer Tools Configure Window Help ot a bed Oe a m Untitled Wor EIS IPIC18F252 0x8258 2 5 2 Selecting MPLAB PM3 as the Programmer In addition to MPLAB PM3 the PRO MATE Il and PICSTART Plus device programmers are supported under
148. the MPLAB IDE However only one programmer can be used at a time Select Programmer gt Select Programmer gt MPLAB PM3 to select MPLAB PM3 from the list of available programmers Figure 2 4 After MPLAB PM3 is selected e The Programmer menu changes to include the MPLAB PM3 Programmer Menu and Settings s The MPLAB PM3 Toolbar is revealed e The name of the programmer appears on the status bar FIGURE 2 4 SELECT PROGRAMMER MENU a MPLAB IDE Eile Edit Me Project Debugger Configure Window Help EN y x g None GE als PICSTART Plus a EI MPLAB ICD 2 Build Version Control Find in Files PRO MATE II PICKit 1 Jil picier4s2 2004 Microchip Technology Inc Installing MPLAB PM3 2 5 3 Setting Up the Communications Port You can set up the MPLAB PM3 to communicate with MPLAB IDE through one of the serial COM ports 1 4 or USB 2 5 3 1 SERIAL COMMUNICATIONS From the MPLAB Programmer menu select Programmer gt Settings and click on the Communications tab A dialog similar to the one shown in Figure 2 5 will display FIGURE 2 5 COMMUNICATIONS PORT SETUP DIALOG Programmer Memory Ranges Voltages SOTP Communications Configuration Com Port Apply The Communications Port Setup dialog shows the possible PC serial and USB communication ports Click OK to set the options or Cancel to ignore the changes and close the dialog 2004 Microchip Technology Inc DS51464B page
149. ther Stand alone mode commands refer to Chapter 8 Stand alone Reference Topics covered in this chapter include e MPLAB PM3 Card e MPLAB PM3 Card Through MPLAB IDE e MPLAB PM3 Card in Stand alone Mode 9 2 MPLAB PM3 CARD The MPLAB PM3 card is a memory device that fits in the SD MMC port on the back of the MPLAB PM3 programmer see Figure 9 1 The card only fits in one way into the slot It can be used to store Environments that can be transferred to and from the MPLAB PM3 programmer FIGURE 9 1 BACK VIEW OF MPLAB PM3 Power On Power Off Fe Secure Digital Power Input USB Port Serial Port Multi Media Card Port wA Oto om RS 232 For a list of Microchip tested and recommended cards refer to the Readme for MPLAB PM3 9 3 MPLAB PM3 CARD THROUGH MPLAB IDE The MPLAB IDE Programmer menu contains two options for use with the MPLAB PM3 card e Environment displays a submenu of operations that can be performed on the environment e MPLAB PM3 card displays a submenu of operations that pertain to the MPLAB PM3 card 2004 Microchip Technology Inc DS51464B page 83 MPLAB PM3 User s Guide 9 3 1 Environment Select Programmer gt Environment to display the submenu options Figure 9 2 FIGURE 9 2 ENVIRONMENT SUBMENU MPLAB IDE File Edit View Project Debugger Be Tools Configure Window Help Dee me S Select Programmer gt Le Checksum 0x82d
150. tion Select this check box if the ID location is to be programmed EEPROM Data Select this check box if the EEPROM data memory is to be programmed Calibration Memory Select this check box if calibration memory to be pro grammed Erase All Before Program Select this check box if the device is to be erased before programming 7 5 2 Voltages Tab Select Programmer gt Settings and click on the Voltages tab to view or set the voltages for the device Figure 7 4 FIGURE 7 4 VOLTAGES TAB P rogrammer Communications Configuration Memory Ranges Voltages SQTP VDD Min YDD Max LA YDD Nom 5 0000 eil VPP ECTS VDD App 50000 Reset Voltages ICSP Options Low Voltage Program MN Power target circuit from PM3 Cancel mi Help 2004 Microchip Technology Inc DS51464B page 61 MPLAB PM3 User s Guide Certain voltages may be viewed set for Flash devices see Table 7 5 and Non Flash devices see Table 7 6 Other voltages are applicable to both types of devices see Table 7 7 For Information on changing voltage settings and using low voltage pro gramming see Section 7 5 2 1 Changing Voltage Settings and Section 7 5 2 2 Using Low Voltage Program respectively TABLE 7 5 FLASH DEVICES Selection Description VDD App This is the voltage used by the programmer to verify Flash memory The default is the device s nominal voltage value TABL
151. uld you like to calculate the Code Protected Checksum Currently No Do Not Calculate gt gt Calculate Checksum gt gt The default setting is Do Not Calculate The setting does not get saved when the programmer is powered off Selecting the Calculate Checksum option saves time when programming or verifying larger code protected devices such as the PIC18F8720 since the entire device does not get re read If you set the checksum calculation option to Do Not Calculate and successfully program a code protected device the screen will display Passed Protected csum disabled If you set the checksum calculation option to Do Not Calculate and the program operation of a code protected device fails the screen will display Failed CP sum disabled If you set the checksum calculation option to Calculate Checksum for a code protected device the checksum will be displayed with the results of a program or verify operation 8 4 3 Help This option displays the version number of the MPLAB PM3 OS Suite running on the MPLAB PM3 It also contains two submenu options e ICSP Connector Pinout displays a diagram of the ICSP connector and has an option to view the pin definitions The definition for all the ICSP pins are listed with the number color and signal See Section A 4 1 ICSP Header and Cable Pinout e About displays the name of the product and the manufacturer and has an option t
152. used to determine order of evaluation OTP One Time Programmable EPROM devices that are not in windowed packages Since EPROM needs ultraviolet light to erase its memory only windowed devices are erasable Pass Counter A counter that decrements each time an event such as the execution of an instruction at a particular address occurs When the pass count value reaches zero the event is satisfied You can assign the Pass Counter to break and trace logic and to any sequential event in the complex trigger dialog PC Personal Computer or Program Counter DS51464B page 120 2004 Microchip Technology Inc Glossary PC Host Any IBM or compatible personal computer running a supported Windows operating system PlCmicro MCUs PlCmicro microcontrollers MCUs refers to all Microchip microcontroller families PICSTART Plus A developmental device programmer from Microchip Programs 8 14 28 and 40 pin PlCmicro microcontrollers Must be used with MPLAB IDE Software Pod Emulator The external emulator box that contains emulation memory trace memory event and cycle timers and trace breakpoint logic Power on Reset Emulation A software randomization process that writes random values in data RAM areas to simulate uninitialized values in RAM upon initial power application PRO MATE II A device programmer from Microchip Programs all PICmicro microcontrollers and most memory and Keelog devices Can be used with MP
153. uttons FIGURE A 2 MPLAB PM3 BACK VIEW Power On Power Off Power Input Secure Digital USB Port Serial Port Multi Media Card Port use oto RS232 DS51464B page 96 2004 Microchip Technology Inc Hardware Specifications A 3 2 General Specifications TABLE A 2 GENERAL SPECIFICATIONS Component Description Power Supply 20 3W Dual Output 3 3VDC 5A 5 0VDC 0 75A w 5 pin Mini Din plug USB Cable USB A B M M cable 6 feet Serial Cable RS 232 DB9 1 end male 1 end female ICSP Cable 18 15 pin 22 AWG Super Flex Stranded Series 200 wire leads with 2 x 7 keyed housing Pin Drivers 40 Universal pin drivers capable of supplying VDD VPP I O Ground Diagnostics Power supply CPU s FPGA CPLD AA ICSP HARDWARE SPECIFICATIONS This section covers e ICSP Header and Cable Pinout e ICSP Pin Capacitance Values e ICSP VDD VPP Operating Characteristics e MPLAB PM3 Handler Operating Characteristics A 4 1 ICSP Header and Cable Pinout MPLAB PM3 comes equipped with an ICSP pin header and cable You can locate this under where a socket module would be installed The header configuration can be found in Figure A 3 viewed from above on the MPLAB PM3 and the cable color and signal designations are listed in Table A 3 FIGURE A 3 ICSP HEADER CONFIGURATION 13 oooaaqga 1
154. valid breakpoint causes a halt or until the user halts the emulator In the simulator real time simply means execution of the microcontroller instructions as fast as they can be simulated by the host CPU Recursion The concept that a function or macro having been defined can call itself Great care should be taken when writing recursive macros it is easy to get caught in an infinite loop where there will be no exit from the recursion ROM Read Only Memory Program Memory Memory that cannot be modified Run The command that releases the emulator from halt allowing it to run the application code and change or respond to I O in real time Serialized Quick Turn Programming Serialization allows you to program a serial number into each microcontroller device that the Device Programmer programs This number can be used as an entry code password or ID number SFR See Special Function Registers Shell The MPASM assembler shell is a prompted input interface to the macro assembler There are two MPASM assembler shells one for the DOS version and one for the Windows version Simulator A software program that models the operation of devices Single Step This command steps though code one instruction at a time After each instruction MPLAB IDE updates register windows watch variables and status displays so you can analyze and debug instruction execution You can also single step C compiler source code but instead of executing sin
155. vice that is low voltage capable is selected Selection is transferred from MPLAB IDE to the MPLAB PM3 by performing a blank check read program verify or transfer to MPLAB PM3 Transfer from the programmer will not update the checkbox in MPLAB IDE Setting of the low voltage checkbox has no impact on the enabling disabling of the low voltage configuration bit Only performs a Low Voltage Program in ICSP mode See Section 7 6 2 1 Using Low Voltage Program KEREN 2004 Microchip Technology Inc DS51464B page 63 MPLAB PM3 User s Guide 7 5 3 SQTP Tab Use serial quick turn programming SQTP to program a unique serial number into each device This number can be used as an entry code password or ID number Select Programmer gt Settings and click on the SQTP tab to view or set up SQTP programming for the device Figure 7 5 Also see Section 7 6 1 Using SQTP FIGURE 7 5 SQTP TAB Programmer Communications Configuration Memory Ranges Voltages SQTP C Pseudo Random SeedValue Hex C Sequential Start Value Hex Increment Hex Start Address Hex 0 Number of Words Dec Number of Parts Dec f4 Generate Cancel Help TABLE 7 9 SQTP MENU Selection Description Random Select this option to generate unique random numbers for each part Pseudo Random Seed Value Hex Select this option to generate a pseudo random set of non repeating numbers based on the seed value specifi

Download Pdf Manuals

image

Related Search

Related Contents

Bastamol* PF  「ハイトシェルターS」 アドバンス 取扱説明書  NUMY 3G SWOI`d - File Management  Téléchargez le tract  Test & Tools - Jameco Electronics  

Copyright © All rights reserved.
Failed to retrieve file