Embedded Systems and Operating System Development

Become an Expert in Embedded Systems: Develop your own OS in the C and Assembly Languages, and Design your own PCB

4.60 (36 reviews)
Udemy
platform
English
language
Operating Systems
category
Embedded Systems and Operating System Development
523
students
12.5 hours
content
Nov 2023
last update
$84.99
regular price

What you will learn

Learn how to build an embedded system from the ground up on the bench. This will give you a great insight into the target platform, but is not mandatory

Learn how to program a microcontroller from scratch by setting up wiring, clocking, connecting the programmer, and flashing binary applications to the chip

Get a deep insight into what an operating system is, when you need one, and how it works on embedded platforms

Understand Kernels, Multitasking, Context Switching, Scheduling, Critical Sections, and Task Synchronization from a practical perspective

Understand CPU Architectures in general and how to choose a target CPU. Deep understanding of the MIPS32 Arch internals, like Registers and Memory Layout

Programming of Advanced Applications for the Microchip PIC32 (MIPS32) microcontroller

Develop Board Support Packages (BSP) for a Target Platform

Deep and practical understanding of data communication over the SPI and I2C busses, as well as serial communication via UART modules (including USB-to-Serial)

Learn how to develop a Preemptive and Cooperative Kernel based on CPU-specific assembly code for Task Context Switching

Learn how to provide efficient internal services for Time, Task, and Memory Management

Learn how to create Inter-Process Communication (IPC) with Mailboxes and Message Queues

Get a deep understanding of - and learn how to implement - Real-Time Constraints in order for an operating system to be considered an RTOS (Real-Time OS)

Understand the Priority Inversion problem and learn how to implement specific countermeasures

Learn Device Driver development. We will develop drivers step by step for our Target Platform's peripherals, such as the display and the MicroSD card

Interfacing User Application to the OS

Understand how to write a binary image to the Target Platform's Program Flash at runtime, and create a USB/UART Bootloader

Learn how to make a Porting of the OS, making it executable on different CPU Architectures

Understanding of the Target Platform's Electrical Schematic and PCB Layout (optional)

Why take this course?

In this course you will learn how to create an Embedded OS, really from the ground up.

You will be guided step by step in the creation of each and every technical software module composing an embedded operating system, as well as in the development of your own target device on the bench (optional: you can use a free simulator or a ready-to-use Starter Kit), starting with basic electronic components and an industry-standard processor.

You will learn how to create device drivers step-by-step for real hardware components like displays, SD card storage, Wi-Fi, Inertial Movement Units (IMU, i.e. accelerometer and gyroscope), USB communication, analog Joysticks, thermal camera modules and more.

By the end of this course you will master system-level programming in the assembly and C languages, as well as the technical processes governing the interaction between CPU and memory. Thanks to the numerous hands-on experiences and practical demonstrations, you will develop the ability of gaining full control on the machine by manipulating CPU registers, stack, instruction pointer, return addresses, and much more. At the end of the software development part, you will learn how to create a porting to another architecture, like x86.

Although the hardware development part is optional, if you have access to an electronics lab you will also develop the ability of prototyping your circuit, designing and assembling your own target PCB (Printed Circuit Board).


Reviews

Daneis
November 28, 2023
One of the best courses i ever came across on the internet, you clearly see when someone is really passionate about the topic as well as understanding it really well. Thanks for this gem!
Ali
November 2, 2023
Thank you sir for this amazing course. I have not completed the whole course yet and already very thankful. This course will teach you the concepts of how an MCU and other components work and i love that he is building it from scratch on he's own hardware and also provide lessons on how to simulate if you don't have the hardware at your hands. If you are tired of all videos showing how to program an arduino where you dont understand how it really works this course is for you. Teacher takes bare components and using breadboard shows how to connect and read the data sheet. You cant go wrong with this course in my opinion. Its a hassle to really understand everything and master MCU programming especially if you don't know how electronic components function and what's their purpose but a great course non the less for starting and further learning in future. I would love more deeper explanation but still cant be more happier and have not found a better one yet.
Siddharth.
July 7, 2023
This is good but we couldn't follow up to your speed. Like you already made some codes and explaining from that. So we are not able to understand the code from the beginning. Theory concepts are good.
Josh
June 11, 2023
Section 7 is when you really start coding, if you have basic operating system knowledge I would start there. Great explanations, very good.
Alessandro
May 14, 2023
This course is well structured and developed in a very clear way. It contains detailed descriptions on every subject covered in the contents, and personally I appreciate a lot the drawings and schemes that are provided together with code examples and step by step explanations. I strongly recommend this course.
Mariano
May 4, 2023
Victor explains in detail all the steps necessary to build your own embedded system. It is easy to follow and the content is good. Keep it up Victor!!

Charts

Price

Embedded Systems and Operating System Development - Price chart

Rating

Embedded Systems and Operating System Development - Ratings chart

Enrollment distribution

Embedded Systems and Operating System Development - Distribution chart
4462424
udemy ID
12/27/2021
course created date
5/1/2023
course indexed date
Bot
course submited by