http://ww1.microchip.com/downloads/en/DeviceDoc/40001829B.pdf

MPLAB® Code Configurator v3.xx
User’s Guide
 2016 Microchip Technology Inc.
DS40001829B
Note the following details of the code protection feature on Microchip devices:
•
Microchip products meet the specification contained in their particular Microchip Data Sheet.
•
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•
Microchip is willing to work with the customer who is concerned about the integrity of their code.
•
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,
QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability
arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims,
suits, or expenses resulting from such use. No licenses are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, AnyRate,
dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KEELOQ,
KEELOQ logo, Kleer, LANCheck, LINK MD, MediaLB, MOST,
MOST logo, MPLAB, OptoLyzer, PIC, PICSTART, PIC32 logo,
RightTouch, SpyNIC, SST, SST Logo, SuperFlash and UNI/O
are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
ClockWorks, The Embedded Control Solutions Company,
ETHERSYNCH, Hyper Speed Control, HyperLight Load,
IntelliMOS, mTouch, Precision Edge, and QUIET-WIRE are
registered trademarks of Microchip Technology Incorporated
in the U.S.A.
Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut,
BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM,
dsPICDEM.net, Dynamic Average Matching, DAM, ECAN,
EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip
Connectivity, JitterBlocker, KleerNet, KleerNet logo, MiWi,
motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB,
MPLINK, MultiTRAK, NetDetach, Omniscient Code
Generation, PICDEM, PICDEM.net, PICkit, PICtail,
PureSilicon, RightTouch logo, REAL ICE, Ripple Blocker,
Serial Quad I/O, SQI, SuperSwitcher, SuperSwitcher II, Total
Endurance, TSHARC, USBCheck, VariSense, ViewSpan,
WiperLock, Wireless DNA, and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
QUALITY MANAGEMENT SYSTEM
CERTIFIED BY DNV
== ISO/TS 16949 ==
DS40001829B-page 2
Silicon Storage Technology is a registered trademark of
Microchip Technology Inc. in other countries.
GestIC is a registered trademarks of Microchip Technology
Germany II GmbH & Co. KG, a subsidiary of Microchip
Technology Inc., in other countries.
All other trademarks mentioned herein are property of their
respective companies.
© 2016, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
ISBN: 978-1-5224-0644-0
 2016 Microchip Technology Inc.
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Table of Contents
Preface ........................................................................................................................... 4
Chapter 1. Overview
1.1 Introduction ..................................................................................................... 8
Chapter 2. Operating Areas
2.1 Overview ...................................................................................................... 10
2.2 Resource Area ............................................................................................. 12
2.2.1 Project Resources Area ............................................................................ 12
2.2.2 Device Resources Area ............................................................................. 12
2.2.3 Versions Area ............................................................................................ 13
2.2.3.1 Adding Libraries to MCC ........................................................... 14
2.3 Pin Manager Area ........................................................................................ 15
2.3.1 Package View ............................................................................................ 16
2.3.2 Table View ................................................................................................. 16
2.3.3 Pin Module View ........................................................................................ 19
2.4 Composer Area ............................................................................................ 20
2.4.1 The Easy Setup Tab .................................................................................. 20
2.4.2 The Registers Tab ..................................................................................... 20
2.4.3 The Notifications Tab ................................................................................ 21
2.5 MCC Options ................................................................................................ 23
2.5.1 MCC File Handling .................................................................................... 23
2.5.2 MCC Dialogs ............................................................................................. 24
2.5.3 MCC Line Endings .................................................................................... 24
2.5.4 MCC Libraries ........................................................................................... 24
Chapter 3. Generating MCC Drivers
3.1 Setting Up MPLAB X IDE and Launching the MCC ..................................... 25
3.2 Selecting and Configuring Modules .............................................................. 26
3.3 Generating Code .......................................................................................... 26
3.3.1 Saving and Loading the MCC Configuration ............................................. 27
3.3.2 The MCC Merge Window .......................................................................... 27
Chapter 4. Generated Sources and Header Files
Chapter 5. MCC Device Migration
Worldwide Sales and Service .................................................................................... 32
 2016 Microchip Technology Inc.
