Embedded System Design Techniques™: Mastering the ARM© Cortex-M© Processor Class 1: Overview of STM32 ARM Cortex-M0+ May 18, 2015 Jacob Beningo, CSDP
Jacob Beningo Newsletters P.O. Box 400 Embedded Bytes Linden, Michigan 48451 www.beningo.com Newsletters Embedded Bytes http://bit.ly/1BAHYXm Training MicroPython Bootloaders Low Power Design Real-time Software C/C++ Embedded : jacob@beningo.com : 810-844-1522 : Jacob_Beningo : Beningo Engineering : JacobBeningo : Embedded Basics Jacob Beningo Principal Consultant 2
Courses Overview CEC 2013 – 2015 Feb CEC 2015 Side Topics 2015 Fundamentals of Embedded Software (2013) Mastering the ARM Cortex-M Processor Real-Time Software using Micro Python Mastering the Software Design Cycle (2014) Writing Portable and Robust Firmware in C (August) Real-Time Operating Systems (Q3) Python for Embedded Systems(2014) Designing Embedded Systems for the IoT (October) Squeezing the Most out of Battery Life (Q4) Software Architecture Design (2014) Baremetal C (2015) 3
Course Overview Overview of STM32 ARM Cortex-M0+ Project Setup and Compilation ARM Cortex-M Architecture Writing Embedded Software with CMSIS Low Power Design Techniques
Session Overview ARM© Cortex-M© Family Overview Instruction Set Development Kit Overview The STM32 Setting up the toolchain
Cortex-M Family Overview
Instruction Set Scalability
Instruction Pipelining What is pipelining? A technique for increasing the number of instructions that can be executed in a given period of time What does a typical pipe look like? Fetch Decode Execute Images courtesy of ARM® Ltd
Pipelining Example An Example Instruction #1 Instruction #2
Development Kit Overview ST-Link Nucleo Board – L053R8 User Button Reset Button LED
Arduino Pinout
Arduino Shields
STM32 Overview
STM32L053R8 Overview
Compiler and IDE Setup
Compiler and IDE Setup Visit www.keil.com Install Download at Top Select MDK-ARM v5 Enter Info Save the MDK514 Install Follow the prompts Packer will update
Compiler and IDE Setup
Compiler and IDE Setup Visit st.com Search for STM32CubeMx Download Install
Additional Resources Download Course Material for Updated C Doxygen Templates (May 2015) Example source code Templates Microcontroller API Standard EDN Embedded Basics Articles Embedded Bytes Newsletter From www.beningo.com under - Blog and Articles > Software Techniques > CEC Mastering ARM Cortex-M
Jacob Beningo Newsletters P.O. Box 400 Embedded Bytes Linden, Michigan 48451 www.beningo.com Newsletters Embedded Bytes http://bit.ly/1BAHYXm Training MicroPython Bootloaders Low Power Design Real-time Software C/C++ Embedded : jacob@beningo.com : 810-844-1522 : Jacob_Beningo : Beningo Engineering : JacobBeningo : Embedded Basics Jacob Beningo Principal Consultant 20