Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cis-team/embedded-systems-roadmap-2024


https://github.com/cis-team/embedded-systems-roadmap-2024

arm c-programming computer-science embedded embedded-systems mcu

Last synced: 9 days ago
JSON representation

Awesome Lists containing this project

README

        

# Embedded-Systems-Roadmap-2024

![image](https://github.com/CIS-Team/Embedded-Systems-Roadmap-2024/assets/112733878/dcf7055a-104a-4a43-bf30-88110c880605)

# What is Embedded Systems
Embedded System is an integrated system that is formed as a combination of computer hardware and software
for a specific function.

👉 take a look at [overview of embedded systems](https://www.youtube.com/watch?v=5qMG_IxSmQI)

# Embedded Systems Roadmap 2024

## 💻: C programming
### ✍️ Study Matrial:
- 📽️ complete C programming playlist NESO: [NESO Academy](https://www.youtube.com/watch?v=rLf3jnHxSmU&list=PLBlnK6fEyqRggZZgYpPMUxdY1CYkZtARR)

- 📘 this book is highly recommended: [K. N. King-C Programming_ A Modern Approach](https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504)

### Website for Practicing C programs
- [Hacker Rank](https://www.hackerrank.com/)

### C project ideas for inspiration
- Payement Application

- Student Recored System

- Books Library

## 📈 Data Structure & Algorithms
### ✍️ Study Matrial
- 📽️ linked list: [NESO Academy](https://www.youtube.com/watch?v=R9PTBwOzceo&list=PLpYOpjNLz0aGIL9xaFHbw16uEmFxzy2rs)

- 📽️ Data structures: [Dr Waleed Youssif](https://www.youtube.com/watch?v=cGgzFPRLl4o&list=PLoK2Lr1miEm-5zCzKE8siQezj9rvQlnca)

- 📽️ sorting algorithms: [Sorting Algorithms playlist](https://www.youtube.com/playlist?list=PL2_aWCzGMAwKedT2KfDMB9YA5DgASZb3U)

- 📽️ searching algorithms: [Binary Search](https://youtu.be/kleyhFIsU5E?si=AF5bIkxAapUQN03v)
- 📘 interesting book that covers more algorithms: [Grokking Algorithms](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230)

## Embedded C

before starting you should have a good knowledge about [Digital Design](https://www.youtube.com/playlist?list=PLoK2Lr1miEm8b6Vv5zAfsbMEPZ1C7fCQw) and [Electronics](https://www.youtube.com/playlist?list=PLww54WQ2wa5rOJ7FcXxi-CMNgmpybv7ei) basics.

### 🔷 C Building process
Learning the process of getting the executable file from the source code (C code) including:
`preprocessor`, `compiler`, `linker`, `toolchain`, `memory sections` and others..

#### ✍️ Study Matrial:

📽️ [Building Process in Embedded C](https://www.youtube.com/playlist?list=PLvi6ckOTPjGY3B-0WgYzjmE7eeLDLVws1)

### 🔷 MCU archticture Fundamentals
Here we start to learn the internal structure of the processor

#### ✍️ Study Matrial:

📽️ [Embedded Systems Diploma in Arabic](https://youtube.com/playlist?list=PLoiqjtgvXf9e2VJk8GWEXwECPM_7JRwkE&feature=shared) (videos 1 - 9)

## MCU Interfacing
Start interfacing with microcontrollers mainly using Atmega32 microcontroller to understand different peripheral devices for connecting the digital world with the physical through microcontrollers.

### ✍️ Study materials

- 📽️ NTI diploma
- 📽️ [Embedded Systems Diploma in Arabic](https://youtube.com/playlist?list=PLoiqjtgvXf9e2VJk8GWEXwECPM_7JRwkE&feature=shared) (videos 10 - 39)

**👉 these are some recommended tools to learn before moving forward**
- [Cmake Basics](https://www.youtube.com/playlist?list=PLkH1REggdbJpG8fHZvivt-5Hlg3UZcJrK)
- [Makefile Basics](https://www.youtube.com/playlist?list=PLkH1REggdbJpmQKm8Nu-H8R81_-c00fpB)
- [Mastering GDB](https://www.youtube.com/watch?v=ygC-ySyNAWU&list=PLkH1REggdbJozCn0ftsshAPdetD6Bd4hz&pp=iAQB)
- [Bash Script](https://www.youtube.com/watch?v=LVULXwvP9y0&list=PLkH1REggdbJpfvDj_vHt90yj_lCUwTcvj&pp=iAQB)

## FreeRTOS
### In Progress

## ARM
### In Progress

## Problem Solving
It is really desirable to acquire a problem-solver mentality

this sheet is a good start [AL-Azhar Sheet](https://sites.google.com/view/azharicpc/)

and for more help see [CIS problem solving road map repo](https://github.com/CIS-Team/ProblemSolving-Squad)

## computer science

- basic knowledge for electronics

- basic knowledge for operating systems

- basic knowledge for networks

- basic knowledge for OOP