DS40001829B-page 3
MPLAB® CODE CONFIGURATOR V3.XX
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 website
(www.microchip.com) to obtain the latest documentation available.
Documents are identified with a “DS” number. This number is located on the bottom of each
page, in front of the page number. The numbering convention for the DS number is
“DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the
document.
For the most up-to-date information on development tools, see the MPLAB® IDE online help.
Select the Help menu, and then Topics to open a list of available online help files.
INTRODUCTION
This chapter contains general information that will be useful to know before using the
MPLAB® Code Configurator V3.xx. Items discussed in this chapter include:
•
•
•
•
•
•
•
Document Layout
Conventions Used in this Guide
Recommended Reading
The Microchip Website
Development Systems Customer Change Notification Service
Customer Support
Revision History
DOCUMENT LAYOUT
This document describes how to use the MPLAB® Code Configurator V3.xx. The
document is organized as follows:
• Chapter 1. “Overview” – This chapter provides a description of the MPLAB®
Code Configurator and basic information about its use.
• Chapter 2. “Operating Areas” – This chapter contains the listing and description
of the main operating areas of the MPLAB® Code Configurator.
• Chapter 3. “Generating MCC Drivers” – Consult this chapter to find out how to
generate peripheral drivers using the MPLAB® Code Configurator.
• Chapter 4. “Generated Sources and Header Files” – This chapter provides
information about the generated drivers.
• Chapter 5. “MCC Device Migration”
 2016 Microchip Technology Inc.
DS40001829B-page 4
Preface
CONVENTIONS USED IN THIS GUIDE
This manual uses the following documentation conventions:
DOCUMENTATION CONVENTIONS
Description
Arial font:
Italic characters
Initial caps
Quotes
Underlined, italic text with
right angle bracket
Bold characters
N‘Rnnnn
Text in angle brackets < >
Courier New font:
Plain Courier New
Represents
Referenced books
Emphasized text
A window
A dialog
A menu selection
A field name in a window or
dialog
A menu path
MPLAB® IDE User’s Guide
...is the only compiler...
the Output window
the Settings dialog
select Enable Programmer
“Save project before build”
A dialog button
A tab
A number in verilog format,
where N is the total number of
digits, R is the radix and n is a
digit.
A key on the keyboard
Click OK
Click the Power tab
4‘b0010, 2‘hF1
Italic Courier New
Sample source code
Filenames
File paths
Keywords
Command-line options
Bit values
Constants
A variable argument
Square brackets [ ]
Optional arguments
Curly brackets and pipe
character: { | }
Ellipses...
Choice of mutually exclusive
arguments; an OR selection
Replaces repeated text
Represents code supplied by
user
 2016 Microchip Technology Inc.
Examples
File>Save
Press <Enter>, <F1>
#define START
autoexec.bat
c:\mcc18\h
_asm, _endasm, static
-Opa+, -Opa0, 1
0xFF, ‘A’
file.o, where file can be
any valid filename
mcc18 [options] file
[options]
errorlevel {0|1}
var_name [,
var_name...]
void main (void)
{ ...
}
DS40001829B-page 5
Preface
RECOMMENDED READING
This user’s guide describes how to use Microchip’s MPLAB® Code Configurator V3.xx.
For more information on the MPLAB® Code Configurator V3.xx, refer to the link below:
http://www.microchip.com/mcc
THE MICROCHIP WEBSITE
Microchip provides online support via our website at www.microchip.com. This website
is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the website contains the following information:
• Product Support – Data sheets and errata, application notes and sample
programs, design resources, user’s guides and hardware support documents,
latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical
support requests, online discussion groups, Microchip consultant program
member 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 website 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, assemblers, linkers
and other language tools. These include all MPLAB C compilers; all MPLAB
assemblers (including MPASM™ assembler); all MPLAB linkers (including
MPLINK™ object linker); and all MPLAB librarians (including MPLIB™ object
librarian).
• Emulators – The latest information on Microchip in-circuit emulators.This
includes the MPLAB REAL ICE™ and MPLAB ICE 2000 in-circuit emulators.
• In-Circuit Debuggers – The latest information on the Microchip in-circuit
debuggers. This includes MPLAB ICD 3 in-circuit debuggers and PICkit™ 3
debug express.
• MPLAB® IDE – The latest information on Microchip MPLAB IDE, the Windows®
Integrated Development Environment for development systems tools. This list is
focused on the MPLAB IDE, MPLAB IDE Project Manager, MPLAB Editor and
MPLAB SIM simulator, as well as general editing and debugging features.
• Programmers – The latest information on Microchip programmers. These include
production programmers such as MPLAB REAL ICE in-circuit emulator, MPLAB
ICD 3 in-circuit debugger and MPLAB PM3 device programmers. Also included
are nonproduction development programmers such as PICSTART® Plus and
PICkit 2 and 3.
 2016 Microchip Technology Inc.
