Testimonial

"Netrino training courses should be required before writing any embedded code."

General Dynamics

Master Firmware

Registration is now open for the popular hands-on Embedded Software Boot Camp. Consult our public training calendar for upcoming dates and locations.

Boot Camp

Sign Up Now

Receive Michael Barr's Firmware Update newsletter for free how-to articles and industry news by e-mail. Sign up now.

Bookmark It

Bookmark this page or share it with a colleague.

Using the Arm Cortex M3

The ARM Cortex M3 is a high performance, low cost, and low power processor. Learn about the features and capabilities in this device that will make your next design a success.

Length/Options

  • 2 days (lecture)

Audience

  • Electrical engineers using or planning to use this device in new designs
  • Embedded software developers interested in writing drivers or applications for this device

Prerequisites

  • Working knowledge of processors
  • Programming knowledge with C

Related Courses

Outline

  • Overview
    • ARM v7 architecture
    • Thumb-2 instruction set
    • Cortex families
    • Key comparisons vs. ARM7/9
    • Comparisons vs. other low-power 8/16 bit CPUs
  • Processor Model
    • Register set
    • Thumb-2 instruction set
    • Operating modes
    • Exception processing
    • On-chip timer
  • Performance Features
    • Harvard Architecture
    • Low Power core
    • Low & deterministic interrupt latency
    • Special instructions
    • Architecture features
    • Multi-process/multi-tasking support
    • Unaligned access
  • Exceptions & Interrupts
    • NVIC interrupt controller
    • Prioritized interrupts
    • Dynamic interrupt priorities
    • Nested interrupts
    • Other exceptions
    • Exception tail-chaining
  • Memory Protection Unit
    • Motivation / benefits of MPU
    • Protection and performance attributes
    • Read / write configuration
    • Code / data configuration
    • Protected kernel / supervisor memory
  • Software Development
    • Stack-based architecture
    • C-friendly, no assembly required
    • Stack & heap configuration
    • Processor operating modes
    • Porting between CM3 chips
  • Porting from ARM7/9
    • Register models
    • Banked registers vs. stack architecture
    • Special instructions
    • Exception processing & vector table
    • Memory layout
    • Startup code
    • Porting 32-bit ARM assembly code
  • Debugging support
    • Debug via JTAG and/or debug port
    • Embedded trace
    • Data watchpoints
    • Flash patching / overlay
    • Instrumentation Trace Macrocell
  • Overview of Third Party support
    • Development tools
    • Silicon vendors
    • Boards
    • RTOS

    Learn More

    To request pricing or dates, or for more information about this course, contact us.