0% found this document useful (0 votes)
16 views

Learn in Depth Content

The document outlines a comprehensive curriculum for a Mastering Embedded System Diploma, detailing various topics such as C programming, Embedded C, data structures, MCU fundamentals, and software engineering practices. It includes specific lesson hours, practical assignments, and case studies to enhance learning in embedded systems. Additionally, it covers advanced topics like Adaptive AUTOSAR, ROS, and RTOS development, providing a thorough foundation for students in the field of embedded systems.

Uploaded by

mysara elbarbary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Learn in Depth Content

The document outlines a comprehensive curriculum for a Mastering Embedded System Diploma, detailing various topics such as C programming, Embedded C, data structures, MCU fundamentals, and software engineering practices. It includes specific lesson hours, practical assignments, and case studies to enhance learning in embedded systems. Additionally, it covers advanced topics like Adaptive AUTOSAR, ROS, and RTOS development, providing a thorough foundation for students in the field of embedded systems.

Uploaded by

mysara elbarbary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Mastering Embedded System Diploma Content & Hours

numbers - Learn in depth.

Introduction to embedded System (3H)


C programming
● Git & GitHub (3H)
● C Basics (6H)
● C Conditions & Loops & Array & String (8H)
● C Functions (5H)
● C Structures & Union & Enum (5H)
● C Preprocessor directives (4H)
● C Pointers Lecture (13H)

● 170+ questions tricks solved


● 30+ Assignments C code practice
Embedded C
Embedded C Lesson1 (4H)
•HEADER PROTECTION
•OPTIMIZATION
•TOOLCHAINS
•COMPILATION PROCESS

Embedded C Lesson2 (5H)


•BOOTING SEQUENCE
•EXECUTABLE FILE SECTIONS (.DATA, .BSSAND RODATA)
•LINKER
Embedded C Lesson3 (6H)
•GDB TUTORIAL
•MEMORY ALIGNMENT
•MAKEFILE
•WRITE LINKER SCRIPT
•WRITE STARTUP Code in assembly and C.
•FUNCTIONAL ATTRIBUTE: WEAK AND ALIAS IN EMBEDDED C

Embedded C Lesson4 (4H)


•DEBUGGING MECHANISM
•OPENOCD GDBSERVER

Embedded C Lesson5 (3H)


• JTAG/SWD/ST-LINK/J-LINK
•DYNAMIC ALLOCATION
Data Structure for embedded system (5H)
•INTRODUCTION TO DATA STRUCTURES
•LIFO BUFFER (STACK)
•CIRCULAR BUFFER & FIFOS (QUEUE)
•LINKED LIST

Embedded systems architecting (4H)


•STATE MACHINES IN C
•STATE MACHINE VS FLOWCHART
Embedded systems architecting (5H)
•UML FOR EMBEDDED SYSTEM
•EMBEDDED SYSTEM ARCHITECTING/DESIGN SEQUENCE
•SYSTEM REQUIREMENTS
•DESIGN SPACE EXPLORATION
•SYSTEM ANALYSIS
•UML: ACTIVITY DIAGRAM
•UML: SEQUENCE DIAGRAM
•MISRA-C:2012 RULES
MCU Fundamentals-lesson 1(4H)
● Embedded System Definition
● Deep Dive in “uc, up, SoC, ECU,MMU,FPU,MPU”
● Electronic control unit (ECU)
● Cache Memory / Cache coherence
● Microprocessor units (MPUs)
● OS SW Vs Bare-metal SW
● MCU Memory Types
● Von Neumann, Harvard
● Pipeline
● CISC Vs RISC
MCU Fundamentals-lesson2(4H)
● port-mapped I/0, and memory-mapped I/0.
● MCU Bus Interfaces
● BUS Matrix

MCU Fundamentals-lesson3(3H)
● MCU Clocking
● General Topology of the Clock Architecture
● MCU Clock Sources
● Steps to find out the Clock tree in any MCU
● Understanding Clock Tree
● Peripherals Clocks
MCU Fundamentals - lesson 4 MCU Interrupts (5H)
● Deep Dive in Interrupt Processing
● Interrupt Service Routines (ISR)
● Non-Vectored Priority System
● Vectored Arbitration System
● Interrupt vector Table (IVT)
● Difference Between Polling And Interrupt
● Deep Dive in Interrupt Processing
● interrupt latency / Interrupt Overload
● Sequential interrupt processing VS Nested interrupt processing
● HW Interrupts / Exceptions Interrupt (Traps, Faults, Aborts and
Programmed exceptions )
MCU Essential Peripherals - GPIO (15H)
● GPIO Pins and Alternate Functions
● Driver Development Sequence
● MCU Device Header
● HOW to Create a Driver
● Implement the GPIO Driver based on ARM Cortex M3 STM32F103
● LCD / Keypad

