Bare Metal Programming Kinetis KL25 ARM Cortex-M0+ Processor
3.4 (22 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
86 students enrolled

Bare Metal Programming Kinetis KL25 ARM Cortex-M0+ Processor

Mastering the Embedded Firmware Programming using NXP KL25 Freedom Development Board (FRDM-KL25)
3.4 (22 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
85 students enrolled
Last updated 12/2018
English
Current price: $15.00 Original price: $124.99 Discount: 88% off
30-Day Money-Back Guarantee
This course includes
  • 10 hours on-demand video
  • 16 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • ARM Cortex-M0+ Architecture
  • Embedded System Fundamentals
  • Kinetis KL25 ARM Microcontroller
  • General Purpose Input / Output ( GPIO )
  • GPIO Output Configuration & RGB LED Interfacing
  • GPIO Input Configuration & Key Input Handling
  • Interrupt Handling, Vector, Service Routine
  • Low Power Timer ( LPTMR )
  • Periodic Interrupt Timer
  • GPIO based DHT11 Temperature Sensor Interfacing
  • Kinetis Software Development Kit
  • Eclipse based MCU Expresso IDE
  • Analog to Digital Converter and Interfacing with sensors
  • MH MQ-2 Gas Sensor Interfacing and Smoke Detection Implementation
  • Inter Integrated Circuit ( I2C )
  • I2C device driver for MMA8451Q Inertial Sensor
  • Universal Asynchronous Receiver Transmitter
  • USB-to-UART device interfacing and communication with Teraterm
Requirements
  • C Language Programming
  • Basic Electronics
  • NXP KL25 Freedom Development Board ( FRDM-KL25 )
  • NEEVEE GPIO Shield or Switches, LEDs and DHT11 modules
  • POTENTIOMETER
  • MH MQ Gas Sensor
  • USB UART TTL Module
Description

1. ARM Cortex-M0+ Processor Architecture and Bus Models

2. Kinetis KL25 Micro Controller

3. MCUXpresso IDE and NXP Kinetis KL25 Freedom Development Platform

4. General Purpose Input Output

5. Interrupt Handling, Vectors and Service Routine

6. Timer ( KL25 Low Power Timer, Periodic Interrupt Timer )

7. DHT11 Temperature / Humidity Sensor

8. Analog to Digital Convertor

9. MH MQ-2 Gas Sensor

10. Inter Integrated Circuit Interface

11. MMA8451 Accelerometer

12. Universal Asynchronous Receiver Transmitter

13. USB-UART TTL Interface and Teraterm access

Who this course is for:
  • Embedded System Beginners
  • Professionals wants to refresh their knowledge
  • Developer willing to know about various microcontroller interfacing
  • Embedded Systems developers
Course content
Expand all 46 lectures 09:48:06
+ Kinetis KL25 ARM Cortex-M0+ Microcontroller
3 lectures 53:33

ARM Cortex-M0+ Processor Core Architecture, Register set, Operating modes, Privileged Level of Operations, Stack Pointers, Program Counters, Program Status Registers.

Preview 31:01

Kinetis KL25 ARM Cortex M0+ Microcontroller Unit, System on Chip, Brief introduction about the peripheral interfaces like GPIO, I2C, SPI, UART, ADC.

Kinetis KL25 Microcontroller Overview
16:07

NXP KL25 Freedom Development Board, Hardware Block Diagram and various Peripherals.

NXP FRDM-KL25Z Freedom Development Board
06:25
+ Software Development Environment Setup
4 lectures 26:32

Brief introduction about MCUXpresso Integrated Development Environment and its features

MCUXpresso IDE Brief Overview
06:09

MCUXpresso Integrated Development Environment Installation and Setup

MCUXpresso IDE Installation
06:58

Kinetis Software Development Kit Brief Introduction and Block Diagram

Kinetis Software Development Kit Brief Overview
03:40

Kinetis Software Development Kit Building and Installation into MCUXpresso IDE

Kinetis SDK Builder and Installation
09:45
+ General Purpose Input Output - Brief Introduction
7 lectures 01:41:46

Brief overview about General Purpose Input Output, Kinetis KL25 GPIO Registers, Port Control Register and GPIO Initialization and access sequence

Kinetis KL25 GPIO Module
22:10

Hardware interfacing details of Kinetis KL25 with LEDs, Switches and DHT11

Kinetis KL25 GPIO Interfacing Information
02:45

Practical Implementation of LED access using General Purpose Output

General Purpose Output - LED Access
16:06

Demonstration of LED Access using General Purpose Output Bare Metal Implementation

General Purpose Output - LED Access Demo
05:24

Implementation and Demonstration of Reading the Key press and updating the LEDs accrodingly.

General Purpose Input - Key Switch Access
20:33

GPIO Peripheral Driver Application Programming Interface and Usage definition

Kinetis SDK GPIO Peripheral Driver
11:40

LED & Switch access implementation and demonstration using Kinetis Software Development Kit.

LED & Switch Access demo using SDK GPIO Peripheral Driver
23:08
+ Interrupt Handling
5 lectures 58:04

Brief introduction about Interrupts and its flow model, KL25 NVIC Architecture and NVIC Registers and it definitions.

Kinetis KL25 ARM Cortex-M0+ Interrupt
18:26

Kinetis KL25 Port Control Register with different Interrupt configuration and NVIC Register maps.

Kinetis KL25 Port Interrupt
03:18

Handling of Key Press and Release over interrupt. Implementation and Demonstration.

Kinetis KL25 Port Interrupt Implementation and Demonstration
17:01

Kinetis Software Development Kit Application Programming Interface of Port Pin Interrupt Handling

Kinetis KL25 Port Interrupt - SDK APIs
04:42

Implementation & Demonstration of Kinetis SDK based Port Interrupt Handling

Kinetis KL25 Port Interrupt handling based Kinetis SDK
14:37
+ Kinetis KL25 Timer
9 lectures 02:07:36

Brief Introduction about Timer, Functional Architecture and Timer events

Timer Basics and Fundamentals
06:17

Kinetis KL25 Low Power Timer Functional Register set and description of each registers.

KInetis KL25 Low Power Timer
11:43

Implementation and Demonstration of Kinetis KL25 Low Power Timer.

Kinetis KL25 Low Power Timer Bare metal Implementation
22:08

Kinetis SDK LPTIMER Peripheral Driver Structures, Enumerations, Functional APIs.

Kinetis SDK LPTIMER Peripheral Driver
08:09

Implementation and Demonstration of Kinetis KL25 Low Power Timer using Kinetis Software Development Kit

Kinetis KL25 Low Power Timer SDK based implementation
24:34

Brief overview about the Periodic Interrupt Timer, Register Set and description

Kinetis KL25 Periodic Interrupt Timer
06:38

Bare metal programming of Kinetis KL25 Periodic Interrupt Timer, Implementation and Demonstration

Kinetis Periodic Interrupt Timer Demonstration & Implementation
18:47

Periodic Interrupt Timer Kinetis SDK Structure Definition, Enumerations and Functional APIs

Kinetis KL25 Periodic Interrupt Timer SDK APIs
05:12

Implementation and Demonstration of Kinetis KL25 Periodic Interrupt Timer using Kinetis SDK & Functional Delay Implementation.

KL25 Periodic Interrupt Timer SDK based Implementation and Demo
24:08
+ DHT11 Temperature and Humidity Sensor
2 lectures 31:26

DHT11 Brief Overview, Hardware interfacing, Timing Diagram, Flow Chart of implementation

DHT11 - Temperature and Humidity Sensor
10:01

DHT11 access implementation using Periodic Interrupt Timer, GPIO. Demonstration with Humidity and Temperature reading values.

DHT11 - KL25 Firmware Implementation and Demonstration
21:25
+ Analog to Digital Converter
6 lectures 01:14:15

ADC Basics and Fundamentals, ADC Terminologies, Sampling theory, different kind of conversion techniques, detailed description of most popular successive approximation ADC.

ADC Basics and Fundamentals
13:54

Kinetis KL25 ADC Module Register Description and Functional Initialization Sequence

Kinetis KL25 ADC Module
11:13

Potentiometer interfacing with KL25, Initializing and reading the ADC data, Manipulation of voltage across potentiometer

Potentiometer Interfacing with KL25
19:38

Kinetis SDK ADC Peripheral Driver Structures, Enumerations and Functional APIs

Kinetis KL25 KSDK ADC Peripheral Driver APIs
07:09

Brief Introduction about the MQ Gas Sensor, pin out details, interfacing with kinetis KL25 platform, smoke detection algorithm.

MQ Gas Sensor
05:11

Kinetis SDK based implementation and demonstation of Flying Fish MH MQ-2 Gas / Smoke Sensor

MH MQ Sensor Interfacing, Implementation and Demostration
17:10
+ Inter Integrated Circuit Interface
6 lectures 01:13:29

Brief introduction, I2C basics and fundamentals, Protocol description, Bus architecture and communication topology.

Inter Integrated Circuit Interface basics and fundamentals
14:13

Kinetis KL25 I2C Module Functional register set and initialization sequence

Kinetis KL25 I2C Module
11:36

MMA8451 Inertial Sensor Introduction, Functional Registers, and Access implementation

MMA8451 Accelerometer Sensor
09:01

Bare Metal Firmware implementation I2C Read, Write access functions. Implementation and demonstration of MMA8451Q accelerometer access.

MMA8451 Accelermeter Sensor Access Implementation and Demonstration
12:55

Kinetis SDK I2C peripheral driver structure, enumeration and functional apis

Kinetis SDK I2C Peripheral Driver Functional APIs
10:16

Implementation and Demonstration of MMA8451 Access using Kinetis SDK I2C peripheral driver.

MMA8451 Access using Kinetis SDK I2C Peripheral Driver Transactional APIs
15:28
+ Universal Asynchronous Receiver Transmitter ( UART )
4 lectures 41:25

Universal Asynchronous Receiver Transmitter Basics, Fundamentals, Transmitter & Receiver Schematic Diagram, Functional description, configuration parameters

Universal Asynchronous Receiver Transmitter Basics and Fundamentals
14:54

Kinetis KL25 UART Module Functional Registers and its description, Initialization sequence and data access

Kinetis KL25 UART
12:24

USB to UART Interfacing with KL25, Windows PC setup, Teraterm configuration

USB to UART Interfacing with KL25
03:26

Implementation and Demonstration of UART data loopback with or without interrupt. Data transmission and reception over the Teraterm of PC using USB to UART

Kinetis KL25 USB to UART Demonstration
10:41