DS40001829B-page 6
Preface
CUSTOMER SUPPORT
Users of Microchip products can receive assistance through several channels:
•
•
•
•
Distributor or Representative
Local Sales Office
Field Application Engineer (FAE)
Technical Support
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 website at:
http://www.microchip.com/support
and
http://www.microchip.com/forums.
REVISION HISTORY
Revision A (January 2016)
Initial release of the document.
Revision B (May 2016)
Revise Figure 1-1; Revise Chapter 2; Revised Figure 2-5 Title; Add Figures 2-6 through
2-10; Revise Chapter 3.
 2016 Microchip Technology Inc.
DS40001829B-page 7
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Chapter 1. Overview
1.1
INTRODUCTION
The MPLAB® Code Configurator (MCC) generates driver code using a Graphical User
Interface (GUI). The generated drivers control the peripherals on PIC® microcontrollers.
The GUI provides an easy means for setting up the configuration of the peripherals. The
MCC is a plugin for the MPLAB X IDE.
Additionally, the MCC is used to configure and generate libraries, which allows the user
to configure and generate code for software libraries and off-chip peripherals.
The generated drivers or libraries can be used in any Microchip PIC device application
program. The MCC requires a MPLAB X IDE project to be created, or an existing
project opened, before launching the MCC plugin. This is necessary as the MCC needs
to know the device used in the project, to have access to device-specific information
like registers, bits and configurations and to set up the MCC GUI.
The MCC generates source and header files based on selections made in the GUI. The
generated files are added to the active project of MPLAB X IDE.
Figure 1-1 shows an overview of working of the MCC for generating peripheral drivers
or libraries.
 2016 Microchip Technology Inc.
DS40001829B-page 8
Overview
FIGURE 1-1:
 2016 Microchip Technology Inc.
WORKING OF MPLAB® CODE CONFIGURATOR
DS40001829B-page 9
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Chapter 2. Operating Areas
2.1
OVERVIEW
The MCC user interface consists of three main operating areas, as shown in
Figure 2-1.
1. Resource Area: This area displays the MCC supported on-chip peripherals,
libraries, and off-chip peripherals that are available for the selected device. The
Resource Area includes project resources selected for the project, the device
resources showing the available resources and the available MCC library
versions on the local machine.
2. Composer Area: This area is the main area in which a peripheral or library driver
can be configured. This area provides the user with an interface to configure the
peripheral or the library driver.
3. Pin Manager Area: in this area the I/O pins of the device can be configured. The
Pin Manager Table View provides an interface for configuring the device pins.
This area also displays the pins in a Package View, showing the pin out of the
device and the functions assigned to the pins.
 2016 Microchip Technology Inc.
DS40001829B-page 10
MCC WITH DIFFERENT OPERATING AREAS
 2016 Microchip Technology Inc.
FIGURE 2-1:
Operating Areas
DS40001829B-page 11
Operating Areas
2.2
RESOURCE AREA
The Resource Area is further divided into three sub-windows:
1. Project Resources Area
2. Device Resources Area
3. Versions Area
2.2.1
Project Resources Area
The Project Resources Area (Figure 2-2) displays the list of on-chip and off-chip
peripherals, and libraries that have been configured for the MCC project. The
peripheral and libraries are added to the project by selecting them from the Device
Resources Area. To add a peripheral or library to the Project Resources Area,
double-click on its name in the Device Resources Area. The corresponding user
interface gets displayed in the Composer Area from where the selected module can be
configured.
A module in the Project Resources window can be removed from the project by clicking
the X button to the right of the module name in the Project Resources Area. The module
will be removed from the MPLAB X IDE project. When a module is removed from the
Project Resources, all of the configuration information for that module is lost.
There are three system modules that are always available in the Project Resources
Area. These modules cannot be removed. The modules are:
1. Interrupt Module: configures the interrupts for the device.
2. Pin Module: configures the pins for the device.
3. System Module: configures the system clock, Configuration bits, and other
device-level functions for the device.
FIGURE 2-2:
2.2.2
PROJECT RESOURCES AREA
Device Resources Area
The Device Resources Area (Figure 2-3) lists data sheet, on-chip and off-chip peripherals
and libraries supported by MCC for the device configured in the MPLAB X IDE project.
These items can be added to the MCC Project Resources Area. When the name of a
peripheral or library is double-clicked, it is moved from the Device Resources Area, to
the Project Resources Area.
Note:
 2016 Microchip Technology Inc.
