Extreme Embedded Firmware Engineering Learning Path
Embedded Build Systems with GNU Tools and Makefiles | Modern Bare-Metal Embedded C++ | Embedded Systems Design Patterns
3 courses | 44+ hours | Complete Source Code Included
Have you ever wondered what it is like to develop embedded firmware without using any IDE- just a simple text editor and the command line ?
Extreme Embedded Bare-Metal Development
Exactly What You're Getting
This is dramatically different from any course you have ever taken because like many of my courses, this is more of a professional hands-on “field guide” to stm32 extreme bare metal firmware development. The reason why is because there’s no fluff or filler. It immediately gets down to the actual subject, showing you exactly what to do, how to do it, and why.
You Will Be Able To :
- Build complete firmware without using an Integrated Development Environment (IDE)
- Write your own Linker Script
- Write your own C Startup file
- Effectively apply GNU Bin Tools
- Effectively apply Build Systems like Make to your Embedded Development
- Effectively write your own Makefiles to automate the Build Process in your Embedded Projects
- Build every single line of code from scratch by writing to the microcontroller’s memory space directly.
- Use No third party libraries or header files
- Develop proficiency in your embedded development skills and confidently take the next steps
- Define addresses for the different peripherals
- Analyze the chip documentation
- Create registers from the addresses
Furthermore, you will master C++ key features like Object-Oriented methods, Template Programming, and optimization.
You Will Be Able To :
- Write Class Templates for accessing Microcontroller Registers
- Write Object-Oriented Peripheral Drivers
- Master Object-Oriented Techniques for Microcontrollers
- Master C++ Templates for Microcontrollers
- Write Universal Asynchronous Receiver-Transmitter (UART) drivers using bare-metal-C++
- Write Analog-to-Digital Converter (ADC) drivers using bare-metal Embedded-C++
- Write General Purpose Timer (GPTM) drivers using bare-metal Embedded-C++
- Write System Tick (SysTick) Timer drivers using bare-metal Embedded-C++
- Write Serial Peripheral Interface (SPI) drivers using bare-metal Embedded-C++
- Write Inter-Integrated Circuit (I2C) drivers using bare-metal Embedded-C++
3. Embedded Systems Design Patterns From Ground Up
The course focuses on practical solutions by taking real-world problems and solving them using various design pattern solutions, examples such as data access in an ECG system using the Client-Server Design Pattern, IO device development using the Strategy Design Pattern, hardware portability using Hardware Proxy Design Pattern, Sensor Data Subscription and Notification Observer Design Pattern etc.
You Will Be Able To :
- Implement Client-Server Design Pattern for accessing data in an ECG system
- Implement the Hardware Proxy Design Pattern to enable hardware portability
- Implement Observer Design Pattern for Subscribing to Sensor Data
- Master C++ Templates for Microcontrollers
- Implement the STRATEGY Design Pattern in your firmware
- Implement the STATE Design Pattern in your firmware
- Implement the Hardware Adapter Design Pattern in your firmware
- Master Embedded-C Bit manipulations
Frequently Asked Questions
Your Instructor
EmbeddedExpertIO represents a vibrant collective dedicated to the mastery of sophisticated embedded systems software development for professionals.
Our core objective is to equip individuals and organizations with the indispensable skills to thrive in the swiftly evolving embedded systems sector. We achieve this by providing immersive, hands-on education under the guidance of seasoned industry specialists. Our ambition is to emerge as the favored learning platform for embedded systems development professionals across the globe.