MCU Essential Peripherals - External Interrupt(4H)


● Implement the GPIO Driver based on ARM Cortex M3 STM32F103
MCU Interfacing (40H)
● MCU IO Electrical characteristics
● UART protocol
● SPI protocol
● I2C protocol
● Implement the UART - SPI - I2C Drivers based on ARM Cortex M3
STM32F103
● Timers
● ADC
SW Engineering (Testing & Validation) ( 9H)
● Verification And Validation
● What is Embedded Software Testing?
● Static & Dynamic Testing
● Quality Assurance Vs Quality Control
● Testing Vs Debugging
● System Architecting/Design Sequence
● SDLC & STLC
● Test (Levels, Methods and Types)
● Functional Vs Non Functional Testing
● Waterfall Model - Spiral Model - V Model in SDLC
● ISTQB Automotive Software Tester

Agile Scrum Methodology(3H)


● SCRUM & Agile
● Atlassian JIRA
Test Case design techniques (3H)
● Test Case Design
● Black Box
● Equivalence class partitioning
● Use case testing
● Statement Coverage - Branch Coverage - Decision Coverage -
Condition Coverage - Path Coverage
● Open Source Static Analysis / Code Coverage tools
● Design Test Cases (Practical Case Study)
How Apply on Embedded Systems Jobs
Introduction to Adaptive AUTOSAR ( 3H)
•ADAPTIVE AUTOSAR HISTORY
•ADAPTIVE PLATFORM ARCHITECTURE
•DIFFERENT TYPES OF APPLICATIONS
•EXECUTION MANAGEMENT (EM)
•STATE MANAGEMENT
•UPDATE AND CONFIGURATION MANAGER (UCM)
•ADAPTIVE APP STARTUP SEQUENCE
•MACHINE/FUNCTION GROUP STATES
•ADAPTIVE MANIFEST FILES
•SOFTWARE PACKAGE STRUCTURE
•UCM MASTER/CLIENT
•POSIXAPIS
Getting start with ROSRobot Programming (2H)
● Introduction to ROS
● ROS Main Features
● ROS Multi-Communication
● Components of ROS
● ROS Core Concepts
● Nodes
● Messages and Topics and Services and Parameters.
● ROS Master (ROSCore)
● Stacks and packages
● ROS Distribution Releases / Installation.
● Lab1: Creating a first ROS Project Communication between
HeterogenousDevices ROS for Embedded System
● Lab2: RUN ROS nodes with gazebo
● SLAM (Simultaneous Localization And Mapping)
● How to DeepDiveon It for advanced Projects (Self Driving)
Automotive Ethernet Protocol (2H)
● Network Architecture LayersOS
● Ethernet II Frame
● Virtual Local Area Networks (VLANs)
● Automotive Ethernet (Motivation)
● Time sensitive networking TSN
● Ethernet Media Access Controller (MAC) on SoC
Session Chiplet, UCIe and PCIe
Mastering CAN Protocol
CAN Protocol (Theoretical Part) - Session 1 (3H)
● In vehicle networks (IVN)
● Evolution of in vehicle networks
● classic flat wiring harness architecture
● domain architecture
● zonal architecture
● CANBUS Introduction
● CANBUS Characteristics
● CAN Protocol Specification
● General Characteristics
● Types of CAN Messages
● Types of CAN frames
● CAN bus Characteristics
● CAN Bus Errors
● CAN Bit Monitoring and Stuffing
CAN_SESSION_CASE_Study_1_part1 (4H)
● How to READ CAN Controller from Technical reference Manual TRM for
SoC based on Cortex M3
● CAN Bit Timing and Calculation
● TX & RX Based on Polling Mechanism
● Filtration Mechanisms
● Retransmission Mechanism based on Error
● CAN Test Modes
● Using Simulation Mode for debugging

Session 3 : CASE Study 1 Part 2 (Practical Part)(1H)


● Troubleshooting for CAN BUS single Node
● Running CASE Study 1 on the Physical Board
● Analyze the Physical CAN Bus traffic
Session 4 CASE Study 2 Part 1 (Practical Part) (2H)
● Understanding Interrupt Mechanism from TRM
● Implement TX/RX Functions based on Interrupt Mechanism.
● Two ECUs Communicate together

CAN Case Study 2 part 2 (1H)


● TRY ON PHYSICAL BOARD
● Figure out different issues on physical CAN BUS

