Embedded Systems Diploma
ENG. Ali Shawky
Diploma Details
1) The Diploma has two levels the Predators Level and Titans Level
• The Prerequisites for Predators level:
- the main objective of this level is bringing up the student
level from scratch to the super knowledge and skills in this
field.
- The only prerequisite is a basic knowledge about Software
programming using any programming language [Python,
C++, Java,..].
• The Prerequisites for Titans level:
- This level aims to go deep into the most advanced topics in
the Embedded System’s industry that requires a strong
knowledge in the following topics
1. C programming
2. Computer Architecture
3. Microcontroller Interfacing [timers, Interrupts,..]
2) Fees
- Predators level reservation fee is 2500 LE .
- Titans level reservation fee is 1500 LE .
- (Predators + Titans) Booth levels
reservation fee is 3500 LE .
3) The Opening groups:
• Session hours: 4 hours.
• Only Two groups are opened:
1. Online group: Location->Zoom
2. Onsite group: Location->Nasr City
• Booth groups start at the same date: 10/6/2023
• The Predators level Duration:
164 hours -> 41 sessions-> 13 weeks
Start Date: 10/6/2023
Expected end date: 9 /9/2023
• The Titans level Duration:
44 hours -> 11 sessions-> 4 weeks
Start Date: 15/9/2023
Expected end date: 13 /10/2023
Group Day1 Day2 Day3
Online Group Friday[online] Saturday[online] Tuesday[online]
8 am: 12 pm 8 am: 12 pm 8 pm: 12 am
Onsite Group Friday[onsite] Saturday[onsite] Wednesday[online]
2 pm: 6 pm 2 pm: 6 pm 6 pm: 10 am
4) Package:
• You receive your own HW development kit with the most trendy
modules[character LCD, Keypad, DC, STEPPER ,SERVO motors,
current sensor, voltage sensing circuit, Temperature sensor,
ultrasonic, USBttl, wireless communication module, EEPROM,
seven segment,..]
• Full Material for all of the Diploma outlines
5) Reservation details:
• The reservation requires transferring a 50% of the fees by Bank
account or Vodafone cash.
• Send the following details via a WhatsApp message to the mobile
number [ 01002421214]:
- email address.
- Facebook account link.
- LinkedIn account link (if exists).
- The registration Phone number.
- University and the year of study.
• I will reply to the reservation with the confirmation and the Fees
Transfer methods.
• For any more details don’t hesitate to text me on WhatsApp or a
direct phone call on the same number [ 01002421214].
6) About Ali Shawky
Ali’s_LinkedIn_Prifile
Diploma Outlines
The Predators Level
Lec.1 Introduction To Embedded Systems and The Automotive Industry
(4 hrs)
● Embedded Systems Definition
● Inside the processor
● Control Unit
● Arithmetic Logic Unit
● Register File
● Processor Buses
● Volatile Memory Types
● Static RAM
● Dynamic
● Non Volatile Memory Types
● Masked ROM
● OTP ROM
● EPROM
● EEPROM
● FLASH ROM
● NVRAM
● Processor Cycle Example
Motor Industry Software Reliability Association (MISRA) - C Programming (48
hrs)
Lec.1 Hello C
● Code building process
● Standard I/O library
● Using printf function
● Hello world program
● Basic Data types in C
● Variables in C
● Using scanf function
● C operators:
● Arithmetic operators
● Assignment ( = , *= , += , -= , /= )
● Relational ( > , < , >= , <= , == , != )
● Logical ( && , || , ! )
● Bit wise ( & , | , ^ , << , >> , ~ )
● Ternary ( ?:)
● Operator "sizeof"
● Operator precedence
● Sign Modifiers
● Negative Numbers Binary Representation
Lec.2 Control Flow
● If Statement
● Switch statement
● For Loop
● While Loop
● Do while Loop
● Break and continue
Lec.3 ● MISRA C Rules
● Static Code Analysis
● How To Write a safe C code
Lec.4 Functions
● Defining and calling functions
● Function prototypes
● Function parameters and return
● Inline Functions
Lec.5 Static and Global Variables and memory representation
● Extern and Const keywords
● Modular Programming
● Preprocessor directives
Lec.6 Pointers
● Pointer Types
● Pointer arithmetic operations
● Pointer to function
● Passing by reference
Lec.7 Arrays in C
● Multi Dimensions Array
● Array of Pointers
Lec.8 Strings
● String definition techniques
● String representation in memory
Lec.9 User defined data types
● Structures
● Unions
● Enum
Lec.10 Algorithms
● Algorithm performance, analysis, Big O notation.
● Time complexity, space complexity
● Searching Algorithms
● Sorting Algorithms
Lec.11 ● Data Structure
● Stack
● Linear Queue
● Circular Queue
Lec.12 ● Dynamic memory allocation.
● Singly, doubly & circular linked lists.
Exam C programming Exam and ATM Banking System Project
&
Project
Tooling (12 hrs)
Lec.1 ● Build Process [Preprocessor , Compiler , Optimizer , Assembler ,
Linker , Loader]
● Startup Code
● Memory Sections
● Make File
● Linker File
● Compiler Commands
● Compiler Attributes
Lec.2 ● Version Control Tool (Git)
● Local and Remote Repos
● Staging and Committing
Lec.3 ● Push and Pull
● Clone and Fetch
● Commit Reset Types
● Commit Revert
● Branching
● Merging
● Software Integration
Interfacing with AVR micro controller (84 hr)
Lec.1 Computer Architecture
● Instruction Set Architecture
● RISC Processor
● CISC Processor
● System Architecture
● Von Neumann Architecture
● Harvard Architecture
● Microcontroller Architecture
● Peripherals Types
● System Clock definition
● System Clock sources types
● Case Study: AVR Architecture
Lec.2 DIO Peripheral.
● DIO registers and functionality
● Defining Microcontroller Registers
● Interfacing LEDs
● Interfacing Push Buttons
● Interfacing 7-Segments
● Buzzer
Lec.3 Embedded SW development basics
● SW Static Architecture Types.
● Layered Architecture concept.
● Folder Structure.
● PORT Drive.
Lec.4 DIO Driver.
● DIO Driver.
● Low Level Design Documentation.
Lec.5 Motors
● DC Motor
● Stepper Motor
Lec.6 LCD Interfacing in 4-BIT and 8-BIT Modes
● Displaying Custom characters on LCD
● Displaying Strings
● Displaying Integer and Float numbers
● Displaying Special Characters
Lec.7 Project(1)[“Hunting Video Game” Design and Implementation]
Lec.8 Keypad Interfacing and SW driver
● Project(2) [ Precedence Based Digital Calculator]
Lec.9 Concept of System Exceptions
● Reset and Bus Fault
● Microcontroller Interrupts
● Masked and non masked Interrupts
● Interrupt Execution Scenario
● Process of the Context Switching
● Interrupt Latency and Response Time
● Interrupt Handling Techniques
● Vector Table
● Polling vs Interrupts
● Digital External Interrupt
● Interrupt Service Routine with Compiler attributes
Lec.10 ● Analog to digital converter
● Process of the Analog to digital conversion
● ADC Resolution and ADC Voltage Reference
● Handling Sensors with more than 5v output
● ADC Types [Pros and Cons]
● ADC sw driver with Polling and Interrupts Techniques
Lec.11 ● Interfacing with Temperature Sensor [TMM Module]
● Battery Voltage Measurement [BVMD Module]
● DC Current Measurement [DCCM Module]
● Project(3) [Power Measurement System]
Lec.12 ● Timers Concept
● Normal Mode
● CTC Mode
● Digital Watch Project[Task]
Lec.13 ● Pulse Width Modulation
● FAST PWM
● PWM Phase Correct
Lec.14 ● DC Motor Speed Control using H-Brige
● Servo Motor
● Watch Dog Timer
Lec.15 ● Input Capture Unit
● Interfacing with Ultrasonic
● Project(4) [Motor Speed Control using Ultra Sonic]
● Pulse Meter - Task
Lec.16 UART Serial Communication Protocol
Lec.17 ● Interfacing using USBTTL with the Laptop
● Interfacing with wireless communication Module
● Project(5) [Sensor Reporting from uc to the PC]
Lec.18 SPI Serial Communication Protocol
● Implement SPI SW Driver
Lec.19 I2C Serial Communication Protocol
● Implement I2C SW Driver
Lec.20 ● Interfacing with EEPROM
● Introducing SW Non Volatile Memory
Lec.21 ● Project(6) [Controlling a CAR Remotely with Gloves and Driving
Assistance System]
Exam Interfacing graduation Project
Automotive Communication Technology (8hrs)
Lec.1 ● CAN
● CANFD
● J19
Lec.2 ● LIN
● UDS
Automotive Validation (8 hrs)
Lec.1 ● Software Development Life Cycle
● Software Engineering
● Validation Phase in Automotive Industry
Lec.2
● Testing Principles
● Testing Types
● White Box Testing Techniques
● Black Box Testing Techniques
The Titans Level
Real Time Operating Systems (32 hr)
Lec.1 ● Fixed Priority Non Preemptive Scheduler Implementation
Lec.2 ● Real Time Systems Concept
● RTOS vs GPOS
● RTOS definitions
● Scheduler
● Scheduling Algorithms
● Dispatcher
● Task Control Block
● Task States
● Using Free RTOS APIs
Lec.3 ● Shared Resource
● Mutex
● Binary Semaphore
● Counting Semaphore
● Priority Inversion
● Priority Inheritance
● Priority Celling
Lec.4 ● Inter Task Communication
● Queue
● Mail Box
● Event Flags
Lec.5 ● Scheduler Types
● Round Robin Scheduler Implementation
Lec.6 ● How To Design a Real Time System
● Static Analysis Tools
● Systems Schedulability Measurement
● From Super Loop to RTOS - CAR controlled using gloves
Lec.7 ● CPU Load Measurement techniques
● RTOS Hooks
● Real Time Analysis using Logic Analyzer
● CPU Load Measurement Optimization
Lec.8 ● RTOS Porting
● Implement EDF scheduler on ARM Cortex M4
Dynamic Design (4hr)
Lec.1 ● Time Based vs Event Based Systems
● Dynamic Design Tools [State Machine , Sequence Diagram..]
● Event Based Module Design and Implementation [BCM – Basic
Communication Module]
Boot Loader (4hr)
Lec.1 ● ECU Flashing Concepts
● Boot loader Workflow
● Boot loader Implementation from scratch
CV and Interview Preparation(4hr)