Class 1: An Introduction to MCU Software Development

Slides:



Advertisements
Similar presentations
Introduction CS212 Dick Steflik. What is CS-212 Primarily an introduction to linear and non-linear data structures  arrays  stacks and queues  lists.
Advertisements

Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Embedded Systems Programming Introduction to the course.
Getting Started With DSP A. What is DSP? B. Which TI DSP do I use? Highest performance C6000 Most power efficient C5000 Control optimized C2000 TMS320C6000™
Keil Products in a Single Slide
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
Multicore Software Development Kit (MCSDK) Training Introduction to the MCSDK.
Unit VI. Keil µVision3/4 IDE for 8051 Tool for embedded firmware development Steps for using keil.
Multicore Software Development Kit (MCSDK) Training Introduction to the MCSDK.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course provides an overview of the installation and.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training module provides an overview of optimization techniques used in.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 Development Tools & Partners.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training module provides an overview of debugging features.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course explains how to use section setting and memory.
Windows Azure Fundamentals Services Storage. Table of contents Overview Cloud service basics Managing cloud services Cloud storage basics Table storage.
Robocon 2007, Hong Kong University of Science & Technology Robocon 2007 Electronics Quickstart! Session 1 Hello! Microcontroller. Prepared by KI Chi Keung.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the Project Generator function.
Scripting Just Enough SSIS to be Dangerous. 6/13/2015 Visit the Sponsor tables to enter their end of day raffles. Turn in your completed Event Evaluation.
김민수 Cortex-M4 Processor - Getting Started with the GNU Compiler Collection(gcc)
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the use of the High-performance.
Windows App Studio Windows App Studio is the tool that makes it fast and easy to build Windows 10 apps. It’s accessible from any device with a browser.
Introduction to Operating Systems Concepts
Introduction to the FPGA and Labs
Introduction Purpose Objectives Content Learning Time
Lets Learn fundamentals !!
Introduction to threads
RTOS Lab on your Desktops
Hands-On Design of BLDC Motor Control with Microchip MCUs
Beginning of Xamarin for iOS development
Android Mobile Application Development
Chapter Objectives In this chapter, you will learn:
Introduction to the ARM mbed Platform– A Hands-on Course
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Microcontrollers, Basics How Do I Choose the Right MCU?
Hands On SoC FPGA Design
Hands On SoC FPGA Design
Computer Organization, Eclipse Intro
Designing with ARM Cortex-M4 (and a Real Dev Board)
Protect Your Hardware from Hacking and Theft
Tutorial Introduction
Introduction Purpose Objectives Content Learning Time
Andes Technology Innovate SOC ProcessorsTM
CE-105 Spring 2007 Engr. Faisal ur Rehman
Getting Started with Programmable Logic
Class 3: Understanding Software Development
Class 3: Implementing Network Connectivity 2
Quick Start Guide for Visual Studio 2010
Using FPGAs with Processors in YOUR Designs
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
MCU Software Development- A Step by Step Guide (Using a Real Eval Board) Class 2: An Introduction to the Atmel AVR XMEGA and Explained Eval Board 9/23/2014.
Course Agenda DSP Design Flow.
Getting Started with Programmable Logic
Getting the Most Out of Low Power MCUs
“C” and Assembly Language- What are they good for?
Designing with ARM Cortex-M4 (and a Real Dev Board)
Embedded System Development Lecture 1 1/10/2007
Chapter 7 –Implementation Issues
Programmable Logic- How do they do that?
Operating Systems Lecture 1.
A Short Course on Geant4 Simulation Toolkit How to learn more?
A Short Course on Geant4 Simulation Toolkit How to learn more?
Software Development Environment, File Storage & Compiling
CMPE419 Mobile Application Development
Java Coding Environment Installation & Execution guide
(Lecture by Hasan Hassan)
Presentation transcript:

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