Foundation of Embedded Systems with ARM Cortex and STM32



Last updated 9/2021
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.02 GB | Duration: 7h 41m
A 14 day proven course to a higher paying career in embedded systems, with deep understanding of ARM Cortex and STM32


What you’ll learn
In-depth understanding of the ARM Cortex fundamentals
Set up a free and open source toolchain on your computer to program, flash and debug ARM based microcontrollers
Core register functionality like stack pointers, link registers, program counters, control registers, vector tables
Understand different types of exceptions on the ARM Cortex-M processor and what each of them mean
Understand different peripherals and how to program them
Hardware Abstraction Layer (HAL) Libraries and how to use them
Feel confident and comfortable programming applications on the Cortex-M platform
What is a programmers model and how it works for an ARM Cortex-M
Unprivileged and privileged software execution levels
Vector Table Offset Register (VTOR) and its uses
Big Endian Format vs Little Endian Format
OpenOCD (Open source debugger)
STCubeMX Application and how to generate HAL drivers
Requirements
Basic knowledge of embedded systems
STM32 Nucleo development board is recommended, but not mandatory
Eager to learn about ARM Cortex-M fundamentals
Description
✓ Do you like working with microcontrollers, sensors, and other embedded devices? ✓ Do you want a successful career in embedded systems, but can’t find the right resources?✓ Are you preparing for a job interview in embedded systems? ✓ Do you already have a career in embedded systems, but want to start working on more engaging projects?This course on the "Foundations of embedded systems with ARM Cortex and STM32" is the right choice. Try it for 30 days with a no questions asked, money back guarantee, and you will thank yourself for making the right decision.Your instructorYou will be learning the material from the best of the best in the industry. Akshay has over 10+ years of solid experience and has worked for companies like Tesla, on crucial projects for the Model S, X and 3 cars. He has a passion for teaching, and once you’ve experienced his teaching style, it is hard to go anywhere else. He is patient with students, and understands the learning journey you will go through, and will be there to guide you along the way.Akshay has been teaching since his first years at University and as won awards in teaching and entrepreneurship.In one sentence, how is this course different from other embedded systems courses?If you are looking for a course that is built from the ground-up with quality in mind, proven to make you successful in embedded systems, this is it.What hardware is needed for this course?The instructor is using a STM32 Nucleo development board for this course. However, you are free to choose any ARM Cortex board you wish to. The learning from the content is transferable across different platforms.You can choose to develop on Windows, Linux or Mac as per your preference. All 3 are supported in this course. Your 14 day journey to successWe recommend spreading out the content of the course over 14 days as it has proven to maximise your learning, giving you a chance to absorb the information and practice hands-on as you go.Section 1 – You will learn about the ARM Cortex architecture. Understanding this will allow you to select the right microcontroller for your project. With the deep understanding of ARM Cortex architecture, you will also be able to debug applications like a pro!Section 2 – The ARM Cortex programmers model, is hardly taught anywhere but such a crucial piece to understanding how the processor functions and how the C code that you write interfaces with the hardware after compilation.Section 3 – The ARM Cortex exception model and vector table is an important step to understanding how the working of the processor when things don’t go as intended. In embedded systems, exceptions need to be handled elegantly in order to produce a safe functioning product!Section 4 – ARM Cortex blocks like the System Control Block, Floating point unit, bus interfaces will be covered. This will give you an understanding of how core blocks inside the microcontroller are connected to each other and their usefulness.Section 5 – The first and an important step for a project is to be able to choose the right microcontroller. You will need to take all sorts of considerations into mind before making the choice. Making the right choice here will make your project successful in the short term and the long term as well. Section 6 – Peripherals let the processor talk to the outside world. When developing applications for microcontrollers, every project you will work on will interface to one or more of these peripherals. Having this understanding will allow you to successfully interface devices with the microcontroller.Section 7 – Special features of the microcontroller, go through 3 unique features that you will most likely be interfacing with in your projects.Section 8 – Hands-on lab to set up your computer with a development environment that will run on Windows, Linux or Mac. Having this setup will allow you to work on the lab exercises in this course and on your projects after course completion.Section 9 – Understanding UART communication is immensely important, and almost every embedded job interview will ask you a question about it. You will be able to become a pro at UART and interface all kinds of devices with the microcontroller after working on the lab exercises included with the course.Section 10 – I2C communication runs over 2 wires and is used extensively in a lot of embeded devices. The lectures and timed challenge lab exercise for I2C will train you to be a professional in this communication interface. Having this understanding will allow you to interface with millions of I2C devices available in the market and use them for your projects.Section 11 – GPIO is a peripheral that will definitely be in every single application you work on. With the hands-on learning in this section, you will understand different ways in which ports and pins can be setup to allow you to interface various types of devices with the GPIO peripheral.Section 12 – DAC and TIM peripherals will open the world of timing, and digital to analog conversion for you. This is an extensive area where microcontrollers are used and the lab exercises included in this section will give you an excellent understanding of how these two peripherals can be used in your custom application.Section 13 – These days we just download an IDE and are good to go. But have you ever wondered what the different components inside an IDE (Integrated development environment) are? Going through these exercises will allow you to get that understanding which will make debugging so much easier going forward. Understanding the development environment from ground-up allows you to be confident when things go wrong.Section 14 – We talk about the next steps and a continued learning program to allow you to take the learnings from this course and continue to apply them in future projects. We also talk about how you can use the information learned in this course to guarantee a successful career in embedded systems.
Overview
Section 1: Course basics
Lecture 1 Important points before you get started
Section 2: Cortex-M Introduction and Architecture Overview
Lecture 2 ARM Cortex Family
Lecture 3 Cortex-M Family
Lecture 4 Cortex-M4 Instruction Set
Lecture 5 Guidelines
Lecture 6 Overview of the Nucleo F303RE board
Lecture 7 Reference Documents
Section 3: Cortex-M Programmer’s Model
Lecture 8 Programmer’s Model
Lecture 9 General Registers and Process Specific Registers
Lecture 10 Special Registers
Lecture 11 Lab Session #1 – Programmers Model – General and Special Registers
Lecture 12 Lab Session #2 – Programmers Model – xPSR and Control Register
Section 4: Cortex-M Exception Model, Vector Table and VTOR
Lecture 13 Exception Model and Vector Table
Lecture 14 Lab Session #3 – Reset Exception Handler and the Vector Table
Lecture 15 Vector Table Offset Register (VTOR)
Lecture 16 Lab Session #4 – Using VTOR to move vector table to SRAM
Section 5: Cortex-M Core Blocks
Lecture 17 Core Blocks inside the ARM microcontroller
Lecture 18 Big Endian vs Little Endian
Lecture 19 STM32F3x System Overview, Bus Interface
Section 6: How to choose the right microcontroller for your application
Lecture 20 How to choose a microcontroller for your project
Lecture 21 Powering up a microcontroller on a breadboard
Section 7: Peripherals of the microcontroller
Lecture 22 Timers and counters
Lecture 23 Prescalers
Lecture 24 PLL – Phase lock loop
Lecture 25 ADC – analog to digital converters
Lecture 26 DAC – Digital to analog converters
Lecture 27 I/O ports
Lecture 28 AC – Analog comparators
Section 8: Special features of a microcontroller
Lecture 29 Interrupts
Lecture 30 Reset sequence and watchdog timer
Lecture 31 JTAG – Joint Test Action Group
Section 9: LAB: Windows, Mac, Linux – Development environment setup
Lecture 32 Setting up the development environment
Section 10: LAB: UART driver development
Lecture 33 A deep dive into UART and its implementation
Section 11: LAB: I2C – Inter-integrated communication driver development
Lecture 34 The I2C protocol
Lecture 35 I2C open drain
Lecture 36 TIMED CHALLENGE: I2C driver development
Section 12: LAB: GPIO – General purpose input output driver development
Lecture 37 Project 1 – GPIO Peripheral Driver Development
Lecture 38 ADC lab exercise
Section 13: LAB: DAC & TIM – Digital to analog conversion driver development
Lecture 39 Project 2 – DAC and TIM Peripheral Driver Development
Section 14: (Optional): Setting up an Eclipse based development environment from scratch
Lecture 40 Section Introduction
Lecture 41 Setting up the virtual machine
Lecture 42 Setting up Linux OS on the virtual machine
Lecture 43 Setting up the Eclipse development environment
Lecture 44 Setting up the development toolchain
Lecture 45 Creating a blinky project
Lecture 46 Setting up the open source debugger (Part 1)
Lecture 47 Setting up the open source debugger (Part 2)
Lecture 48 Install STCubeMX for generating HAL drivers
Lecture 49 Running the blinky project
Lecture 50 FAQ and Troubleshooting
Lecture 51 Toolchain installation instructions for MacOS users
Section 15: Congratulations and Thank you!
Lecture 52 Guidelines
Lecture 53 Closing Notes
An embedded systems enthusiast, professional or student who is struggling to start programming on the ARM Cortex-M platform,Worked with Arduino before, and has basic working knowledge of embedded systems,Worked with 8-bit and 16-bit microcontrollers and want to venture into the world of 32-bit microcontrollers,Already been working with ARM Cortex microcontrollers and want to gain a deeper understanding of the processor’s fundamentals

Homepage

https://www.udemy.com/course/cortex-m/

Buy Premium From My Links To Get Resumable Support,Max Speed & Support Me


DOWNLOAD FROM RAPIDGATOR.NET
DOWNLOAD FROM RAPIDGATOR.NET
DOWNLOAD FROM RAPIDGATOR.NET
DOWNLOAD FROM RAPIDGATOR.NET

DOWNLOAD FROM NITROFLARE.COM
DOWNLOAD FROM NITROFLARE.COM
DOWNLOAD FROM NITROFLARE.COM
DOWNLOAD FROM NITROFLARE.COM

DOWNLOAD FROM UPLOADGIG.COM
DOWNLOAD FROM UPLOADGIG.COM
DOWNLOAD FROM UPLOADGIG.COM
DOWNLOAD FROM UPLOADGIG.COM

Links are Interchangeable – No Password – Single Extraction