Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zaki-x86/es-notes
Embedded systems notes
https://github.com/zaki-x86/es-notes
avr c cpp electrical-engineering embedded-linux embedded-system-design embedded-systems rtos
Last synced: 16 days ago
JSON representation
Embedded systems notes
- Host: GitHub
- URL: https://github.com/zaki-x86/es-notes
- Owner: zaki-x86
- License: mit
- Created: 2023-03-18T16:12:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-14T07:28:48.000Z (over 1 year ago)
- Last Synced: 2024-12-06T05:11:59.741Z (16 days ago)
- Topics: avr, c, cpp, electrical-engineering, embedded-linux, embedded-system-design, embedded-systems, rtos
- Language: C
- Homepage:
- Size: 344 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Embedded Systems Master Class
**Milestone 1: Electrical Engineering Basics**
1. **Basic Electrical Concepts and Circuit Analysis:**
* Electrical quantities (current, voltage, resistance).
* Ohm's law and Kirchhoff's laws.
* DC and AC circuits.
* Capacitors, inductors, and transformers.
* Basic circuit analysis techniques.2. **Electronic Devices and Circuits:**
* Diodes and transistors.
* Operational amplifiers.
* Power supplies.
* Digital logic circuits.
3. **Basic Knowledge of Signals and Systems:*** Time and frequency domains.
* Analog and digital signals.
* Fourier series and transform.
* Sampling and quantization.4. **Basic Knowledge of Control Systems:**
* Closed-loop feedback control systems.
* Transfer functions and block diagrams.
* Stability and performance analysis.
* PID controllers.5. **Introduction to Microcontrollers and Embedded Systems:**
* Microprocessor architecture and design.
* Microcontroller main components.
* Microcontroller vs Microprocessor.
* Memory types and interface with CPU.6. **Advanced Topics:**
* Power electronics and renewable energy.
* Communication systems and protocols.
* Control of electric drives.
* Electromagnetic compatibility.**Milestone 2: C and Embedded C Programming**
1. **C Programming Language**
* Introduction to basic syntax of C.
* How to build C files using command line interface.
* Data types and variable scope vs lifetime.
* Bit manipulation.
* Functions and type casting.
* Array and Pointers.
* C String.
* Keywords (const, volatile, static, extern, register).
* Structure and Union.
* Typedef vs Enum.
* Dynamic allocation.
* Preprocessing directives.2. **Embedded C Programming**
* Embedded C Definition
* C Compilation Process.
* In-line Assembly (How to write assembly with C code).
* Memory Mapped Registers.
* Modular Programming and Software Layered Architecture Design.
* Critical Section and Call Back Function.
* Synchronous vs. Asynchronous Function.
* Reentrant vs. Non-Reentrant Function.
* Startup code vs bootloader.
* Embedded HW tools (Emulator, Debugger and Flasher).
* Embedded SW tools (Tool-chains, compilers and Simulator).
* Linker script and Makefile.
* Interrupt Handling.
* DMA and watchdog.
* Embedded C interview tricks.**Milestone 3: Interfacing with AVR Microcontrollers**
1. **Learn the basics of microcontrollers**
* Introduction to AVR Microcontrollers.
* File architecture and abstraction layer.
* I/O Ports and interfacing with switch, led and seven segment.
* Timer modes (output compare – input capture – PWM – normal – frequency generator).
* External Interrupts.
* Interfacing with EEPROM.
* Analog to digital converter (ADC).
* Interface with keypad and LCD.
* Interface with communication protocol:
* Universal Asynchronous receiver transmitter (UART).
* Inter integrated circuit (I2C).
* Serial peripheral interface (SPI).2. **Develop a basic embedded system project using a microcontroller, such as a traffic light control system or a temperature sensing system:**
* Project planning and design
* Breadboarding and prototyping
* Code implementation and debugging
* Testing and validation**Milestone 4: Advanced Embedded Systems**
1. **Learn about advanced embedded systems concepts such as interrupts, timers, and communication protocols like SPI, I2C, UART, and CAN:**
* Interrupt handling and nesting
* Timers and watchdog timers
* Serial Peripheral Interface (SPI) protocol
* Inter-Integrated Circuit (I2C) protocol
* Universal Asynchronous Receiver/Transmitter (UART) protocol
* Controller Area Network (CAN) protocol2. **Study the basics of real-time operating systems (RTOS) and how they can be used in embedded systems:**
* Real-time constraints and requirements
* Task scheduling and priorities
* Semaphore and Mutexes
* Memory Management in RTOS
* RTOS for embedded systems3. **Develop an advanced embedded project such as a home automation system or a wireless sensor network using multiple microcontrollers:**
* Project planning and design
* Hardware and software interfacing
* Multi-threading and synchronization
* Communication between multiple microcontrollers
* System integration and testing**Milestone 5: Automotive Embedded Systems**
1. **Study automotive embedded systems, including standards such as AUTOSAR and CAN bus communication:**
* Introduction to AUTOSAR architecture and methodology
* CAN bus architecture and protocol
* AUTOSAR software components and APIs
* Diagnostics and calibration of embedded systems in automotive industry
2. **Learn about automotive software development processes and standards:**
* Automotive SPICE (Software Process Improvement and Capability Determination)
* ISO 26262 (Functional Safety of Road Vehicles)
* Automotive software validation and verification
* Model-Based Design
3. **Develop an automotive embedded project, such as an OBD-II diagnostic tool or a car data logger:**
* Understanding of vehicle diagnostics and communication protocols
* Design and development of a custom OBD-II diagnostic tool
* Car data logger project design and implementation
* Functional Safety and cybersecurity in automotive systems