Hands-On Embedded Systems With Atmel Sam4S Arm Processor
Last updated 5/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 812.42 MB | Duration: 2h 9m
Last updated 5/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 812.42 MB | Duration: 2h 9m
Understand the processor core and the ADC peripheral with hands-on projects using the Atmel SAM4s microcontrollers
What you'll learn
Understand the processor and exception model for ARM Cortex processors
Use ASF (Atmel Studio Framework) to write embedded code for ARM Cortex microcontrollers
Handle ADC triggers and interrupts
How to read digital codes and find their corresponding analog value
How to read chip temperature using ADCs
Understand the core concepts of analog to digital converters
Directly write to registers to program ARM Cortex peripherals
Understanding embedded systems
Program ADCs on ARM Cortex
Understand and configure various timing requirements of an ADC
Requirements
Basic understanding of embedded systems, C programming
We will be using SAM4s Xplained Pro development board, it is helpful but not necessary for students to purchase it
Description
This course received a major update in Feb 2018 based on the feedback provided.
Welcome to this course on Hands-on Embedded Systems with Atmel SAM4s ARM Processor. At the end of this course you will be comfortable with the ARM processor core, processor model, exception model, reset sequence, general and special registers, and also a master in the ADC peripheral. This course has been made from the ground-up to help you transition from the world of Arduino into the world of 32 bit Atmel SAM4s ARM microcontrollers.
Who am I?
I’m Akshay, and I’ll be your instructor for this course. I have been fascinated with micro controllers since I was a child, and now I consider it lucky to have it as my profession. I currently write firmware for safety critical systems that go inside electric cars. With my knowledge of embedded systems over the past 10+ years, and working in Silicon Valley, I have gained a unique insight into what the industry needs and what the students are lacking.
Course Structure
This course has 8 sections.
Section 1 will help you understand the differences between Arduino and 32 bit ARM Cortex. You will also understand the Cortex-M instruction set.
Section 2 is dedicated to the setup of the development environment and hardware. This section also contains reference documents that you will be using for the rest of the course.
Section 3 is about the processor fundamentals. At the end of this section you will be comfortable with the inner workings of the processor, the general and special registers that do all the magic inside the processor. You will learn how to interpret the assembly instructions and how they work inside the processor.
Section 4 is about the peripherals. You will learn the theory behind the ADC (Analog to Digital Converter) peripheral.
Section 5 is the first project of this course where you will sample an analog voltage using ASF libraries in Atmel studio and understand how the peripheral and processor work together to convert this into a digital code.
Section 6 is the second project in this course where you will understand how an analog voltage is sampled and implement it by directly writing to the registers. (No library use here)
Section 7 is the third project in this course where you will understand how to sample real time temperature and how the processor interprets the value in degrees C of F. You will implement it using ASF code.
Section 8 is a homework project in which you will implement temperature sensing using direct register access. Solutions are provided for reference.
This course content was generated from scratch in a way to get the point across to you, in the most efficient, exciting and engaging way!
Is this course for me?
If you are an embedded systems enthusiast, professional or student who is struggling to start programming on the ARM Cortex-M platform, this course if for you. If you have worked with Arduino before, and have basic working knowledge of embedded systems, this course is for you. If you have already been working with ARM Cortex microcontrollers and want to gain a deeper understanding of the processor’s fundamentals as well as the ADC peripheral, then this course is for you!
Can I use another development board?
I use the Atmel SAM4s Xplained Pro development board in this course which houses a ARM Cortex-M4 processor. You may choose any other microcontroller of your choice that works with Atmel Studio. If you need help selecting a board, let me know and I can help you out.
My personal guarantee
I am proud to say that I stand behind this course 100%, and guarantee you that you will get valuable information from this course. There is also a 30 day money back guarantee from Udemy.
With this, you can feel confident about your purchase and know that it is a valuable find.
Overview
Section 1: Important points before we get started
Lecture 1 Before we get started!
Lecture 2 Course Introduction
Section 2: Getting Past Arduino
Lecture 3 Limitations of Arduino and how to surpass the learning barrier
Lecture 4 Arduino to Atmel SAM4s
Lecture 5 SAM4s Hardware
Lecture 6 Cortex-M Instruction Set
Section 3: IDE and hardware setup
Lecture 7 Atmel Studio Installation
Lecture 8 Setting up the SAM4s board in Atmel Studio
Lecture 9 Reference documents
Section 4: Learning the processor fundamentals
Lecture 10 Programmers Model
Lecture 11 Programmers Model - General Registers
Lecture 12 Programmers Model - Special Registers
Lecture 13 Exception Model
Lecture 14 High level system overview and transitioning into peripherals
Section 5: Analog to Digital Converter (ADC) Peripheral
Lecture 15 Section Introduction
Lecture 16 ADC Theory
Lecture 17 Sample and Hold Circuit Simulation
Section 6: Project 1 - ADC using Atmel Studio Framework
Lecture 18 Introduction to the first project
Lecture 19 Atmel Studio Framework (ASF) Setup
Lecture 20 Writing the ADC setup function
Lecture 21 Writing the ADC setup function - part 2
Lecture 22 Writing the ADC setup function - part 3
Lecture 23 Writing the Interrupt Handler and Running the Code
Section 7: Project 2 - ADC using direct register access
Lecture 24 Programming the ADC Control Register
Lecture 25 Programming the ADC Mode Register
Lecture 26 Programming the ADC Channel Enable and Interrupt Enable Registers
Lecture 27 Compiling and running the code!
Section 8: Project 3 - Temperature Sensing using ADCs
Lecture 28 Project Introduction
Lecture 29 Configuring the ADC to read the on-board temperature sensor
Lecture 30 Measuring room temperature
Lecture 31 Heat up the board and test the temperature sensor!
Section 9: Challenge - Temperature Sensing Using Register Access
Lecture 32 Your objective
Lecture 33 Solution and source code
Section 10: Closing Notes
Lecture 34 Congratulations and thank you!
Beginners to embedded programming, with basic understanding of code,Intermediate embedded programmers,Students wanting to explore embedded programming,ARM Cortex enthusiasts,Atmel enthusiasts