180 likes | 196 Views
Learn how to develop software for MCUs using a real evaluation board. This course provides an introduction to MCU software development, including an overview of software tools and a focus on the Atmel XMEGA AVR and its evaluation board.
E N D
MCU Software Development- A Step by Step Guide(Using a Real Eval Board) Class 1: An Introduction to MCU Software Development 9/22/2014 Warren Miller
This Week’s Agenda 9/22/14 An Intro to MCU Software Development 9/23/14 An Intro to the Atmel XMEGA Eval 9/24/14 Understanding Software Development 9/25/14 Digging Deeper into the Tools 9/26/14 An Example Design- in Detail
Course Description • Are you interested in learning how to develop software for MCUs? • Need a refresher on the newest trends in MCU software tools? • Would using a real development board as part of the learning process help?
Class #1 An Introduction to MCU Software Development • Aquick overview of the main software tools used in MCU development • A focus on tools that can be used with the Atmel XMEGA AVR and the associated evaluation board • The general concepts apply to virtually and MCU.
Todays Goals and Objectives • Understand what this Class Covers • Understand the overall software tool flow • Understand the key elements for developing software with the Atmel AVR XMEGA Eval Kit
Key Elements for Development • Target MCU • IDE • Code Examples • Evaluation Kit • Development Board • Reference Designs • Programming • Debug • Libraries • Drivers • RTOS • BSDL Files • IBIS Files • Users Manuals • App Notes • Boot Loader
Development Flow Overview MCU Selection • Pick Your MCU • Write code in “C” or Assembly • Compile and Test (Simulate) • Trace • Program • Debug Write Code Compile/Test Trace Program In-Circuit Debug
MCU Selection MCU Selection • Pick Your MCU • Use web based selectors • Focus on peripherals, performance, pin-out options, package size and upgrade paths • Availability too! Write Code Compile/Test Trace Program In-Circuit Debug
Write Code MCU Selection • Create your program • Use an IDE • Program in “C” or Assembly • Context aware editing • Use libraries • Use example designs • Use reference designs • Do as little as possible… Write Code Compile/Test Trace Program In-Circuit Debug
Compile and Test MCU Selection • Know your compiler • Optimizations • Code size vs. Speed • Overhead (printf) • Try alternative approaches • Case vs. nested If • Tables vs. Branching • Simulation for Testing • Invest in tool knowledge Program Compile/Test Trace Program In-Circuit Debug
Trace MCU Selection • Profile program execution • Executing as expected? • Where is time being spent? • Where is power being used? • What code isn’t being executed? • Testing complete? • Interrupts? • Low Power modes? Program Compile/Test Trace Program In-Circuit Debug
Program and In-Circuit Debug MCU Selection • Program the MCU • Programming during development vs. in the field • Boot loader • Debug in Real Time • Facilities? • Break points • Overhead • Header Program Compile/Test Trace Program In-Circuit Debug
Atmel Studio 6 • ARM and AVR • Context aware editing • Atmel Software Framework • Qtouch Composer • Gallery • Atmel Spaces • Training
Additional Software Resources • Intro to Studio 6 http://www.youtube.com/watch?feature=player_embedded&v=a-U1W3zm2hc • Project Build http://www.youtube.com/watch?feature=player_embedded&v=rGvYALiO4fQ • ASF Design Videos http://www.atmel.com/Microsite/atmel_studio6/ • Using the Simulator in Studio 6 http://www.youtube.com/watch?feature=player_embedded&v=9QlDSNeuAdY • Optimization http://www.youtube.com/watch?feature=player_embedded&v=ImHW6I0BoEs • Debugging http://www.youtube.com/watch?feature=player_embedded&v=iioeeViKrsc
Evaluation Board • Use the board to test out design flow • Example designs are helpful in getting started • Enough hardware to try out your own design • Evaluation vs. Development Boards
For Next Time • Download and Install the Design Software • Run an example design to prove out the install • Review the various windows available in the IDE • Extra Credit- Try out the board
Additional Resources • Atmel AVR XMEGA-A3BU Xplained Web Page http://www.atmel.com/tools/XMEGA-A3BUXPLAINED.aspx • Atmel AVR XMEGA-A3BU Xplained Getting Started Guide http://www.atmel.com/Images/doc8324.pdf • XMEGA-A3BU Software User Guide http://www.atmel.com/Images/doc8413.pdf • Order your kit from Digi-Key to follow along in the class- Optional, not a class requirement http://www.digikey.com/product-detail/en/ATXMEGAA3BU-XPLD/ATXMEGAA3BU-XPLD-ND/2770519
This Week’s Agenda 9/22/14 An Intro to MCU Software Development 9/23/14 An Intro to the Atmel XMEGA Eval 9/24/14 Understanding Software Development 9/25/14 Digging Deeper into the Tools 9/26/14 An Example Design- in Detail