Contents
Preface
1. Introduction
1.1. Features
1.2. New and Noteworthy
1.2.1. Microchip Studio for AVR and SAM Devices
1.2.2. Atmel Studio 6.2 Service Pack 2
1.2.3. Atmel Studio 6.2 Service Pack 1
1.2.4. Atmel Studio 6.2
1.2.5. Atmel Studio 6.1 Update 2
1.2.6. Atmel Studio 6.1 Update 1.1
1.2.7. Atmel Studio 6.1 Update 1
1.2.8. Atmel Studio 6.1
1.2.9. Atmel Studio 6.0
1.2.10. AVR® Studio 5.1
1.3. Installation
1.4. Contact Information
2. Getting Started
2.1. Microchip Studio, START, and Software Content
2.1.1. Atmel START
2.1.2. Software Content (Drivers and Middlewares)
2.1.3. Integrated Development Environment (IDE)
2.2. AVR and SAM HW Tools and Debuggers
2.3. Data Visualizer and Power Debugging Demo
2.4. Installation and Updates
2.4.1. Installation
2.4.2. Downloading Offline Documentation
2.5. Microchip Gallery and Studio Extensions
2.6. Creating a New Project
2.7. Atmel START Integration
2.8. Using MPLAB® Code Configurator (MCC)
2.9. Creating From Arduino® Sketch
2.10. In-System Programming and Kit Connection
2.10.1. Settings Verification
2.11. I/O View and Other Bare-Metal Programming References
2.12. Editor: Writing and Re-Factoring Code (Visual Assist)
2.13. AVR® Simulator Debugging
2.14. Debugging 1: Break Points, Stepping, and Call Stack
2.15. Debugging 2: Conditional- and Action-Breakpoints
2.15.1. Conditional Breakpoints
2.15.2. Action Breakpoints
2.15.3. Code Used (for ATtiny817 Xplained Pro)
2.16. Debugging 3: I/O View Memory View and Watch
2.16.1. I/O View
2.16.2. Memory View
2.16.3. Watch Window
3. Project Management
3.1. Introduction
3.1.1. The Solution Container
3.1.2. Save and Open Projects
3.1.3. Project Output View
3.1.4. Solution Explorer
3.1.5. Toolbar Icons
3.1.6. Hierarchical Display
3.1.7. Item Management Commands
3.1.8. Project Components
3.1.8.1. Change Version
3.2. GCC Projects
3.2.1. New Project Wizard
3.2.2. Starting a New GCC Project for AVR® Device
3.2.3. Libraries Options
3.2.3.1. Toolchain Libraries
3.2.3.2. Project Libraries
3.2.3.3. Browse Libraries
3.2.3.4. How to Add Project Library
3.2.3.5. How to Add Toolchain Library
3.2.4. Starting a New GCC Project for SAM Device
3.2.5. Code Editing
3.2.6. Starting a New GCC Static Library Project
3.2.6.1. Why Static Libraries
3.2.6.2. Create New Static Library Project
3.2.6.3. Static Library Project Options (AVR®/GNU Archiver)
3.2.7. GCC Project Options and Configuration
3.2.7.1. Build Options
3.2.7.2. Build Events
3.2.7.3. Compiler and Toolchain Options
3.2.7.3.1. AVR® GCC Linker Options
3.2.7.3.2. AVR® Assembler Options
3.2.7.4. Device Options
3.2.7.5. Tool Options
3.2.7.6. Advanced Options
3.2.7.6.1. Setting Toolchain Flavors
3.2.7.6.2. Use GDB
3.2.7.7. Creating ELF Files with Other Memory Types
3.2.7.7.1. Creating ELF Files for tinyAVR®, megaAVR®, and XMEGA® Devices
3.2.7.7.2. Creating ELF Files for ATtiny4/5/9/10
3.2.7.7.3. Creating ELF Files for UC3
3.2.7.7.4. Project Properties
3.3. XC8 Projects
3.3.1. Starting a New XC8 Application Project for an AVR® Device
3.3.2. Libraries Options
3.3.2.1. How to Add Project Libraries
3.3.2.2. How to Add Toolchain Libraries
3.3.2.3. How to Browse and Add Libraries
3.3.3. Starting a New XC8 Library Project
3.3.3.1. Why Create Libraries
3.3.3.2. Create a New Library Project
3.3.3.3. Library Project Options (XC8 Archiver)
3.3.4. XC8 Project Options and Configuration
3.3.4.1. Build Options
3.3.4.2. Build Events
3.3.4.3. Compiler and Toolchain Options
3.3.4.3.1. XC8 Linker Options
3.3.4.3.2. XC8 Assembler Options
3.3.4.4. Device Options
3.3.4.5. Tool Options
3.3.4.6. Advanced Options
3.4. Assembler Projects
3.4.1. Create New Assembler Project
3.4.1.1. Project Context Menu
3.4.2. Assembler Options AsmToolchainOptions
3.4.2.1. Description of the Various Settings
3.5. Import of Projects
3.5.1. Introduction
3.5.2. Import AVR® Studio 4 Project
3.5.3. Import AVR® 32 Studio Project
3.5.4. Import Project Template
3.6. Debug Object File in Microchip Studio
3.6.1. Introduction
3.6.2. Microchip Studio Supported Debug Formats
3.6.3. Opening Object File for Debugging
3.7. Convert an AVR GCC Project to an XC8 Project
4. Debugging
4.1. Introduction
4.1.1. Debug Platform Independent Debug Environment
4.1.2. Differences Between Platforms
4.2. Starting a Debug Session
4.3. Ending a Debug Session
4.4. Attaching to a Target
4.5. Start Without Debugging
4.5.1. One Click Programming - Program and Run
4.5.2. Keyboard Shortcut
4.6. Debug Control
4.7. Breakpoints
4.7.1. General Information on Breakpoints
4.7.1.1. Breakpoint Glyphs
4.7.2. Operations with Breakpoints
4.7.2.1. To Set a Breakpoint
4.7.2.2. To Set an Address Breakpoint
4.7.2.3. To Edit a Breakpoint Location
4.7.2.4. Hit Count Keeps Track of How Many Times a Breakpoint is Hit
4.7.2.5. To Specify a Hit Count
4.7.2.6. To Enable or Disable a Single Breakpoint
4.7.2.7. To Enable or Disable all Breakpoints
4.7.2.8. To Delete a Breakpoint
4.7.2.9. To Delete all Breakpoints
4.7.3. Breakpoint Window
4.7.3.1. To Open the Breakpoints Window
4.7.3.2. To Go to the Location of a Breakpoint
4.7.3.3. To Display Additional Columns
4.7.3.4. To Export all Breakpoints that Match the Current Search Criteria
4.7.3.5. To Export Selected Breakpoints
4.7.3.6. To Import Breakpoints
4.7.3.7. To View Breakpoints that Match a Specified String
4.7.3.8. To View all Breakpoints after a Search
4.7.3.9. Breakpoint Labels
4.7.3.10. To Label Breakpoints
4.7.3.11. To Search for Breakpoints that have a Specified Label
4.7.3.12. To Remove Labels from Breakpoints
4.7.3.13. To Sort the Breakpoint List by Label
4.8. Data Breakpoints
4.8.1. Adding Data Breakpoint
4.8.2. Data Breakpoints Window
4.8.2.1. Data Breakpoints Tool Window
4.8.2.2. Data Breakpoint Configuration Window for megaAVR®
4.8.2.3. Data Breakpoint Configuration Window for XMEGA®
4.8.2.4. Data Breakpoint Configuration Window for UC3
4.8.2.5. Data Breakpoint Configuration Window for SAM
4.8.2.5.1. Data Match Example
4.8.2.6. Data Breakpoint Configuration Window for Simulator Tool
4.8.2.7. How to: Specify a Data Breakpoint Hit Count
4.8.2.8. When Breakpoint is Hit Dialog Box
4.8.3. General Information on Data Breakpoint
4.8.4. Data Breakpoint Usage
4.8.4.1. Stack Overflow Detection Using Data Breakpoint
4.9. QuickWatch, Watch, Locals, and Autos Windows
4.9.1. Watch Window
4.9.2. Locals Window
4.9.2.1. To Display the Locals Window
4.9.2.2. To Choose an Alternative Context
4.9.2.3. To Modify the Value of a Variable in the Locals Window
4.9.2.3.1. Setting Numeric Format
4.9.3. Autos Window
4.9.3.1. To Modify the Value of a Variable in the Autos Window
4.9.3.2. Setting Numeric Format
4.9.4. QuickWatch and Watches
4.9.5. Expression Formatting
4.10. DataTips
4.10.1. Expanding and Editing Information
4.10.2. Making a DataTip Transparent
4.10.3. Visualizing Complex Data Types
4.10.4. Adding Information to a Watch Window
4.10.5. Importing and Exporting DataTips
4.11. Disassembly View
4.12. I/O View
4.12.1. About the I/O View
4.12.2. Using the I/O View Tool
4.12.3. Editing Values and Bits in Break Mode
4.13. Processor View
4.14. Register View
4.15. Memory View
4.16. Call Stack Window
4.17. Object File Formats
4.18. Trace
4.18.1. Application Output
4.18.1.1. ITM
4.18.1.2. IDR Events
4.18.2. Program Counter Sampling
4.18.2.1. Arm® Implementations
4.18.2.2. AVR® 32-Bit Implementation
4.18.3. Variable Watching
4.18.3.1. Arm® Implementations
4.18.3.2. AVR® 32-Bit Implementation
4.19. Trace View
4.19.1. Trace View Options
4.19.1.1. Starting the Program Trace
4.19.1.2. Stop Trace
4.19.1.3. Clear Trace
4.19.1.4. Highlight Source Code
4.19.1.5. Trace View Settings
4.19.2. Trace View Interpretation
4.19.2.1. Trace Stack View
4.19.2.2. Coverage View
5. Programming Dialog
5.1. Introduction
5.2. Interface Settings
5.3. Tool Information
5.4. Board Settings/Tool Settings
5.4.1. Power Debugger
5.4.2. STK600
5.4.3. QT600
5.4.4. STK500
5.5. Card Stack
5.6. Device Information
5.7. Oscillator Calibration
5.8. Memories
5.9. Fuse Programming
5.10. Lock Bits
5.11. Production Signatures
5.12. Production Files
5.13. Security
5.14. Automatic Firmware Upgrade Detection
6. Miscellaneous Windows
6.1. Device Pack Manager
6.2. User Interface Profile Selection
6.3. Available Tools View
6.3.1. Introduction
6.3.2. Tool Actions
6.3.3. Add a Non-Detectable Tool
6.3.3.1. Add J-Link over IP
6.4. Tool Info Window
6.4.1. Xplained Pro Kits
6.4.2. Disable the Tools Info Window
6.4.3. Manually Showing the Window
6.5. Firmware Upgrade
6.5.1. Introduction
6.5.2. Automatic Upgrade
6.5.3. Manual Upgrade
6.6. Find and Replace Window
6.7. Export Template Wizard
6.7.1. Project Template
6.7.2. Item Template
6.7.3. Template Parameters
6.7.3.1. Declaring and Enabling Template Parameters
6.7.3.2. Default Template Parameters
6.7.3.3. Custom Template Parameters
6.8. Kit Mode Setting
7. GNU Toolchains
7.1. GNU Compiler Collection (GCC)
7.2. Arm Compiler and Toolchain Options: GUIToolchainOptions
7.3. Arm® GNU Toolchain Options
7.3.1. Arm®/GNU Common Options
7.3.2. Compiler Options
7.3.2.1. Preprocessor
7.3.2.2. Symbols
7.3.2.3. Directories
7.3.2.4. Optimization
7.3.2.5. Debugging
7.3.2.6. Warnings
7.3.2.7. Miscellaneous
7.3.3. Linker Options
7.3.3.1. General
7.3.3.2. Libraries
7.3.3.3. Optimization
7.3.4. Assembler Options
7.3.5. Preprocessing Assembler Options
7.3.6. Archiver Options
7.4. Binutils
7.5. AVR Compiler and Toolchain Options: GUIToolchainOptions
7.6. Commonly Used Options
7.6.1. Compiler Options
7.6.1.1. General
7.6.1.2. Preprocessor
7.6.1.3. Symbols
7.6.1.4. Directories
7.6.1.5. Optimization
7.6.1.6. Debugging
7.6.1.7. Warnings
7.6.1.8. Miscellaneous
7.6.2. Linker Options
7.6.2.1. General
7.6.2.2. Libraries
7.6.2.3. Optimization
7.6.3. Assembler Options
7.7. 8-Bit Specific AVR® GCC Command-Line Options
7.7.1. AVR® C Compiler
7.7.1.1. General
7.7.1.2. Optimization
7.7.1.3. Miscellaneous
7.7.2. AVR® C Linker
7.7.2.1. Optimization
7.8. 32-Bit Specific AVR® GCC Command-Line Options
7.8.1. Optimization
7.8.2. Debugging
7.8.3. AVR32 C Linker
7.8.3.1. Optimization
7.8.3.2. Miscellaneous
7.9. Binutils
8. XC8 Toolchain
8.1. Introduction
8.2. XC8 Compiler and Toolchain Options: GUI Toolchain Options
8.3. XC8 Toolchain Options
8.3.1. XC8 Common Options
8.3.1.1. General
8.3.1.2. Output Files
8.3.1.3. Miscellaneous
8.3.2. Compiler Options
8.3.2.1. General
8.3.2.2. Symbols
8.3.2.3. Directories
8.3.2.4. Optimization
8.3.2.5. Debugging
8.3.2.6. Warnings
8.3.2.7. Miscellaneous
8.3.3. Linker Options
8.3.3.1. General
8.3.3.2. Libraries
8.3.3.3. Optimization
8.3.3.4. Miscellaneous
8.3.4. Assembler Options
8.3.4.1. General
8.3.4.2. Debugging
8.3.4.3. Miscellaneous
8.3.5. Archiver Options
8.3.5.1. General
9. Extending Microchip Studio
9.1. Extension Manager UI
9.2. Registering at the Microchip Gallery
9.3. Installing New Extensions in Microchip Studio
9.4. Visual Assist
9.5. Percepio Tracealyzer
9.6. Overview of the QTouch® Composer and Library
9.6.1. Installation
9.6.2. Overview of the QTouch® Project Builder
9.6.3. Overview of the QTouch® Analyzer
9.7. Scripting Extensions
9.7.1. Debug Scripting
10. Menus and Settings
10.1. Customizing Existing Menus and Toolbars
10.2. Reset Your Settings
10.3. Options Dialog Box
10.3.1. Environment Options
10.3.1.1. General Environment Settings
10.3.1.2. Add-in/Macros Security
10.3.1.2.1. Add-in Security Settings
10.3.1.3. AutoRecover
10.3.1.4. Find and Replace
10.3.1.5. Fonts and Colors
10.3.1.6. Language and International Settings
10.3.1.7. Keyboard Settings
10.3.1.8. Start-up Page — to Change the Default UI Displayed when You Start Microchip Studio
10.3.1.9. Import and Export Settings
10.3.1.10. Task List
10.3.1.11. Web Browser Options
10.3.1.12. Custom Start Pages
10.3.2. Project Options
10.3.2.1. General Settings
10.3.2.2. Build and Run Options
10.3.3. Source Control
10.3.4. Text Editor Options
10.3.4.1. General Settings
10.3.4.2. File Extensions and Associations
10.3.4.3. General Language Options
10.3.4.4. Tabs Dialog
10.3.4.5. AVR® Assembler Language-Specific Settings
10.3.4.5.1. General Language Options
10.3.4.5.2. Tabs Dialog
10.3.4.6. AVR® GCC Language-Specific Settings
10.3.4.6.1. General Language Options
10.3.4.6.2. Tabs Dialog
10.3.4.7. Plain Text Settings
10.3.4.7.1. General Language Options
10.3.4.7.2. Tabs Dialog
10.3.4.8. XML Settings
10.3.4.8.1. General Language Options
10.3.4.8.2. Tabs Dialog
10.3.4.8.3. XML Formatting Options
10.3.4.8.4. XML Miscellaneous Options
10.3.5. Debugger
10.3.5.1. Usage
10.3.5.2. AVR® Debugger Settings
10.3.6. Advanced Software Framework Settings
10.3.7. Builder
10.3.8. Device and Tool Libraries
10.3.9. Status Management
10.3.10. Text Templating
10.3.11. Toolchain
10.3.11.1. Flavor
10.3.11.1.1. Add Flavor
10.3.11.1.2. Set Default Flavor
10.3.11.1.3. Delete Flavor
10.3.12. GDB Settings
10.4. Code Snippet Manager
10.4.1. Managing Code Snippets
10.4.2. Code Snippet Manager Layout
10.4.3. Modifying Existing Code Snippets
10.5. External Tools
10.5.1. Add an External Tool to the Tools Menu
10.5.2. Pass Variables to External Tools
10.5.3. Initial Directory
10.5.4. Run Behavior
10.5.5. Assign a Keyboard Shortcut
10.6. Predefined Keyboard Shortcuts
11. Command-Line Utility (CLI)
12. Frequently Asked Questions
12.1. Compatibility with Legacy AVR Software and Third-party Products
12.1.1. How do I Import External ELF Files for Debugging?
12.1.2. How do I Reuse My AVR Studio 4 Projects with the Microchip Studio?
12.2. Microchip Studio Interface
12.2.1. How can I Start Debugging My Code? What is the Keyboard Shortcut for Debugging?
12.2.2. What is a Solution?
12.2.3. What is a Project
12.2.4. How Can I Use an External Makefile For My Project?
12.2.5. When Watching a Variable, the Debugger Says Optimized away
12.2.6. When Starting a Debug Session, I get an Error Stating that Debug Tool is not Set
12.3. Performance Issues
12.3.1. Microchip Studio Takes a Very Long Time to Start on My PC but Runs Well in a VM Environment. Is there Something I Can Do With This?
12.3.2. Verification and Programming often Fails with a Serial Port Buffer Overrun Error Message When Using STK500
12.3.3. I Have Connected My Tool Through a USB Hub, and Now I Get Error Messages and Inconsistent Results While Programming and Debugging
12.4. Driver and USB Issues
12.4.1. How Do I Get My Tool to be Recognized by Microchip Studio?
12.4.2. The Firmware Upgrade Process Fails or is Unstable on a Virtualized Machine
12.4.3. Debugging Never Breaks Under a Virtualized Machine
12.4.4. Firmware Upgrade Fails on VirtualBox
12.4.5. Issues with Arm Compatible Tools
13. Document Revision History
14. Microchip Information
The Microchip Website
Product Change Notification Service
Customer Support
Microchip Devices Code Protection Feature
Legal Notice
Trademarks
Quality Management System
Worldwide Sales and Service