Skip to content

Commit f2f1270

Browse files
Update Readme
1 parent be257f9 commit f2f1270

File tree

1 file changed

+80
-67
lines changed

1 file changed

+80
-67
lines changed

README.md

Lines changed: 80 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -9,96 +9,109 @@
99

1010
---
1111

12+
## 🎯 **Quick Start Guide**
13+
14+
### **🟢 New to Embedded Systems?**
15+
Start here → [C Programming Basics](#a-cc-programming-🟢)[Basic Data Structures](#b-data-structures--implementation-🟡)[UART Communication](Bus_Protocol/uart.md)
16+
17+
### **🟡 Have Some Experience?**
18+
Jump to → [Advanced C/C++](#a-cc-programming-🟢)[Bus Protocols](#c-bus-protocols-🟡)[Operating Systems](#d-operating-systems-🔴)
19+
20+
### **🔴 Experienced Engineer?**
21+
Explore → [Computer Architecture](#e-computer-architecture-🔴)[System Design](#f-interview-preparation-🎯)[Advanced Topics](#g-hands-on-projects-🛠️)
22+
23+
---
24+
1225
## 📚 **Learning Paths**
1326

14-
### 🟢 **Beginner Path (0-6 months)**
27+
### **🟢 Beginner Path (0-6 months)**
1528
*For those new to embedded systems or transitioning from other fields*
1629

1730
#### **Phase 1: Programming Fundamentals (4 weeks)**
18-
- [ ] **C Programming Basics**
19-
- [C Overview](https://embeddedworlddevelopers.blogspot.com/p/c-language.html)
20-
- [C/C++ Preprocessor Directives](https://www.tenouk.com/Module10.html)
21-
- [C/C++ Type Specifiers](https://www.tenouk.com/Module11.html)
22-
- [Structure Member Alignment, Padding and Data Packing](https://www.geeksforgeeks.org/structure-member-alignment-padding-and-data-packing/)
23-
- [Memory Alignment](https://embeddedartistry.com/blog/2017/02/22/generating-aligned-memory/)
24-
25-
- [ ] **Basic Data Structures**
26-
- [Arrays and Linked Lists](Data_Struct_Implementation/queue/README.md)
27-
- [Stacks and Queues](Data_Struct_Implementation/stack/README.md)
28-
- [Hash Tables](Data_Struct_Implementation/hashTable/README.md)
31+
**C Programming Basics**
32+
- [C Overview](https://embeddedworlddevelopers.blogspot.com/p/c-language.html)
33+
- [C/C++ Preprocessor Directives](https://www.tenouk.com/Module10.html)
34+
- [C/C++ Type Specifiers](https://www.tenouk.com/Module11.html)
35+
- [Structure Member Alignment, Padding and Data Packing](https://www.geeksforgeeks.org/structure-member-alignment-padding-and-data-packing/)
36+
- [Memory Alignment](https://embeddedartistry.com/blog/2017/02/22/generating-aligned-memory/)
37+
38+
**Basic Data Structures**
39+
- [Arrays and Linked Lists](Data_Struct_Implementation/queue/README.md)
40+
- [Stacks and Queues](Data_Struct_Implementation/stack/README.md)
41+
- [Hash Tables](Data_Struct_Implementation/hashTable/README.md)
2942

3043
#### **Phase 2: Embedded Basics (4 weeks)**
31-
- [ ] **Hardware Fundamentals**
32-
- [GPIO and Basic I/O](HW_Module/Flash_Storage.md)
33-
- [Timers and Interrupts](Operating_System/Interrupt.md)
34-
- [UART Communication](Bus_Protocol/uart.md)
44+
**Hardware Fundamentals**
45+
- [GPIO and Basic I/O](HW_Module/Flash_Storage.md)
46+
- [Timers and Interrupts](Operating_System/Interrupt.md)
47+
- [UART Communication](Bus_Protocol/uart.md)
3548

36-
- [ ] **Basic Algorithms**
37-
- [Bubble Sort](Data_Struct_Implementation/bubbleSort/bubbleSort.md)
38-
- [Insertion Sort](Data_Struct_Implementation/insertionSort/insertionSort.md)
39-
- [Binary Search](Data_Struct_Implementation/BST/README.md)
49+
**Basic Algorithms**
50+
- [Bubble Sort](Data_Struct_Implementation/bubbleSort/bubbleSort.md)
51+
- [Insertion Sort](Data_Struct_Implementation/insertionSort/insertionSort.md)
52+
- [Binary Search](Data_Struct_Implementation/BST/README.md)
4053

4154
#### **Phase 3: System Concepts (4 weeks)**
42-
- [ ] **Operating System Basics**
43-
- [Process Management](Operating_System/Process/Process.md)
44-
- [Memory Management](Operating_System/virtual_memory.md)
45-
- [Interrupts and Exceptions](Operating_System/Interrupt.md)
55+
**Operating System Basics**
56+
- [Process Management](Operating_System/Process/Process.md)
57+
- [Memory Management](Operating_System/virtual_memory.md)
58+
- [Interrupts and Exceptions](Operating_System/Interrupt.md)
4659

47-
### 🟡 **Intermediate Path (6-12 months)**
60+
### **🟡 Intermediate Path (6-12 months)**
4861
*For those with basic embedded knowledge*
4962

5063
#### **Phase 1: Advanced Programming (6 weeks)**
51-
- [ ] **Advanced C/C++**
52-
- [Inline Assembly](https://wiki.osdev.org/Inline_Assembly)
53-
- [Concurrency and Threading](Data_Struct_Implementation/concurrency/)
54-
- [Memory Management](Data_Struct_Implementation/memoryPoolAllocator/README.md)
64+
**Advanced C/C++**
65+
- [Inline Assembly](https://wiki.osdev.org/Inline_Assembly)
66+
- [Concurrency and Threading](Data_Struct_Implementation/concurrency/)
67+
- [Memory Management](Data_Struct_Implementation/memoryPoolAllocator/README.md)
5568

56-
- [ ] **Data Structures & Algorithms**
57-
- [Binary Search Trees](Data_Struct_Implementation/BST/README.md)
58-
- [Heaps and Priority Queues](Data_Struct_Implementation/binaryHeap/README.md)
59-
- [Ring Buffers](Data_Struct_Implementation/circularRingBuffer/README.md)
69+
**Data Structures & Algorithms**
70+
- [Binary Search Trees](Data_Struct_Implementation/BST/README.md)
71+
- [Heaps and Priority Queues](Data_Struct_Implementation/binaryHeap/README.md)
72+
- [Ring Buffers](Data_Struct_Implementation/circularRingBuffer/README.md)
6073

6174
#### **Phase 2: Communication Protocols (4 weeks)**
62-
- [ ] **Serial Communication**
63-
- [I2C Protocol](Bus_Protocol/i2c.md)
64-
- [SPI Protocol](Bus_Protocol/spi.md)
65-
- [UART/RS232](Bus_Protocol/uart.md)
75+
**Serial Communication**
76+
- [I2C Protocol](Bus_Protocol/i2c.md)
77+
- [SPI Protocol](Bus_Protocol/spi.md)
78+
- [UART/RS232](Bus_Protocol/uart.md)
6679

67-
- [ ] **Network Protocols**
68-
- [TCP/UDP](Network/tcp_udp_ip.md)
69-
- [Ethernet](Network/ethernet.md)
70-
- [ARP/MAC](Network/ARP.md)
80+
**Network Protocols**
81+
- [TCP/UDP](Network/tcp_udp_ip.md)
82+
- [Ethernet](Network/ethernet.md)
83+
- [ARP/MAC](Network/ARP.md)
7184

7285
#### **Phase 3: System Design (6 weeks)**
73-
- [ ] **Real-Time Systems**
74-
- [FreeRTOS Basics](Operating_System/freertos/firmware_stack.md)
75-
- [Scheduling Algorithms](Operating_System/Process/Process_thread_scheduling.md)
76-
- [State Machines](Data_Struct_Implementation/stateMachine/README.md)
86+
**Real-Time Systems**
87+
- [FreeRTOS Basics](Operating_System/freertos/firmware_stack.md)
88+
- [Scheduling Algorithms](Operating_System/Process/Process_thread_scheduling.md)
89+
- [State Machines](Data_Struct_Implementation/stateMachine/README.md)
7790

78-
### 🔴 **Advanced Path (12+ months)**
91+
### **🔴 Advanced Path (12+ months)**
7992
*For experienced embedded engineers*
8093

8194
#### **Phase 1: Computer Architecture (6 weeks)**
82-
- [ ] **ARM Architecture**
83-
- [ARM Overview](https://wiki.osdev.org/ARM_Overview)
84-
- [ARM Assembly](https://azeria-labs.com/writing-arm-assembly-part-1/)
85-
- [Memory Hierarchy](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf)
95+
**ARM Architecture**
96+
- [ARM Overview](https://wiki.osdev.org/ARM_Overview)
97+
- [ARM Assembly](https://azeria-labs.com/writing-arm-assembly-part-1/)
98+
- [Memory Hierarchy](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf)
8699

87-
- [ ] **Advanced Memory**
88-
- [Cache Memory](https://www.geeksforgeeks.org/cache-memory-in-computer-organization/)
89-
- [DMA](Computer_architecture/dma.md)
90-
- [TLB](Computer_architecture/tlb.md)
100+
**Advanced Memory**
101+
- [Cache Memory](https://www.geeksforgeeks.org/cache-memory-in-computer-organization/)
102+
- [DMA](Computer_architecture/dma.md)
103+
- [TLB](Computer_architecture/tlb.md)
91104

92105
#### **Phase 2: System Design (8 weeks)**
93-
- [ ] **Distributed Systems**
94-
- [System Design Basics](Interview/SystemDesign/systemDesign.md)
95-
- [Load Balancing](Interview/SystemDesign/loadBalancing.md)
96-
- [Caching Strategies](Interview/SystemDesign/caching.md)
106+
**Distributed Systems**
107+
- [System Design Basics](Interview/SystemDesign/systemDesign.md)
108+
- [Load Balancing](Interview/SystemDesign/loadBalancing.md)
109+
- [Caching Strategies](Interview/SystemDesign/caching.md)
97110

98-
- [ ] **Embedded Security**
99-
- [TPM 2.0](Security/TPM.md)
100-
- [ARM TrustZone](https://embeddedsecurity.io/)
101-
- [Encryption Algorithms](Security/)
111+
**Embedded Security**
112+
- [TPM 2.0](Security/TPM.md)
113+
- [ARM TrustZone](https://embeddedsecurity.io/)
114+
- [Encryption Algorithms](Security/)
102115

103116
---
104117

@@ -107,11 +120,11 @@
107120
### **📖 Core Concepts**
108121
| Topic | Difficulty | Status |
109122
|-------|------------|--------|
110-
| [C/C++ Programming](#a-cc-coding-specific) | 🟢 Beginner | ✅ Complete |
111-
| [Data Structures & Algorithms](#c-data-structures--implementation) | 🟡 Intermediate | ✅ Complete |
112-
| [Bus Protocols](#f-bus) | 🟡 Intermediate | ✅ Complete |
113-
| [Operating Systems](#h-operating-systems) | 🔴 Advanced | ✅ Complete |
114-
| [Computer Architecture](#i-computer-architecture) | 🔴 Advanced | ✅ Complete |
123+
| [C/C++ Programming](#a-cc-programming-🟢) | 🟢 Beginner | ✅ Complete |
124+
| [Data Structures & Algorithms](#b-data-structures--implementation-🟡) | 🟡 Intermediate | ✅ Complete |
125+
| [Bus Protocols](#c-bus-protocols-🟡) | 🟡 Intermediate | ✅ Complete |
126+
| [Operating Systems](#d-operating-systems-🔴) | 🔴 Advanced | ✅ Complete |
127+
| [Computer Architecture](#e-computer-architecture-🔴) | 🔴 Advanced | ✅ Complete |
115128

116129
### **🔧 Practical Implementation**
117130
| Implementation | Language | Status |

0 commit comments

Comments
 (0)