The Documents section of the Device Resources Area provides a link to the
data sheet of the selected device on www.microchip.com.
DS40001829B-page 12
Operating Areas
FIGURE 2-3:
DEVICE RESOURCES AREA
The Device Resources tree shown in Figure 2-3 can also be navigated and handled by
using the following keys:
1. Up and down arrow keys: for moving up and down in the tree, respectively
2. Right arrow key: for expanding a node
3. Left arrow key: for collapsing a node
2.2.3
Versions Area
The Versions Area provides information about the versions of the component groups
that make up MCC. These component groups are called “Libraries”. Over time, multiple
versions of the Libraries may be available. In the Versions Area, MCC can be configured to use a specific version of a Library for the current MCC project.
 2016 Microchip Technology Inc.
DS40001829B-page 13
Operating Areas
FIGURE 2-4:
VERSIONS AREA
- A red dot means that the version of the library is not compatible with the version of the core installed.
- A grey dot means that the version of the library is compatible but is not loaded
in the device resources.
- A green dot means that the version is compatible with the core and is loaded
in the device resources.
To load a compatible version of the library in the device resources, the user needs to
invoke the context menu and select “Mark for Load” for the specific library and then hit
Load Selected Libraries button in Versions Area.
2.2.3.1
ADDING LIBRARIES TO MCC
The user can download the library from the MCC website and load it to MCC in MPLAB
X.
 2016 Microchip Technology Inc.
DS40001829B-page 14
Operating Areas
FIGURE 2-5:
LIBRARIES
1. Choose where you have downloaded the library; it should be a .jar file. (If you
have downloaded from the website, it might be in .zip format, which would need
to be unzipped).
2. Using the “Open Library folder”, copy the library into that location.
3. Restart MCC.
4. The newly added library should appear in the Versions Area.
2.3
PIN MANAGER AREA
The Pin Manager Area consists of the following two sub-areas:
1. The Package or Graphical View, which shows a graphical representation of the
package selected for the device (Figure 2-6).
2. Table View, which shows a tabular form of the Pin Manager (Figure 2-8). I/O pins
of the selected device can be configured from these windows.
Note:
 2016 Microchip Technology Inc.
In addition to the Pin Manager Area, additional pin configuration is provided
by the Pin Module in the Composer Area. When the Pin Module is selected
in the Project Resources Area, the Pin Module View is shown in the
Composer Area.
DS40001829B-page 15
Operating Areas
The following color combinations are associated with the pins in Graphical or Table
View:
1. Gray colored pin: indicates that the pin is not usable in the selected configuration
and that there is no enabled module which has any functionality on that pin.
There are also grayed out locks on a white background that indicate pins that are
locked out by selected system functions.
2. Blue colored pin: indicates pins that are available to be allocated to a module.
3. Green colored pin (with a lock): this combination indicates that the pin has been
allocated and selected for a module. The name displayed against the pin is either
the name of the pin in the module’s context or a custom name entered.
4. Green color pin (with chain link): this combination indicates that the pin is shared
between multiple functions.
5. Yellow colored pin: indicates a possible alternate pin for an already allocated pin
function.
6. Grayed out locks on a white background indicates pins that are locked out by
selected system functions.
2.3.1
Package View
The graphical Pin Manager can be zoomed in and out in order to adjust its visibility. This
can be done by scrolling the mouse wheel when the mouse is over the Package View.
Zooming can also be achieved by the “+” and “-” keys on the keyboard (useful if the
mouse is not available).
FIGURE 2-6:
2.3.2
PACKAGE VIEW OF PIN MANAGER
Table View
In the Table View sub-area, the device package can be selected from a drop-down list.
The package selection is in the upper left side of the Pin Manager Table View. In
Figure 2-7, the drop-down list shows that the TQFP44 package has been selected.
The selected package will be displayed in the Package View. The pin numbers in the
Table View will also show the pin numbers for the selected package.
 2016 Microchip Technology Inc.
