Microcontrollers, Basics Successful Software Development for MCUs

Slides:



Advertisements
Similar presentations
Sundanc e High-tech DSP solutions. Giving you the freedom to design Multiprocessor Technology Ltd SOFTWARE UTILITY TOOLS.
Advertisements

With the Wi-Fi LaunchPad
Embedded Computer ( Sisteme incorporate ) MPU vs. CPU / Alternative Texas Instrument, Freescale, ARM RISC and CISC approaches Single Chip Design System.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Getting Started with a Cortex-M3 Board
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
MSP430 Senior Design MSP430 Ultra-Low-Power MCUs William Goh University of Florida.
Anne Mascarin DSP Marketing The MathWorks
1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.
1 Bits and pieces of executing a project Progress of your Final year project – You have a title ? – You have a list of objectives? What’s next? – Is it.
Introduction Purpose Objectives Content Learning Time
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
PIC Evaluation/ Development Board Dec02-12 December 10, 2002 Client: ECpE Department Faculty Advisors: Dr. Rover, Dr. Weber Chad Berg, Luke Bishop, Tyson.
Unit VI. Keil µVision3/4 IDE for 8051 Tool for embedded firmware development Steps for using keil.
MapleSim and the Advantages of Physical Modeling
IAR Bluetooth technical support 23th, April, 2002 Taipei David Feng IAR Business Concept.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Debugging on RX with IAR Embedded Workbench.
© 2002 The MathWorks, Inc. September 2002 Advanced Embedded Tool capabilities for Texas Instruments DSPs © 2002 The MathWorks, Inc. David Hilf Third Party.
DIFFERENCE BETWEEN ORCAD AND LABVIEW
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
1 LabVIEW DSP Test Integration Toolkit. 2 Agenda LabVIEW Fundamentals Integrating LabVIEW and Code Composer Studio TM (CCS) Example Use Case Additional.
MexaTRON Championship Programming in embedded operating systems: MexBIOS Development Studio, Code Composer Studio, LabVIEW, MATLAB. Mechatronics.
New techniques for physical modeling and simulation Tom Lee Ph.D., Vice President, Applications Engineering, Maplesoft Kent Chisamore, Account Manager,
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: Debugging on RX with IAR Embedded Workbench Micael.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Microcontrollers, Basics How Do I Choose the Right MCU? 17 January 2012 Jonathan A. Titus.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
EGR 115 Introduction to Computing for Engineers Introduction to Computer Programming Wednesday 27 Aug 2014 EGR 115 Introduction to Computing for Engineers.
Computer Software Types Three layers of software Operation.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course explains how to use section setting and memory.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Lecture 7: Overview Microprocessors / microcontrollers.
Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
V irtual I nstrumentation Club. Official definition of Instrumentation from ISA (International Society of Automation)- A collection of Instruments and.
1 Programming and problem solving in C, Maxima, and Excel.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Software Hardware refers to the physical devices of a computer system.
Chapter 1 The Systems Development Environment
CST 1101 Problem Solving Using Computers
Microcontrollers, Basics Tips and Tricks with PIC MCUs
Chapter 1 The Systems Development Environment
BEST National Conference 2011
Microcontrollers, Basics How Do I Choose the Right MCU?
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Microcontrollers, Basics Fundamentals of Digital Debugging
Hardware and Software Hardware refers to the physical devices of the computer system e.g. monitor, keyboard, printer, RAM etc. Software is a set of programs,
Class 1: An Introduction to MCU Software Development
Rapid Prototyping for Microcontrollers
ENG3050 Embedded Reconfigurable Computing Systems
Sisteme Incorporate – Curs10
Chapter 1 The Systems Development Environment
Online Shopping APP.
Microcomputer Systems 1
What is Arduino? By James Tedder.
Serial Data Hub (Proj Dec13-13).
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
"You don't need anyone's permission to make something great
Embedded systems, Lab 1: notes
Simulink Support for VEX Cortex BEST Robotics Sandeep Hiremath
Chapter 7 –Implementation Issues
An Introduction to Embedded Software Architecture and Design
Chapter 1 The Systems Development Environment
System Programming By Prof.Naveed Zishan.
Nicholas J. Di Liberto 20 June 2011
System View Inc..
Presentation transcript:

Microcontrollers, Basics Successful Software Development for MCUs 18 January 2012 Jonathan A. Titus

Anyone Can Program in C! Sidney Harris ...but that doesn’t mean they write GOOD code.

How Do You Start a Software Project? You must have a clear objective! Describe system architecture and behavior Simple projects: 1- to 5-person team Complex project: several teams Hardware engineers Software engineers Mechatronics engineers Sensor experts Graphical-user-interface designers

