Hands-on Embedded Systems with Atmel SAM4s ARM Processor
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.
Who this course is for:
- Beginners to embedded programming, with basic understanding of code
- Intermediate embedded programmers
- Students wanting to explore embedded programming
- ARM Cortex enthusiasts
- Atmel enthusiasts
Instructor
Akshay has always had a practical approach to engineering. His quest for Electric Vehicles began in 2008 when he developed a unique dashboard electric scooters that rewards users when they drive electric. In his Masters at University of Toronto he developed a unique way of measuring impedance characteristics of Lithium-ion batteries on-board vehicles that allow for early prediction of battery failures.
He was a core member of the Battery Hardware and Firmware team at Tesla, where he worked on the Model S refresh, Model X and Model 3 vehicles. He is now the Director at MakerMax Inc., that is enabling an ecosystem for mass EV adoption by creating products such as battery analyzers, characterizers and battery management platforms that enable the industry to create high performance and safe Electric Vehicles. He also runs popular online workshops on Battery Technology to reskill professionals and students in this field.