DS40001829B-page 16
Operating Areas
FIGURE 2-7:
TABLE VIEW OF PIN MANAGER (MCC V3.00 AND EARLIER)
The three leftmost columns in the Table View indicate the module’s name, functionality
name and the direction, respectively.
The Table View or the Package View can be exported using the Export button. It is used
to save the Package or the Table View to an image file. The supported image format is
.png.
FIGURE 2-8:
TABLE VIEW OF PIN MANAGER
The Table View allows you to:
- Expand/collapse rows and ports (Figure 2-9)
- Hide and show ports and rows (Figure 2-9 and Figure 2-10)
- Show only the pins that are configured (Isolate) (Figure 2-11)
FIGURE 2-9:
 2016 Microchip Technology Inc.
COLLAPSING PORTS AND ROWS
DS40001829B-page 17
Operating Areas
FIGURE 2-10:
HIDING PORTS AND ROWS
FIGURE 2-11:
RESTORING PORTS AND ROWS (SHOW ALL)
FIGURE 2-12:
ISOLATING THE SELECTED PINS
 2016 Microchip Technology Inc.
DS40001829B-page 18
Operating Areas
2.3.3
Pin Module View
For any pin which has been configured in the Pin Manager Table View, additional
configuration of that pin can be done using the Pin Module View in the Composer Area.
To display the Pin Module View, click on the Pin Module in the Project Resources Area
(Figure 2-13).
FIGURE 2-13:
 2016 Microchip Technology Inc.
PIN MODULE VIEW OF PIN MANAGER
DS40001829B-page 19
Operating Areas
2.4
COMPOSER AREA
When a peripheral or library is selected from the Project Resources Area, its
corresponding configuration GUI is displayed in the Composer Area. The Composer
Area (Figure 2-14) is where peripherals and libraries are configured based on the
application’s requirements.
After completing the configuration of the peripheral, clicking the Generate Code button
will generate drivers for all of the peripherals and libraries configured for the device.
2.4.1
The Easy Setup Tab
FIGURE 2-14:
COMPOSER AREA FOR UART MODULE
If the UART1 peripheral is selected from the Project Resources Area, the UART1
Composer Area is displayed.
The Easy Setup tab in the UART Composer Area allows configuring various UART
parameters related to the transmission and the reception operations.
2.4.2
The Registers Tab
In addition to the Easy Setup tab in the module’s Composer, MCC v3.00 also provides
a Registers tab (Figure 2-15). The Registers tab provides direct access for the user
to configure the module’s registers and settings. The Easy Setup tab allows
configuration of the common usages of the modules. The Registers tab allows the user
unrestricted access to the configuration of the module.
Any module configuration done using the Easy Setup tab will be reflected in the values
displayed in the Registers tab. Likewise, changes performed in the Registers tab, will
be reflected in the values in the Easy Setup tab.
 2016 Microchip Technology Inc.
DS40001829B-page 20
Operating Areas
FIGURE 2-15:
2.4.3
REGISTER VIEW
The Notifications Tab
The notifications in the Composer View show details and hints for all the modules that
are being selected in the Project Resources window.
The Notifications tab (Figure 2-16) has four columns: category, module name, type,
and description.
1. Category: identifies the notification as an alert or information that the module
depends on another module.
2. Module Name: is the name of the module that generated the notification.
3. Type: indicates the severity of the notification.
- Hint: this provides information to assist in the successful configuration of the
module. The module and the MCC can still be used. Action might be required.
- Info: information only, no action is required.
Note:
The notification type may change as the user changes the configuration of
MCC. For example, “Warning” might indicate that a module requires
another module to be added to the project to operate correctly. After the
module is added, the notification type would change to “Info”.
Note:
Notifications with a type of “Warning” or “Error” indicates that MCC code
generation may fail, or that the generated code may not operate as
intended when it is loaded on the target device.
 2016 Microchip Technology Inc.