Investigate Model-Based Design In the “not-so-good” old days... Courtesy of The MathWorks

Model-Based Design I Courtesy of The MathWorks

Model-Based Design II Courtesy of Texas Instruments

Create an Executable Model Use modeling and simulation tools: MATLAB and Simulink: MathWorks www.mathworks.com LabVIEW and MatrixX: National Instruments www.ni.com Maple and MapleSim: Maplesoft www.maplesoft.com

Clutch-Control Model Courtesy of The MathWorks

Vehicle-Control Model Courtesy of Maplesoft

Model-Based Design Benefits Everything traces back to requirements Teams work with the same information Data flows up and down No prototypes needed to begin Tools can produce known-good code VHDL, Verilog, C, C++ Program MCUs and FPGAs

Model-Based Design Problems Large commitment of time and money Requires commitment to a new design discipline Needs a team “evangelist” Difficult to convince teams to use new tools

Model-Based Design "Driving Technical Change: Why People on Your Team Don't Act on Good Ideas and How to Convince Them They Should," by Terrence Ryan, The Pragmatic Programmers, 2010. ISBN: 978-1-93435-660-9.

Model-Based Design Helpful white papers: "Adopting Model-Based Design Interactive Kit," The MathWorks http://www.mathworks.com/programs/techkits/techkit_adopting_mbd.html. "Shortening the Embedded Design Cycle with Model-Based Design," National Instruments http://zone.ni.com/devzone/cda/tut/p/id/4074. "High-Performance Physical Modeling and Simulation," MapleSoft http://www.maplesoft.com/products/maplesim/index.aspx. "Developing Quality Embedded Systems Using Model-Based Design," The MathWorks http://www.gistl.com/2008/Using_Model_Based_Design.pdf

Software Development If model-based design isn’t right for you, what other approaches can you take? IAR VisualSTATE software Statecharts: State-machine designs Flow-chart models DIY techniques?

IAR VisualSTATE "Designing a state machine to solve a problem," IAR Systems. http://tinyurl.com/7ckyejf

Statechart Design "Practical UML Statecharts in C/C++," 2nd ed., Miro Samek, Newnes-Elsevier, 2009. ISBN: 978-0-7506-8706-5.

Coding Tools I MCUs have an associated C/C++ compiler MCU vendors supply software tools: Microchip -- MPLAB X Texas Instruments -- Code Composer Studio Freescale -- CodeWarrior Renesas -- High-Performance Embedded Workbench Rabbit Semiconductor -- Dynamic C Vendor tools “close to the chips” Try free or limited versions before you buy

Coding Tools II Third-Party Tools Atollic Custom Computer Services GreenHills Software Hitex IAR Code-Red Technology Keil (ARM) HiTech (Microchip) Raisonance Rowley Custom Computer Services CodeSourcery (Mentor) MikroElektronika

What Should Software Tools Do? Compile C, C++, and assembly-language Easily mix C/C++ and in-line assembly code Simplify tracking projects, files, and revisions Provide a “smart” color-coding editor Simplify I/O and peripheral setup Provide debug and test capabilities Quickly connect with program/debug pods Link to latest documents and manuals

What Should Software Tools Do? Simplify tracking projects, files, and revisions Courtesy of Keil Software

What Should Software Tools Do? Provide a “smart” color-coding editor

What Should Software Tools Do? Simplify I/O and peripheral setup Courtesy of Texas Instruments

What Should Software Tools Do? Provide debug and test capabilities Courtesy of Microchip

What Should Software Tools Do? Quickly connect with program/debug pods

Take Advantage of Other Resources Use dev kits as “golden platforms” for code tests Adopt a consistent coding style: Google C++ Style Guide If you are new to MCUs, start with a small board Arduino Uno, Digilent Uno32, ARM mbed Use vendor code libraries Visit and join MCU-user and MCU-software forums Embedded Systems Conference (ESC) 26 through 29 March 2012, San Jose, CA, USA

Good Embedded-System Books "Test-Driven Development for Embedded C," James W. Grenning, The Pragmatic Programmers, 2011. ISBN: 978- 1-93435-662-3. "Automated Defect Prevention: Best Practices in Software Management," by Dorota Huizinga and Adam Kolawa, Wiley Interscience, 2007. ISBN: 978-0-470-04212-0. "The Art of Designing Embedded Systems," 2nd ed., by Jack Ganssle, Newnes, 2008. ISBN: 978-0-7506-8644-0. "The Firmware Handbook," Jack Ganssle, ed., Newnes, 2004. ISBN: 978-0-7506-7606-9.

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed

Hed Text Bullets If Needed