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.37 (66 reviews)

820
students
12.5 hours
content
Nov 2023
last update
$79.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)
4462424
udemy ID
12/27/2021
course created date
5/1/2023
course indexed date
Bot
course submited by