DS40001829B-page 21
Operating Areas
FIGURE 2-16:
NOTIFICATIONS TAB IN COMPOSER AREA
The MCC configuration is saved to the disk when the Generate button is pressed, or if
the MPLAB X IDE Save button is clicked.
An existing MCC configuration file can be loaded by double-clicking on the desired
.mc3 file in the Important Files section of the MPLAB X IDE project (Figure 2-17).
FIGURE 2-17:
SAVE/LOAD BUTTONS IN MPLAB X IDE
At any time, using the Undo and Redo buttons, located in the MPLAB X IDE toolbar
(Figure 2-18), will undo and redo the settings in the Composer or the Pin Manager
Area.
FIGURE 2-18:
 2016 Microchip Technology Inc.
UNDO/REDO BUTTONS IN MPLAB X IDE
DS40001829B-page 22
Operating Areas
FIGURE 2-19:
INVALID DATA ENTRY
Additional validation is implemented for areas where text is entered by the user. The
field will blink on and off until a legal value is entered. In Figure 2-19 the field requires
a legal “C” identifier.
2.5
MCC OPTIONS
Several aspects of the operation of the MCC can be managed by using the “Options”
panel (Figure 2-20), which can be invoked by clicking Tools → Options →
Embedded → MPLAB Code Configurator in the menu bar of the MPLAB® X IDE.
FIGURE 2-20:
MCC OPTIONS PANEL
The MCC Options panel offers the following controls:
2.5.1
MCC File Handling
1. Remove unused files from the project: enabling this option tells the MCC to
remove .c and .h files for modules which were removed from the MCC
configuration between the subsequent generation procedures. This option
ensures that the files which are included in the project (and thus in the
compilation) are only those which are strictly necessary. However, this will not
delete the files from the disk.
2. Delete unused files from the disk: this option gets enabled only when selecting
“Remove unused files from the project”. This performs the additional task of
deleting unused files from the disk and therefore, files cannot be recovered
anymore.
 2016 Microchip Technology Inc.
DS40001829B-page 23
Operating Areas
2.5.2
MCC Dialogs
1. Always ask before removing a module: enabling this control enables the “Are you
sure?” dialog box which appears while disabling or removing an enabled module.
2. Always ask before removing a pin: enabling this control enables the “Are you
sure?” dialog box which appears while deallocating or removing a pin from a
peripheral.
2.5.3
MCC Line Endings
Specify the type of line endings to use in the files generated by MCC. The default is
DOS (<CR><LF>). Unix line endings (<LF>) may be specified.
2.5.4
MCC Libraries
1. Use the Add Library button to add a MCC modular library to the MCC plugin.
2. Use the Open Library Folder button to view the MCC modular libraries folder.
 2016 Microchip Technology Inc.
DS40001829B-page 24
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Chapter 3. Generating MCC Drivers
3.1
SETTING UP MPLAB X IDE AND LAUNCHING THE MCC
To generate drivers using the MCC in MPLAB® X IDE, follow these steps:
1. Create a new MPLAB® X IDE project or open an existing project (Figure 3-1).
2. If multiple projects are open in MPLAB X IDE, set one as the main (active) project
by selecting “Set as Main Project” in the MPLAB X IDE. For the active project,
the MCC automatically includes the generated driver files.
3. Open the MCC plugin tool. For this, in the menu bar of the MPLAB X IDE, go to
Tools → Embedded → MPLAB® Code Configurator v3. Or, click on the MCC
icon in the MPLAB X IDE toolbar.
Note:
For MAC users the “Embedded” selection will be under the “Preferences”
menu. This launches the MCC GUI.
FIGURE 3-1:
 2016 Microchip Technology Inc.
