Presentation is loading. Please wait.

Presentation is loading. Please wait.

Getting Started with a Cortex-M3 Board

Similar presentations


Presentation on theme: "Getting Started with a Cortex-M3 Board"— Presentation transcript:

1 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.

2 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

3 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!

4 Introduction to the ARM Cortex-M Family

5 ARM Cortex Family

6 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

7 ARM Cortex-M series

8 Example Cortex-M0/M0+ MCU

9 Getting started with the NXP LPCXpresso1549 Cortex-M3 Development Board

10 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+)

11 LPCXpresso1549 Board from NXP

12 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

13 Introduction to Integrated Development Environments (IDEs)

14 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.

15 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

16 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

17 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

18 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

19 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

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

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

22 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

23 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

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


Download ppt "Getting Started with a Cortex-M3 Board"

Similar presentations


Ads by Google