CAN_CASE_Study_3 (2H)
● Linux Networking
● SocketCANConcept
● Kernel add can Support
● Can utilities
● CANSocket
Session 7 CASE Study 4 (Practical Part) (3H)
● CAN Bus Wiring Diagram
● CAN interface device called PCAN-USB FD
● CAN Wiring ODB to DB9
● Install CANoe 16 demo version
● Case Study 4: Lab1 (Monitor CAN Frames)
● Case Study 4: Lab2 (replace ECU1 by CAPL Script)
● Case Study 4: Lab3 (Create ACC Pedal & Speed Meter UI)
● Case Study 4: Lab4 (use Env Variable to make Frames Exchange
Continues )
● Case Study 4: Lab5 (Replace ECU2 by CAPL script )
(Mastering ARM CortexM34)
CortexM3/4 Modes/Operations/Registers - ARM Session 1(3H)
● Data Types for ARM Architecture
● Modes of operation and execution
● Cortex-M Registers
● ARM subroutine linkage
● Thumb / ARM / Thumb2 ISA
● ARM LAb1: ARM Modes
ARM_InlineAssembly ARM Session 2 (2H)
● ARM assembly basics
● Most Common instructions
● INLINE CODE
● Using Assembly in the C Source
● Specifying registers for C variables
● LAB 1: no input or output
● LAB 2: using output parameters
● LAB 3: using input parameters
● LAB 4: using input and output parameters
● LAB 5: reserving registers

CortexM Reset Sequence - ARM Session 3


● Reset Sequence of the CortexM3/4
● switch between privileged and user level
● ARM Memory Map
ARM Stack ARM Session 4 (3H)
● CortexM Memory map
● stack memory models
● Stack Banks ( MSP & PSP ) -> SP
● Shadowed stack pointer In OS
● Create a boundaries for MSP and PSP for Task A and Task B
● The scheduler runs on “privileged access level”
● ARM Procedure Call Standard
● Context Saving on Stack (exception/ interrupt)
● Memory protection unit (MPU)
ARM Exceptions and Interrupts Session 5 (3H)
● Exceptions and Interrupts
● CMSIS (Cortex Microcontroller Software Interface Standard)
● Interrupt management
● Definitions of priority
● Cortex-M3/4 peripherals
● CPU’s Exception Processing
● Exiting an Exception Handler / Exception Entry/Exit Sequence with more
details
SVC/PendSV Exceptions Session 6
● Exception Handling: Tail chaining
● Late arrival exception behavior
● Pop preemption
● ARM Cortex-M SVC Exception
● Executing SVC
● SVC instruction / Handler
● Extraction of the SVC service number in assembly “SVC_Handler” is
standardized in CMSIS
● PendSV exception
● Lab1: add ARM CMSIS Codes
● Lab2: SVC for OS Services
● Lab3: PendSV
Unit 15 (Create Your Own RTOS)
Session12 RTOS Concepts (4H)
● RTOS (Motivation)
● Hypervisors in embedded systems
● GPOS Vs RTOS
● Concurrency versus Parallelism
● Task Switching Latency
● Real Time OS (RTOS)
● Soft/Hard real time
● Key Characteristics of an RTOS
● RTOS Scheduling Classification
● Preemptive Fixed/Dynamic Priority Scheduling
● Task States and Scheduling
● Scheduler Concepts
● Shared Data between Tasks
● Mutex/techniques to address mutual exclusion
● Binary/Count Semaphores
● Task Synchronization
● Common Design Problems
● CPU Starvation
● Deadlock
● Priority inversion with solutions techniques
● Priority Inheritance Protocol
● PRIORITY CEILING

Create Your RTOS Scheduler PART1 (4H)


● Prerequisites
● MYRTOS Layers
● Create Main Stack/Stack for each Task
Create Your RTOS Scheduler PART2
● Create TaskControlFrame(Context Switch/Restore)
● Create Tasks Queues/Buffers

Create Your RTOS Scheduler PART3 (1H)


● Create Scheduling Algorithm
● Preemptive Based On Priority
● Round-robin for tasks which have the same priority

Create Your RTOS Scheduler PART4 (2H)


● Case Studies
● Measure the Performance
● Maintain and increase the Performance
● Verified different scenarios
● Implement OS_Wait
Create Your RTOS Scheduler PART5 (1H)
● Implement Mutex
● Create case studies to cover
● Dead Lock
● Priority Inversion

FreeRTOS

How Get Started With Free RTOS - SEC1 (2H)


● From Super Loop To RTOS
● Intro to RTOS
● Free RTOS doc overview
● How download and configure free RTOS with your project
● Hello world RTOS project “Blinking Led”
Inter-Process communication in RTOS - SEC2 (2H)
● Task Synchronization
● Task Inter-Communication
● Overview Inter-Process communication APIs on FreeRTOS
Documentation

Context Switching In RTOS SEC 3 (2H)


● Context Switching In RTOS.
● Application (Code + Debugging + Simulation)

Dive into RTOS Challenges! Session 4 (3H)


● Shared Data Issues.
● Mutual Exclusion.
● Priority Inversion.
● Deadlock.
● Practical Application.

You might also like