OPENING THE MCC IN MPLAB® X IDE
DS40001829B-page 25
Generating MCC Drivers
3.2
SELECTING AND CONFIGURING MODULES
After opening the MCC, peripheral and library modules can be added to the project.
1. In the Project Resource Area, select the peripheral or library module which
needs to be configured by clicking the module’s name. After a peripheral or
library module is selected for configuration, the configuration GUI for that
peripheral is displayed in the Composer Area.
2. Configure the peripheral as required for your application in the Composer Area.
3. Configure the pins in the Pin Manager Area depending upon the application
requirements.
3.3
GENERATING CODE
When the MCC Generate button is pressed in the Project Resources window, the listed
actions are performed by MCC. Details of the code generation are shown in the MCC
Output window (Figure 3-2).
1. The MCC configuration file is saved. If this is the first time the MCC configuration
file has been saved, a Save dialog box appears. The user can specify a name
for the MCC configuration or accept the default name MyConfig.
2. MCC generates code for the peripheral or library module if the module’s
configuration has changed since the last time MCC generated code for that
module.
Note:
The user can force all modules to be generated by MCC by right-clicking in
the Project Resources window and selecting “Force Update”, before
clicking on the Generate button.
If MCC attempts to regenerate a file on the disk that has been modified outside of MCC,
the MCC Merge window is displayed. The MCC Merge window allows the user to select
whether to keep the modified file (default action), or to replace the modified content with
the content generated by MCC.
The MCC Merge window is discussed in Section 3.3.2 “The MCC Merge Window”.
FIGURE 3-2:
 2016 Microchip Technology Inc.
MCC OUTPUT WINDOW
DS40001829B-page 26
Generating MCC Drivers
3.3.1
Saving and Loading the MCC Configuration
Saving and loading the MCC v3 configuration is integrated into the MPLAB X IDE Save
and Load functions. The MCC v3 configuration is saved whenever the Generate button
is pressed. The user can also save the MCC v3 configuration by clicking on the MPLAB
X IDE Save tool, or selecting Save from the File menu (see Figure 2-17).
The MCC v3 configuration file is included in the MPLAB X IDE project, under the
Important Files folder. The configuration file uses the extension .mc3. Double-clicking
on the MCC v3 configuration file will cause that MCC v3 configuration to be loaded
(Figure 2-17).
3.3.2
The MCC Merge Window
If any of the files generated by the MCC has been edited outside of MCC and saved to
the disk, then the MCC Merge window will appear in the Composer Area. The MCC
Merge window allows the user to decide whether to keep the edits, or to replace them
with the MCC newly generated code.
Note:
User edits will never be overwritten by the MCC generated code, except by
explicit user action in the MCC Merge window.
When changes have been made both to a generated file and also in the MCC
Composer window, the MCC Merge window shown in Figure 3-3 will be displayed. The
MCC Merge window allows the user to resolve the conflicts between the newly
generated file and the edits the user has made to the file.
When the newly generated MCC content has been accepted by the user, MCC makes
the changes to the file. To the MPLAB X IDE, these changes are the same as if the user
typed in the new content. The normal MPLAB X IDE edit undo can be used in the MCC
Merge operation.
FIGURE 3-3:
MCC MERGE WINDOW – FILE LIST
A list of all the files that need to be merged is shown at the top of the MCC Merge
window. The user must select each file in the list, in turn, to ensure that all of the newly
generated code is incorporated into the project.
 2016 Microchip Technology Inc.
DS40001829B-page 27
Generating MCC Drivers
At the top of the MCC Merge window, in the center margin, there is an arrow, as shown
in Figure 3-4. Clicking on the arrow will replace all of the user edits in the current file
with the MCC updated code that the MCC has just generated. The numbers above the
arrow indicate the current difference and the total number of differences.
FIGURE 3-4:
MCC MERGE WINDOW – REPLACING ALL USER EDITS
WITH MCC GENERATED CODE
The individual lines of MCC Updated Code can be selected to replace the edited code.
As shown in Figure 3-5, clicking on the arrows in the right margin of the left window will
copy the MCC Updated Code to the generated driver file. Once the changes are
accepted the Merge Tool will remove the highlighted file and highlight the next file on
the list. To insure all updates are completed a warning will be generated if the Merge
Tool is closed before all the changes are accepted.
FIGURE 3-5:
MCC MERGE WINDOW – REPLACING SINGLE CHANGES
WITH MCC GENERATED CODE
Note:
Remember to merge the code for every file shown in the file list in the MCC
Merge window.
Note:
Be sure to save all the changed files from the Merge.
 2016 Microchip Technology Inc.
