mirror of
https://github.com/m3y54m/Embedded-Engineering-Roadmap.git
synced 2026-10-04 21:07:58 +03:00
Compare commits
25
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
997e6f7b09 | ||
|
|
2539b6f484 | ||
|
|
4ba2d4a1e3 | ||
|
|
20b620c321 | ||
|
|
1c59b3c8f0 | ||
|
|
05e9d836fe | ||
|
|
f84f0320b1 | ||
|
|
73e3af2d57 | ||
|
|
c0434b7d60 | ||
|
|
18bd3a9abe | ||
|
|
8f8f31b9b4 | ||
|
|
0ace66511f | ||
|
|
fb94514cf4 | ||
|
|
73e7edbe82 | ||
|
|
24039054bf | ||
|
|
f25a3e7930 | ||
|
|
3e0f30c886 | ||
|
|
ece884be57 | ||
|
|
7608392b2d | ||
|
|
b97beec23e | ||
|
|
7b7698aede | ||
|
|
249d971baf | ||
|
|
ccc80662ce | ||
|
|
728ee3137c | ||
|
|
c09b48e5f9 |
Binary file not shown.
@@ -6,9 +6,9 @@ Becoming an embedded engineer requires a broad understanding of both software an
|
||||
|
||||
## What is an Embedded System?
|
||||
|
||||
[Analog Devices](https://www.analog.com/en/design-center/glossary/embedded-system.html): An embedded system is a system in which the **computer** (generally a microcontroller or microprocessor) is included as an integral part of the system. Often, the computer is relatively **invisible to the user**, without obvious applications, files, or operating systems. Examples of products with invisible embedded systems are the controller that runs a microwave oven or the engine control system of a modern automobile.
|
||||
[Making Embedded Systems](https://www.oreilly.com/library/view/making-embedded-systems/9781449308889/): An embedded system is a **computerized system** that is **purpose built** for its application.
|
||||
|
||||
[Wikipedia](https://en.wikipedia.org/wiki/Embedded_system): An embedded system is a **computer system**—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function **within a larger mechanical or electronic system**.
|
||||
[Analog Devices](https://www.analog.com/en/design-center/glossary/embedded-system.html): An embedded system is a system in which the **computer** (generally a microcontroller or microprocessor) is included as an integral part of the system. Often, the computer is relatively **invisible to the user**, without obvious applications, files, or operating systems. Examples of products with invisible embedded systems are the controller that runs a microwave oven or the engine control system of a modern automobile.
|
||||
|
||||
[Embedded Systems Glossary](https://barrgroup.com/embedded-systems/glossary-e): A combination of **computer hardware and software**, and perhaps **additional mechanical or other parts**, designed to perform a **dedicated function**. In some cases, embedded systems are **part of a larger system** or product, as in the case of an antilock braking system in a car.
|
||||
|
||||
@@ -38,11 +38,6 @@ Becoming an embedded engineer requires a broad understanding of both software an
|
||||
- [edX - Embedded Systems - Shape The World: Microcontroller Input/Output](https://learning.edx.org/course/course-v1:UTAustinX+UT.6.10x+3T2022/home)
|
||||
- [edX - Embedded Systems - Shape The World: Multi-Threaded Interfacing](https://www.edx.org/learn/computer-programming/the-university-of-texas-at-austin-embedded-systems-shape-the-world-multi-threaded-in)
|
||||
|
||||
#### 🤡 Simulation
|
||||
|
||||
- [Wokwi - Online ESP32, STM32, Arduino Simulator](https://wokwi.com/)
|
||||
- [QEMU - open-source freeware for emulating hardware and devices](https://www.qemu.org/)
|
||||
|
||||
#### 🛠️ IDEs
|
||||
|
||||
- [Keil MDK & µVision](https://www.keil.com/)
|
||||
@@ -83,6 +78,7 @@ Additionally, the [Arduino Core](https://github.com/arduino/ArduinoCore-API) tak
|
||||
- [DeepBlueMbedded](https://deepbluembedded.com/)
|
||||
- [Interrupt Blog by Memfault](https://interrupt.memfault.com/blog/)
|
||||
- [Microchip University](https://mu.microchip.com/)
|
||||
- [Electronics Tutorials](https://www.electronics-tutorials.ws)
|
||||
- [SparkFun Learn: Learn at SparkFun Electronics](https://learn.sparkfun.com/)
|
||||
- [Adafruit Learning System](https://learn.adafruit.com/)
|
||||
- [Random Nerd Tutorials | Learn ESP32, ESP8266, Arduino, and Raspberry Pi](https://randomnerdtutorials.com/)
|
||||
@@ -131,6 +127,7 @@ _________________
|
||||
|
||||
#### Electrical Circuits Basics
|
||||
|
||||
- [💎 Electronics Tutorials](https://www.electronics-tutorials.ws)
|
||||
- [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook/)
|
||||
- [Make: Electronics: Learning by Discovery - Charles Platt](https://a.co/d/fbRoM1R)
|
||||
- [Electronic Basics - GreatScott! (YouTube Playlist)](https://youtube.com/playlist?list=PLAROrg3NQn7cyu01HpOv5BWo217XWBZu0)
|
||||
@@ -145,17 +142,18 @@ _________________
|
||||
|
||||
#### Digital Circuits & Logic Design
|
||||
|
||||
- [Digital Design - Morris Mano](https://www.portcity.edu.bd/files/636444791235373856_Digitallogicdesign.pdf)
|
||||
- [💎 Digital Design - Morris Mano](https://www.portcity.edu.bd/files/636444791235373856_Digitallogicdesign.pdf)
|
||||
|
||||
#### Computer Architecture
|
||||
|
||||
- [Build an 8-bit computer from scratch](https://eater.net/8bit/)
|
||||
- [Computer Organization and Design: ARM Edition - David A. Patterson, John L. Hennessy](https://github.com/AbderrhmanAbdellatif/ComputerOrganization/blob/master/%5BThe%20Morgan%20Kaufmann%20Series%20in%20Computer%20Architecture%20and%20Design%5D%20David%20A.%20Patterson%2C%20John%20L.%20Hennessy%20-%20Computer%20Organization%20and%20Design_%20The%20Hardware%20Software%20Interface_%20ARM%20Edition%20(2016%2C%20Morgan%20Kaufmann).pdf)
|
||||
- [Computer Organization and Design: ARM Edition - David A. Patterson, John L. Hennessy](https://a.co/d/8YPUXG7)
|
||||
- [💎 Digital Design and Computer Architecture: ARM Edition - Sarah Harris, David Harris](https://a.co/d/4otoVvI)
|
||||
- [💎 Digital Design and Computer Architecture: RISC-V Edition - Sarah Harris, David Harris](https://a.co/d/61l7Jtb)
|
||||
- [Embedded Systems Architecture - Tammy Noergaard](https://www.oreilly.com/library/view/embedded-systems-architecture/9780123821966/)
|
||||
- [The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors - Joseph Yiu](https://www.oreilly.com/library/view/the-definitive-guide/9780128032787/)
|
||||
- [The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors - Joseph Yiu](https://www.oreilly.com/library/view/the-definitive-guide/9780124080829/)
|
||||
- [Build an 8-bit computer from scratch](https://eater.net/8bit/)
|
||||
|
||||
_________________
|
||||
|
||||
### Using Test Equipment
|
||||
@@ -165,7 +163,7 @@ _________________
|
||||
- [Learn How to Use a Multimeter!](https://youtu.be/4lAyzRxsbDc)
|
||||
- [How to Use a Multimeter ](https://learn.sparkfun.com/tutorials/how-to-use-a-multimeter/all)
|
||||
|
||||
#### Logic Analyzer
|
||||
#### Logic / Protocol Analyzer
|
||||
|
||||
- [Instrument Basics: Logic Analyzer](https://youtu.be/u1DYs2I-_lU)
|
||||
|
||||
@@ -193,13 +191,14 @@ _________________
|
||||
|
||||
#### PCB Design
|
||||
|
||||
- [Create PCBs for Rapid Prototyping](https://www.youtube.com/playlist?list=PLEBQazB0HUyRVK1RpHIjyjuTxn5srz6XM)
|
||||
- [How to Make a Raspberry Pi Compute Module 4 Carrier Board](https://www.youtube.com/playlist?list=PLEBQazB0HUyRwjr761b-MLNEu8FA8WKSG)
|
||||
- [How To Learn PCB Design (My Thoughts, Journey, and Resources) - Phil's Lab #87](https://youtu.be/aODkA2mrimQ)
|
||||
- [KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65](https://youtu.be/aVUqaB0IMh4)
|
||||
- [Intro to KiCad](https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PLEBQazB0HUyR24ckSZ5u05TZHV9khgA1O)
|
||||
- [Altium Academy YouTube Channel](https://www.youtube.com/@AltiumAcademy)
|
||||
- [Robert Feranec YouTube Channel](https://www.youtube.com/@RobertFeranec)
|
||||
- [Altium Tutorials for Beginners - Robert Feranec (YouTube Playlist)](https://www.youtube.com/playlist?list=PLXvLToQzgzdduBaD4horowdWgcG5uGUW4)
|
||||
- [Create PCBs for Rapid Prototyping - DigiKey (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEBQazB0HUyRVK1RpHIjyjuTxn5srz6XM)
|
||||
- [How to Make a Raspberry Pi Compute Module 4 Carrier Board - DigiKey (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEBQazB0HUyRwjr761b-MLNEu8FA8WKSG)
|
||||
- [How To Learn PCB Design (My Thoughts, Journey, and Resources) - Phil's Lab #87](https://youtu.be/aODkA2mrimQ)
|
||||
- [KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65](https://youtu.be/aVUqaB0IMh4)
|
||||
- [Intro to KiCad - DigiKey (YouTube Playlist)](https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PLEBQazB0HUyR24ckSZ5u05TZHV9khgA1O)
|
||||
- [PCB Design for EMI & SI - Phil's Lab #64](https://www.youtube.com/watch?v=VtzPL8wQ8-E)
|
||||
- [PCB Design for Advanced Users](https://youtube.com/playlist?list=PL3aaAq2OJU5EWfYT_Z93tc9pBF_Sidba_)
|
||||
- [9 Simple Tricks to Improve EMC / EMI on Your Boards - Practical examples (with Min Zhang)](https://www.youtube.com/watch?v=Lf51sx6sC0I)
|
||||
@@ -309,14 +308,16 @@ _________________
|
||||
|
||||
_________________
|
||||
|
||||
### Build System
|
||||
### Build Tools
|
||||
|
||||
#### GCC & Make
|
||||
|
||||
- [GCC and Make - Compiling, Linking and Building C/C++ Applications](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html)
|
||||
- [Computer Systems: A Programmer's Perspective - Randal E. Bryant, David R. O'Hallaron | ➡️ Chapter 7: Linking](http://csapp.cs.cmu.edu/3e/home.html)
|
||||
|
||||
#### CMake
|
||||
|
||||
- [CMake Tutorial](https://cmake.org/cmake/help/latest/guide/tutorial/index.html)
|
||||
- [How to CMake Good](https://youtube.com/playlist?list=PLK6MXr8gasrGmIiSuVQXpfFuE1uPT615s)
|
||||
|
||||
#### Bash Scripting
|
||||
@@ -326,6 +327,7 @@ _________________
|
||||
|
||||
#### Docker
|
||||
|
||||
- [Docker Docs](https://docs.docker.com/get-started/)
|
||||
- [Introduction to Docker for the Embedded Developer](https://www.youtube.com/watch?v=Fz7ou-VBk-w)
|
||||
|
||||
_________________
|
||||
@@ -347,6 +349,8 @@ _________________
|
||||
|
||||
- [💎 Make: AVR Programming - Elliot Williams](https://www.oreilly.com/library/view/make-avr-programming/9781449356484/)
|
||||
- [💎 Mastering STM32 - Carmine Noviello](https://leanpub.com/mastering-stm32-2nd)
|
||||
- [Getting Started With AVR](https://www.youtube.com/playlist?list=PLtQdQmNK_0DRhBWYZ32BEILOykXLpJ8tP)
|
||||
- [Fundamentals of Microcontrollers - Arduino bare-metal breakdown](https://www.youtube.com/playlist?list=PLNyfXcjhOAwOF-7S-ZoW2wuQ6Y-4hfjMR)
|
||||
- [Getting Started with STM32 and Nucleo](https://youtube.com/playlist?list=PLEBQazB0HUyRYuzfi4clXsKUSgorErmBv)
|
||||
- [Bare Metal Embedded Programming: Theory and Practice Using STM32](https://www.youtube.com/playlist?list=PL4cGeWgaBTe155QQSQ72DksLIjBn5Jn2Z)
|
||||
- [Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC - Warren Gay](https://link.springer.com/book/10.1007/978-1-4842-3624-6)
|
||||
@@ -355,6 +359,7 @@ _________________
|
||||
- [Udemy – Embedded Systems STM32 Low-Layer APIs(LL) Driver Development](https://www.udemy.com/course/embedded-systems-stm32-low-level-ll-driver-development/)
|
||||
- [Udemy – Embedded Systems STM32 HAL APIs Driver Development](https://www.udemy.com/course/embedded-systems-stm32-hal-apis-driver-development/)
|
||||
- [Embedded System Design with ARM Cortex-M Microcontrollers: Applications with C, C++ and MicroPython - Cem Ünsalan, Hüseyin Deniz Gürhan, Mehmet Erkin Yücel](https://link.springer.com/book/10.1007/978-3-030-88439-0)
|
||||
- [Awesome Embedded: A curated list of awesome embedded programming](https://github.com/nhivp/Awesome-Embedded)
|
||||
|
||||
#### GPIO
|
||||
|
||||
@@ -393,6 +398,14 @@ _________________
|
||||
- [The Watchdog Timer on Arduino](https://www.youtube.com/watch?v=AzZBgH67mgE)
|
||||
- [WATCHDOGS in STM32 || IWDG and WWDG || CubeIDE](https://www.youtube.com/watch?v=AelNsnpfbcM)
|
||||
|
||||
#### Clock Management
|
||||
|
||||
- [Clock Configuration in STM32](https://medium.com/@csrohit/clock-configuration-in-stm32-6a058da220e0)
|
||||
- [STM32: Change clock speed via registers](https://www.youtube.com/watch?v=W_9jPMgiqaQ)
|
||||
- [#1. Intro to STM32F4 Register Based Programming || Clock Setup || LED Blinking || NO HAL](https://www.youtube.com/watch?v=GJ_LFAlOlSk)
|
||||
- [Tutorial 8: MCU Clocks configuration in STM32 using STM32CUBEMX](https://www.youtube.com/watch?v=y8yNsWpQiTM)
|
||||
- [Clock sources and PLL in ARM Cortex M4](https://www.youtube.com/watch?v=2ou8FQ_7PdI)
|
||||
|
||||
#### DMA
|
||||
|
||||
- [STM32 DMA PT 1](https://www.youtube.com/watch?v=yvLHtXJ_KSg)
|
||||
@@ -402,7 +415,11 @@ _________________
|
||||
|
||||
#### Bootloader
|
||||
|
||||
- [Basics to Developing Bootloader for Arduino](https://www.electronicwings.com/arduino/basics-to-developing-bootloader-for-arduino)
|
||||
- [From Zero to main(): How to Write a Bootloader from Scratch](https://interrupt.memfault.com/blog/how-to-write-a-bootloader-from-scratch)
|
||||
- [How to Create a Super Simple Bootloader](https://www.youtube.com/watch?v=OkUQ3iMmiYQ&list=PLnMKNibPkDnEb1sphpdFJ3bR9dNy7S6mO)
|
||||
- [Blinky To Bootloader: Bare Metal Programming Series](https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ)
|
||||
- [Simple AVR Bootloader tutorial](https://www.pocketmagic.net/simple-avr-bootloader-tutorial/)
|
||||
- [Udemy – STM32Fx Microcontroller Custom Bootloader Development](https://www.udemy.com/course/stm32f4-arm-cortex-mx-custom-bootloader-development/)
|
||||
|
||||
#### Power Management
|
||||
@@ -418,8 +435,23 @@ _________________
|
||||
|
||||
#### Functional Safety
|
||||
|
||||
- [Microchip University - Introduction to Functional Safety](https://mu.microchip.com/introduction-to-functional-safety)
|
||||
- [Udemy – Functional Safety According to ISO 26262 - Crash Course](https://www.udemy.com/course/iso-26262-crash-course/)
|
||||
- [A Guide to MISRA C Coding Standards - MISRA C and MISRA C++](https://www.perforce.com/resources/qac/misra-c-cpp)
|
||||
- [A Firmware Development Standard by Jack Ganssle](http://www.ganssle.com/fsm.htm)
|
||||
|
||||
_________________
|
||||
|
||||
### Simulation / Emulation Tools
|
||||
|
||||
- [Wokwi - Online ESP32, STM32, Arduino Simulator](https://wokwi.com/)
|
||||
|
||||
#### [QEMU](https://www.qemu.org/)
|
||||
|
||||
- [QEMU’s documentation](https://www.qemu.org/docs/master/index.html)
|
||||
- [Running AVR code in QEMU - A quick-start guide to accelerate AVR firmware development](https://yeah.nah.nz/embedded/qemu-avr/)
|
||||
- [QEMU Simulation - Blinky - STM32F767ZI Full Stack](https://longer-vision-robot.gitbook.io/stm32f767zi-full-stack/chapter-2.-programming-for-stm32/2.4-qemu-simulation-blinky)
|
||||
- [Emulating a Raspberry Pi in QEMU](https://interrupt.memfault.com/blog/emulating-raspberry-pi-in-qemu)
|
||||
|
||||
_________________
|
||||
|
||||
@@ -453,12 +485,25 @@ _________________
|
||||
|
||||
- [1-Wire® Technology Overview](https://www.youtube.com/watch?v=CjH-OztKe00)
|
||||
|
||||
##### SDIO
|
||||
|
||||
- [SDIO Protocol](https://prodigytechno.com/sdio-protocol/)
|
||||
- [Interface SD CARD with SDIO in STM32](https://controllerstech.com/interface-sd-card-with-sdio-in-stm32/)
|
||||
- [SDIO Card Slave Driver - ESP32 - Technical Documents](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/sdio_slave.html)
|
||||
|
||||
#### Audio
|
||||
|
||||
##### I2S
|
||||
|
||||
- [Building a Digital Music Player with I2S?! What is I2S! EB#45](https://www.youtube.com/watch?v=qNLvoSQCx60)
|
||||
|
||||
#### Image & Video
|
||||
|
||||
##### CSI-2
|
||||
|
||||
- [MIPI Camera Serial Interface 2](https://www.mipi.org/specifications/csi-2)
|
||||
- [Tutorial: MIPI CSI-2](https://www.youtube.com/watch?v=8REu_h7bzHM)
|
||||
|
||||
#### Wireless
|
||||
|
||||
- [Bluetooth Low Energy Fundamentals - Nordic Semiconductor](https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/)
|
||||
@@ -498,6 +543,7 @@ _________________
|
||||
##### USB
|
||||
|
||||
- [Training - USB 101 - Introduction to USB](https://www.youtube.com/watch?v=5S6ZPmtPzRA)
|
||||
- [USB 101: An Introduction to Universal Serial Bus 2.0](https://www.infineon.com/dgdl/Infineon-AN57294_USB_101_An_Introduction_to_Universal_Serial_Bus_2.0-ApplicationNotes-v09_00-EN.pdf?fileId=8ac78c8c7cdc391c017d072d8e8e5256)
|
||||
- [How does a USB keyboard work?](https://youtu.be/wdgULBpRoXk)
|
||||
- [How does USB device discovery work?](https://www.youtube.com/watch?v=N0O5Uwc3C0o)
|
||||
- [MOOC - STM32 USB training](https://www.youtube.com/playlist?list=PLnMKNibPkDnFFRBVD206EfnnHhQZI4Hxa)
|
||||
@@ -597,13 +643,6 @@ _________________
|
||||
- [💎 Operating Systems: Three Easy Pieces - Remzi H Arpaci-Dusseau, Andrea C Arpaci-Dusseau](https://pages.cs.wisc.edu/~remzi/OSTEP/)
|
||||
- [Modern Operating Systems - Andrew S. Tanenbaum, Herbert Bos](https://www.pearson.com/en-us/subject-catalog/p/modern-operating-systems/P200000003295)
|
||||
|
||||
#### Multitasking and Parallel Processing
|
||||
|
||||
- [Multitasking vs Multithreading vs Multiprocessing](https://medium.com/codex/multitasking-vs-multithreading-vs-multiprocessing-2b0087c861ae)
|
||||
- [Programming with POSIX Threads - David Butenhof](https://a.co/d/9R6DswF)
|
||||
- [Parallel Programming and Performance Optimization With OpenMP](https://passlab.github.io/OpenMPProgrammingBook/index.html)
|
||||
- [Introduction to OpenMP - Tim Mattson (Intel)](https://youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG)
|
||||
- [C++ Concurrency in Action - Anthony Williams](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
#### Embedded Linux
|
||||
|
||||
@@ -628,8 +667,9 @@ _________________
|
||||
|
||||
- [The U-Boot Documentation](https://u-boot.readthedocs.io/en/latest/)
|
||||
|
||||
##### BuildRoot
|
||||
##### Buildroot
|
||||
|
||||
- [Buildroot Documentation](https://buildroot.org/docs.html)
|
||||
- [Introduction to Embedded Linux Part 1 - Buildroot | Digi-Key Electronics](https://www.youtube.com/watch?v=9vsu67uMcko)
|
||||
|
||||
##### Yocto
|
||||
@@ -641,18 +681,34 @@ _________________
|
||||
- [💎 Embedded Linux Systems with the Yocto Project - Rudolf J.Streif](https://www.oreilly.com/library/view/embedded-linux-systems/9780133443301/)
|
||||
- [Embedded Linux Development using Yocto Project Cookbook - Alex Gonzalez](https://www.oreilly.com/library/view/embedded-linux-development/9781788399210/)
|
||||
|
||||
##### Multithreading & Parallel Processing
|
||||
|
||||
- [Multitasking vs Multithreading vs Multiprocessing](https://medium.com/codex/multitasking-vs-multithreading-vs-multiprocessing-2b0087c861ae)
|
||||
- [💎 Programming with POSIX Threads - David Butenhof](https://a.co/d/9R6DswF)
|
||||
- [Parallel Programming and Performance Optimization With OpenMP](https://passlab.github.io/OpenMPProgrammingBook/index.html)
|
||||
- [Introduction to OpenMP - Tim Mattson (Intel)](https://youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG)
|
||||
- [C++ Concurrency in Action - Anthony Williams](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
##### Inter Process Communication (IPC)
|
||||
|
||||
- [Inter Process Communication (IPC)](https://www.scaler.com/topics/operating-system/inter-process-communication-in-os/)
|
||||
- [What Is Inter-Process Communication In Linux?](https://www.scaler.com/topics/ipc-in-linux/)
|
||||
- [Udemy – Multi-Threading and IPC with Qt 5 C++](https://www.udemy.com/course/multi-threading-and-ipc-with-qt-c-plus-plus/)
|
||||
|
||||
##### Qt
|
||||
|
||||
- [Qt Documentation](https://doc.qt.io/)
|
||||
- [Introduction to Qt / QML](https://www.youtube.com/playlist?list=PL6CJYn40gN6hUXoYdyn4DHUTXfcVDJcfB)
|
||||
- [Udemy – Multi-Threading and IPC with Qt 5 C++](https://www.udemy.com/course/multi-threading-and-ipc-with-qt-c-plus-plus/)
|
||||
|
||||
#### Real-Time OS
|
||||
|
||||
##### RTOS Basics
|
||||
|
||||
- [Bare-metal and RTOS Based Embedded Systems](https://microcontrollerslab.com/difference-bare-metal-and-rtos-based-embedded-systems/)
|
||||
- [The Pros and Cons of RTOS vs Bare Metal: Which Will You Choose?](https://medium.com/@lanceharvieruntime/the-pros-and-cons-of-rtos-vs-bare-metal-which-will-you-choose-756e33ba6df7)
|
||||
- [FreeRTOS vs Linux for Embedded Systems](https://www.bytesnap.com/news-blog/freertos-vs-linux-embedded-systems/)
|
||||
- [Real-Time Systems Concepts](https://micrium.atlassian.net/wiki/spaces/osiidoc/pages/163855/Real-Time+Systems+Concepts)
|
||||
- [RTOS Fundamentals](https://www.freertos.org/implementation/a00002.html)
|
||||
- [RTOS](https://www.youtube.com/playlist?list=PLPW8O6W-1chyrd_Msnn4LD6LBs2slJITs)
|
||||
- [Beyond the RTOS](https://www.youtube.com/playlist?list=PLPW8O6W-1chytjkg63-tM7MI0BvGxxPIP)
|
||||
|
||||
@@ -683,28 +739,35 @@ _________________
|
||||
##### NuttX
|
||||
|
||||
- [NuttX - The Apache Software Foundation](https://nuttx.apache.org/)
|
||||
- [NuttX Documentation](https://nuttx.apache.org/docs/latest/)
|
||||
- [Getting Started to NuttX](https://www.youtube.com/playlist?list=PLd73yQk5Fd8JEsVD-lhwYRQKVu6glfDa8)
|
||||
|
||||
##### RT-Thread
|
||||
|
||||
- [RT-Thread | An Open Source Embedded Real-time Operating System](https://www.rt-thread.io/)
|
||||
- [RT-Thread document center](https://www.rt-thread.io/document/site/)
|
||||
- [RT-Thread Beginners Guide](https://youtube.com/playlist?list=PLXUV89C_M3G5KVw2IerI-pqApdSM_IaZo)
|
||||
|
||||
##### Mbed OS
|
||||
|
||||
- [Mbed OS](https://os.mbed.com/mbed-os/)
|
||||
- [Mbed OS Documentation](https://os.mbed.com/docs/mbed-os/)
|
||||
|
||||
##### QNX
|
||||
|
||||
- [BlackBerry QNX: Embedded OS, Support, and Services](https://blackberry.qnx.com/en)
|
||||
- [QNX Product Documentation](https://www.qnx.com/developers/docs/index.html)
|
||||
|
||||
##### VxWorks
|
||||
|
||||
- [VxWorks | Industry Leading RTOS for Embedded Systems](https://www.windriver.com/products/vxworks)
|
||||
- [VxWorks Documentation](https://docs.windriver.com/category/os_vxworks?labelkey=os_vxworks)
|
||||
- [VxWORKS-RTOS - Kumar M(YouTube Playlist)](https://www.youtube.com/playlist?list=PLyp1I7W35-q34sYWBlBg8xgoqsizZ57P7)
|
||||
|
||||
##### Azure RTOS (ThreadX)
|
||||
|
||||
- [Azure RTOS - Making embedded IoT development and connectivity easy](https://azure.microsoft.com/en-us/services/rtos/)
|
||||
- [Microsoft Azure RTOS documentation](https://learn.microsoft.com/en-us/azure/rtos/)
|
||||
|
||||
_________________
|
||||
|
||||
@@ -712,6 +775,7 @@ _________________
|
||||
|
||||
#### DSP Fundamentals & Filter Design
|
||||
|
||||
- [💎 The Scientist and Engineer's Guide to Digital Signal Processing - Steven W. Smith](https://www.dspguide.com/pdfbook.htm)
|
||||
- [FIR Filter Design and Software Implementation - Phil's Lab #17](https://www.youtube.com/watch?v=uNNNj9AZisM)
|
||||
- [IIR Filters - Theory and Implementation (STM32) - Phil's Lab #32](https://www.youtube.com/watch?v=QRMe02kzVkA)
|
||||
- [Digital Signal Processing (ECSE-4530) Lectures, Fall 2014](https://youtube.com/playlist?list=PLuh62Q4Sv7BUSzx5Jr8Wrxxn-U10qG1et)
|
||||
@@ -767,12 +831,17 @@ _________________
|
||||
|
||||
### Testing
|
||||
|
||||
- [Embedded Testing](https://artoftesting.com/embedded-testing)
|
||||
- [What is Embedded Testing in Software Testing?](https://www.guru99.com/embedded-software-testing.html)
|
||||
- [Verification vs Validation in Embedded Software](https://www.parasoft.com/blog/verification-vs-validation-in-embedded-software/)
|
||||
- [Testing: Unit VS Integration VS Regression VS Acceptance](https://medium.com/@touseefmurtaza1993/testing-unit-vs-integration-vs-regression-vs-acceptance-a3e190cc54dd)
|
||||
- [💎 Test Driven Development for Embedded C - James Grenning](https://www.amazon.com/Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X)
|
||||
|
||||
#### CI/CD Flow
|
||||
|
||||
- [Intro to CI/CD](https://youtu.be/1nxGcfIm-TU)
|
||||
- [How to Build a Continuous Integration and Delivery Process for Embedded Software](https://medium.com/jumperiot/how-to-build-a-continuous-integration-and-delivery-flow-for-embedded-software-b0b5bf220a2)
|
||||
- [Continuous Integration & Continuous Delivery for Embedded Systems (Whitepaper)](https://www.parasoft.com/white-paper/ci-cd-for-embedded-systems/)
|
||||
- [What is DevOps in an Embedded Device Company?](https://www.linkedin.com/pulse/what-devops-embedded-device-company-john-macdonald/)
|
||||
|
||||
#### Unit Testing
|
||||
@@ -786,11 +855,18 @@ _________________
|
||||
|
||||
- [Hardware CI Arena](https://electricui.com/blog/hardware-testing)
|
||||
- [Exclave: Hardware Testing in Mass Production, Made Easier](https://www.bunniestudios.com/blog/?p=5450)
|
||||
- [Regression Testing of Embedded Systems](https://www.parasoft.com/blog/regression-testing-of-embedded-systems/)
|
||||
|
||||
#### SIL / HIL Testing
|
||||
#### SiL / HiL Testing
|
||||
|
||||
- [Embedded CI/CD with HIL Testing](https://youtube.com/playlist?list=PL4cGeWgaBTe1uwiqIAc6fwPzPpvgPZI2J)
|
||||
|
||||
#### Industry Standards & Certifications
|
||||
|
||||
- [Intro to Embedded Development: Styles and Standards](https://www.allaboutcircuits.com/technical-articles/embedded-programming-styles-and-standards/)
|
||||
- [Safety Standards and Certifications for Embedded Systems Development](https://www.linkedin.com/pulse/safety-standards-certifications-embedded-systems-development/)
|
||||
- [Microchip University - An Introduction To The ISA/IEC 62443 Standard](https://mu.microchip.com/an-introduction-to-the-isaiec-62443-standard)
|
||||
|
||||
_________________
|
||||
|
||||
### Embedded AI
|
||||
@@ -828,6 +904,7 @@ _________________
|
||||
|
||||
#### Cryptography
|
||||
|
||||
- [Microchip University - Cryptography Primer](https://mu.microchip.com/cryptography-primer)
|
||||
- [Hashing, Hashing Algorithms, and Collisions - Cryptography - Practical TLS](https://youtu.be/HHQ2QP_upGM)
|
||||
- [Data Integrity - How Hashing is used to ensure data isn't modified - HMAC - Cryptography](https://www.youtube.com/watch?v=doN3lzzNEIM)
|
||||
- [Encryption - Symmetric Encryption vs Asymmetric Encryption - Cryptography - Practical TLS](https://www.youtube.com/watch?v=o_g-M7UBqI8)
|
||||
|
||||
Reference in New Issue
Block a user