Getting Started with a Cortex-M3 Board

Slides:



Advertisements
Similar presentations
Notes developed by Jason Long Slides developed by Erin Johnston as an accompaniment to notes Delivered Oct. 17 th, 2011 –
Advertisements

STM32F10x Changes v1.5 to 1.4 HD added Changes v1.4 to 1.3
TM Freescale Semiconductor Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh.
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
Free and Open ARM Cortex-M Development Tools July, 2012 CoLinkEx Cooperative Marketing with.
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.
Asst. Prof. Dr. Alper ŞİŞMAN
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
Infineon for Arduino XMC – 32-bit Industrial Microcontrollers
Development Tools for ARM-Powered Devices
1 8-bit developers no longer need to sacrifice performance, power efficiency or scalability for price Deliver increased features and functionality with.
MSP430 Senior Design MSP430 Ultra-Low-Power MCUs William Goh University of Florida.
MSP432™ MCUs Training Part 1: MSP432 Overview
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Keil Products in a Single Slide
Fundamental of Microcontrollers
Programming & Development of Mobile & Embedded Systems Lin Zhong ELEC424, Fall 2010.
1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.
Development Tools for ARM-Powered Devices
Introduction Purpose Objectives Content Learning Time
LabVIEW Embedded Module for ARM Microcontrollers
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007.
Cortex-M3 Debugging System
111 Confidential RealView MDK v3.1x What’s New. 222 Confidential What’s New in MDK v3.1x  Compiler  MicroLib – optimised C libraries  RealView compiler.
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
Silicon Labs ToolStick Development Platform
Curriculum Development for ENGR 290 Introduction to Microcontroller
Little arduino microcontrollers Meghan Jimenez 12 February 2014.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
Holtek 32-bit MCU Promotion
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
System Clocks.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. RX Family Overview Introduction A.
PS - 87C51Mx2 - SLS-1 Philips Semiconductors 87C51Mx2 Microcontroller.
Lab 1 Department of Computer Science and Information Engineering National Taiwan University Lab1 - Sensor 2014/9/23/ 13 1.
Dan O. Popa, Freshman Seminar Spring 2015 EE 1105 : Introduction to EE Freshman Seminar Lab-Lecture: Op Amp Circuits, Embedded Computing.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. 113C: Migration to the RX600 Made Easy Life in the fast lane.
NIOS II Ethernet Communication Final Presentation
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
MSP432™ MCUs Training Part 14: Serial Wire Output Trace
TI MSP430 MICROCONTROLLERS BY ADITYA PATHAK. THE MSP FAMILY Ultra-low power; mixed signal processors Widely used in battery operated applications Uses.
AT91 Products Overview. 2 The Atmel AT91 Series of microcontrollers are based upon the powerful ARM7TDMI processor. Atmel has taken these cores, added.
System Software Design Review.  MCU: NXP LPC2378 ARM7 32-bit  512 KB Flash, 8KB EEPROM and SRAM  Bus Frequency: 20 MHz  Approximate Memory requirements:
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Lecture 7: Overview Microprocessors / microcontrollers.
ChibiOS/RT Demo A free embedded RTOS
Networked Embedded Systems Sachin Katti EE107 Spring 2016 Lecture 3 Microcontrollers.
김민수 Cortex-M4 Processor - Getting Started with the GNU Compiler Collection(gcc)
CECS 347 Microprocessors and Controllers II Chapter 1 - An Overview of Computing Systems Instructor: Eric Hernandez.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
HOME SECURITY USING WIRELESS SENSOR NETWORK UNDER THE ESTEEMED GUIDANCE OF: P.RAMESH D.SIVOM( ) KANMANI RAVI( ) B.SAI RAJSEKHAR( )
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the use of the High-performance.
RTLAB Kang. Moo jin Using Open Source Tools for AT91SAM7X Cross Development.
3/6/2017 Richard Kuo Assistant Professor
Introduction to the ARM mbed Platform– A Hands-on Course
Outline Introduction to NuMaker TRIO Programming environment setup
Popular Microcontrollers and their Selection by Lachit Dutta
Microcontrollers, Basics Fundamentals of Digital Debugging
Microcontrollers & GPIO
Computer System Laboratory
Implementation of Embedded OS
Introduction to the Orbit Edu Board
Introduction to Microprocessors and Microcontrollers
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Designing with ARM Cortex-M4 (and a Real Dev Board)
Wireless Embedded Systems
Presentation transcript:

Getting Started with a Cortex-M3 Board Steven Guan and Joe Hale, NXP Semiconductors If you have not already downloaded the class prerequisites, please get the attention of an NXP representative.

Class Agenda Introduction to the ARM Cortex-M series Getting started with the NXP LPC1549 Cortex-M3 board Introduction to Integrated Development Environments Programming techniques for embedded systems Modern debugging tools on a Cortex-M3 core Common Pitfalls

Class Prerequisites You should have already downloaded and installed (if applicable): Keil MDK (download and install) Keil MDK Cortex-M Legacy (download and install) Segger J-Link Software (download and install) LPC1549 LPCOpen Software Platform (download) If you have not downloaded the software, Please get the attention of an NXP representative!

Introduction to the ARM Cortex-M Family

ARM Cortex Family

What is a Cortex-M series core? 32-bit memory architecture ARM Thumb-2 ISA Optimized for low power Trades processing power for lower cost and smaller size

ARM Cortex-M series

Example Cortex-M0/M0+ MCU

Getting started with the NXP LPCXpresso1549 Cortex-M3 Development Board

NXP LPC1549 Series Specifications SYSTEM INTERFACES ANALOG ADCs (2) 12 ch, 12-b, 2 Msps DAC MEMORY Multilayer Bus Matrix EEPROM 4 kB Flash 256 kB RAM 36 kB ROM ARM Cortex-M3 Up to 72 MHz UART (3) JTAG CAN (& PHY) SWD USB (FS Dev) Power Management Unit PMU, power modes, BOD, single VDD power supply, POR Clock Generation Unit 12 MHz, 1% IRC OSC, 1-24 MHz System OSC, System (CPU) PLL USB PLL TIMERS SCTimer/PWM (4) WWDT RTC Battery pin Systick Comparators (4) sDMA (18 ch) CRC Engine GPIO (30-78) Pin Switch Matrix QEI Temp Sensor SPI (2) I2C (Fm+)

LPCXpresso1549 Board from NXP

LPC Link-2 Debugger Debugger acts as middleman between MCU and PC Integrated onto LPC1549 Cortex-M3 board LPC Link-2 can be flashed to emulate third party debuggers J-Link pre-installed on the boards given away today Can also be used as a standalone probe

Introduction to Integrated Development Environments (IDEs)

What is an IDE? Software application used to facilitate software development Source code editor Code compiler, including automated building tools Software debugger Examples include Keil MDK, IAR Embedded Workbench, NXP LPCXpresso IDE, etc.

How does an IDE work? Individual source files make up a Project Projects are organized into a Workspace A Project may be compiled into a library or application code Workspace Application Project Source File Library Project

How does an IDE work? Workspace Project #1 Project #2 Project #3 Development PC Workspace Project #1 Project #2 Project #3 Code Compilation Application Binary MCU Debugger Microcontroller USB Cable

Hands On: Intro to Keil MDK Complete the worksheet that we are passing out in order to: Familiarize yourself with the Keil MDK GUI Get comfortable working with projects in a workspace Use the LPCOpen software platform to successfully compile and download your first application onto the LPC1549! If you run into issues, contact the closest NXP representative for assistance

Debug Session IDE will use the MCU debugger to communicate with MCU through Serial Wire Debug (SWD) pins IDE will gain access to system memory, peripherals, and debug registers Enables plethora of debug features to help aid software development

Programming Techniques for an Embedded System Grand Loop Design All system events addressed inside a while(1) loop that never exits Polling method Service event by constantly checking Interrupt method Service event when system is told to service

Demo: Polling vs. Interrupts and their effect on power Aim to minimize power consumption to maximize battery life Measure power to direct optimization

Modern Debugging Tools on a Cortex-M Core Code stepping Breakpoints Variable Viewer SWO Tracing

Demo: SWO Tracing Non-intrusive debugging Uses one extra SWD pin as data input/output PC sampling Interrupt entries and exits Instrumentation with ITM Data watch

Common Pitfalls Compiler code optimization Reorders instructions to speed up code execution, making code stepping hard to follow Use the volatile keyword to prevent variables from being “optimized out” Use breakpoints to step through interrupt handler code Don’t use printf() or its deviations

Thank you for attending this Embedded TechCon class! Questions? Thank you for attending this Embedded TechCon class!