DS40001829B-page 28
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Chapter 4. Generated Sources and Header Files
The generated drivers will be included in the active MPLAB® X IDE project, as shown
in Figure 4-1.
FIGURE 4-1:
1.
2.
3.
4.
5.
GENERATED SOURCE AND HEADER FILES
The mcc.h and mcc.c files include the definitions of Configuration bits and the
OSCILLATOR_initializer function. These definitions are based on the settings
which were made for the System module in the Composer. Also included is the
SYSTEM_initializer function which can be called in the application program to
call all the other default initializers (the ones marked in the GUI by sprocket symbol).
The pin_manager.h and pin_manager.c files include the Pin Manager
initializer functions based on the configurations which were made in the Pin
Manager GUI.
The interrupt_manager.h and interrupt_manager.c files are optional
files which are generated only when peripheral interrupts are enabled and they
include interrupt initializer functions.
The .c and .h are module specific files and include each module’s
peripheral\library configuration functions.
The main.c file is generated only when the MCC detects that there is no main.c
file present in the project. If there is any previous main.c in the project regardless
of its creator (the user or the MCC), it will not generate or overwrite the existing one.
When using a main.c not generated by the MCC the lines: “#include”,
“mcc_generated_files/mcc.h”, and SYSTEM_Initializer() need to be added to
the main.c file. The main.c file generated by the MCC may include commented
out code lines to enable interrupts. Remove the comments from the appropriate
lines if the application requires interrupts to be enabled when it starts.
 2016 Microchip Technology Inc.
DS40001829B-page 29
Generated Sources and Header Files
The Functions provided in any of these MCC generated files can be called from
the user application code, as required. The MPLAB X IDE provides auto-completion assistance of all of the MCC generated content. While editing source code
in the project, start typing in a MCC API, or MCC variable name, and press
<CTRL+ Space>. The MPLAB X IDE will show a list of options to complete the
entry.
 2016 Microchip Technology Inc.
DS40001829B-page 30
MPLAB® CODE CONFIGURATOR V3.XX
USER’S GUIDE
Chapter 5. MCC Device Migration
Using a MCC configuration created for one device, on a different device is called MCC
device migration.
Note:
MCC device migration is not supported in MCC.
It is possible that attempting to use a MCC configuration on a device other than the one
for which it was created, might appear not to fail. It is wholly the responsibility of the
user to determine if the MCC code generated as the result of device migration is
suitable for use in their application.
Unintended MCC device migration may occur if the selected device in the MPLAB X
IDE project is changed after MCC has been configured for that project. Copying a MCC
v3 configuration file (*.mc3) to another MPLAB X IDE project may also cause MCC
device migration or other unintended operation.
 2016 Microchip Technology Inc.
DS40001829B-page 31
Worldwide Sales and Service
AMERICAS
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://www.microchip.com/
support
Web Address:
www.microchip.com
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
Germany - Dusseldorf
Tel: 49-2129-3766400
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Hong Kong
Tel: 852-2943-5100
Fax: 852-2401-3431
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8569-7000
Fax: 86-10-8528-2104
Austin, TX
Tel: 512-257-3370
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Canada - Toronto
Tel: 905-673-0699
Fax: 905-673-6509
China - Dongguan
Tel: 86-769-8702-9880
China - Hangzhou
Tel: 86-571-8792-8115
Fax: 86-571-8792-8116
India - Pune
Tel: 91-20-3019-1500
Japan - Osaka
Tel: 81-6-6152-7160
Fax: 81-6-6152-9310
Japan - Tokyo
Tel: 81-3-6880- 3770
Fax: 81-3-6880-3771
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
China - Hong Kong SAR
Tel: 852-2943-5100
Fax: 852-2401-3431
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
China - Shenzhen
Tel: 86-755-8864-2200
Fax: 86-755-8203-1760
Taiwan - Hsin Chu
Tel: 886-3-5778-366
Fax: 886-3-5770-955
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
Taiwan - Kaohsiung
Tel: 886-7-213-7828
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
Germany - Karlsruhe
Tel: 49-721-625370
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy - Venice
Tel: 39-049-7625286
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Poland - Warsaw
Tel: 48-22-3325737
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Stockholm
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Taiwan - Taipei
Tel: 886-2-2508-8600
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
07/14/15
 2016 Microchip Technology Inc.
DS40001829B-page 32