Class 1: An Introduction to MCU Software Development 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? You are in luck! This class will use the Atmel AVR XMEGA Xplained evaluation kit and free downloadable software to take you step-by-step thru the modern MCU software development process.
Class #1 An Introduction to MCU Software Development A quick 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. This class will use the Atmel XMEGA MCU family and the associated evaluation board as an example target for our software development efforts. The interactions between the CPU and many common peripherals will set the stage for designing software efficiently with a wide range MCUs.
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 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 Create your program Use an IDE Program in “C” or Assembly 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 Know your compiler Try alternative approaches 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 Profile program execution Executing as expected? 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