EMBEDDED SYSTEMS

admin
Last Update February 6, 2023
0 already enrolled

About This Course

Course  Overview :

An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs.Modern embedded systems are often based on microcontrollers (i.e. CPUs with integrated memory and/or peripheral interfaces) but ordinary microprocessors (using external chips for memory and peripheral interface circuits) are also still common, especially in more complex systems. In either case, the processor(s) used may be types ranging from rather general purpose to very specialised in certain class of computations, or even custom designed for the application at hand. A common standard class of dedicated processors is the digital signal processor (DSP).

Prerequisites
  • Introduction to Embedded Systems.
  • C/C++ Programming II : Dynamic Memory and File I/O Concepts.

Course Content

Basic and Advance C Topic
Part 1 – Variables and Arithmetic Expressions
    • The for statement
    • Symbolic Constants
    • Character Input and Output
    • File Copying
    • Character Counting
    • Line Counting
    • Word Counting
    • Arrays
    • Functions
    • Arguments – Call by Value
    • Character Arrays
    • External Variables and Scope
Part 2 – Types, Operators and Expressions
    • Variable Names
    • Data Types and Sizes
    • Constants
    • Declarations
    • Arithmetic Operators
    • Relational and Logical Operators
    • Type Conversions
    • Increment and Decrement Operators
    • Bitwise Operators
    • Assignment Operators and Expressions
    • Conditional Expressions
    • Precedence and Order of Evaluation
Part 3 – Control Flow
    • Statements and Blocks
    • If-Else
    • Else-If
    • Switch
    • Loops – While and For
    • Loops – Do-While
    • Break and Continue
    • Goto and labels
Part 4 – Functions and Program Structure
    • Basics of Functions
    • Functions Returning Non-integers
    • External Variables
    • Scope Rules
    • Header Files
    • Static Variables
    • Register Variables
    • Block Structure
    • Initialization
    • Recursion
    • The C Preprocessor
    • File Inclusion
    • Macro Substitution
    • Conditional Inclusion
Part 5 – Pointers and Arrays
    • Pointers and Addresses
    • Pointers and Function Arguments
    • Pointers and Arrays
    • Address Arithmetic
    • Character Pointers and Functions
    • Pointer Arrays; Pointers to Pointers
    • Multi-dimensional Arrays
    • Initialization of Pointer Arrays
    • Pointers vs. Multi-dimensional Arrays
    • Command-line Arguments
    • Pointers to Functions
    • Complicated Declarations
Part 6 – Structures
    • Basics of Structures
    • Structures and Functions
    • Arrays of Structures
    • Pointers to Structures
    • Self-referential Structures
    • Table Lookup
    • Typedef
    • Unions
    • Bit-fields
Part 7 – Input and Output
    • Standard Input and Output
    • Formatted Output – printf
    • Variable-length Argument Lists
    • Formatted Input – Scanf
    • File Access
    • Error Handling – Stderr and Exit
    • Line Input and Output
    • Miscellaneous Functions
    • String Operations
    • Character Class Testing and Conversion
    • Ungetc
    • Command Execution
    • Storage Management
    • Mathematical Functions
    • Random Number generation
Part 8 – The UNIX System Interface
    • File Descriptors
    • Low Level I/O – Read and Write
    • Open, Creat, Close, Unlink
    • Random Access – Lseek
    • Example – An implementation of Fopen and Getc
    • Example – Listing Directories
    • Example – A Storage Allocator
Part 9 – Missileneous
    • Lexical Conventions
    • Tokens
    • Comments
    • Identifiers
    • Keywords
    • Constants
    • String Literals
    • Syntax Notation
    • Meaning of Identifiers
    • Storage Class
    • Basic Types
    • Derived types
    • Type Qualifiers
    • Objects and Lvalues
    • Conversions
    • Integral Promotion
    • Integral Conversions
    • Integer and Floating
    • Floating Types
    • Arithmetic Conversions
    • Pointers and Integers
    • Void
    • Pointers to Void
    • Expressions
    • Pointer Conversion
    • Primary Expressions
    • Postfix Expressions
    • Unary Operators
    • Casts
    • Multiplicative Operators
    • Additive Operators
    • Shift Operators
    • Relational Operators
    • Equality Operators
    • Bitwise AND Operator
    • Bitwise Exclusive OR Operator
    • Bitwise Inclusive OR Operator
    • Logical AND Operator
    • Logical OR Operator
    • Conditional Operator
    • Assignment Expressions
    • Comma Operator
    • Constant Expressions
    • Declarations
    • Storage Class Specifiers
    • Type Specifiers
    • Structure and Union Declarations
    • Enumerations
    • Declarators
    • Meaning of Declarators
    • Typedef
    • Type Equivalence
    • Statements
    • Labeled Statements
    • Expression Statement
    • Compound Statement
    • Selection Statements
    • Iteration Statements
    • Jump statements
    • External Declarations
    • Function Definitions
    • External Declarations
    • Scope and Linkage
    • Lexical Scope
    • Linkage
    • Preprocessing
    • Trigraph Sequences
    • Line Splicing
    • Macro Definition and Expansion
    • File Inclusion
    • Conditional Compilation
    • Line Control
    • Error Generation
    • Pragmas
    • Null directive
    • Predefined names
Embedded System Introduction and Basic Concept
Part 10- Embedded C Introduction and Taking programming under Embedded C.
    • Difference Between C and Embedded C.
    • Introduction to Important Embedded Peripherals – SRAM, NVRAM, DRAM, EPROM, EEPROM, Flash, FRAM.
    • Introduction to Embedded C Compiler(gcc, Keil).
    • Introduction to Assembly Language Programming(x86) based.
Part 11- Embedded Protocols
    • Serial Peripheral Interface(SPI)
    • Inter IC Communication(I2C)
    • UART
Part 12 – Explaning ARM7 Based 32-bit microcontroller(AT91SAM7x256) with keil IDE and workout with Embedded programes.
    • Understanding ARM Architecture.
    • Von Neumann vs Harvard architecture
    • Hand on Experience with the KEIL IDE.
    • Comparison between 8-bit to 32-Bit Controller.
    • Understanding the Architecture of 32-bit Controller(AT91SAM7x256).
    • Port Programming for the AT91SAM7x256. Toggling Port and Toggling LEDs.
    • Programming the peripheral for controller AT81SAM7x256.
Part 13 – Explaining the study of technical datasheet.
Operating System Concept
Overview of operating systems, functionalities and charateristics of OS.
    • Hardware concepts related to OS, CPU states, I/O channels, memory hierarchy, microprogramming
    • The concept of a process, operations on processes, process states, concurrent processes, process control block, process context.
    • UNIX process control and management, PCB, signals, forks and pipes.
    • Interrupt processing, operating system organisation, OS kernel FLIH, dispatcher.
    • Job and processor scheduling, scheduling algorithms, process hierarchies.
    • Problems of concurrent processes, critical sections, mutual exclusion, synchronisation, deadlock.
    • Mutual exclusion, process co-operation, producer and consumer processes.
    • Semaphores: definition, init, wait, signal operations.
    • Use of semaphores to implement mutex, process synchronisation etc., implementation of semaphores.
    • Critical regions, Conditional Critical Regions, Monitors, Ada Tasks.
    • Interprocess Communication (IPC), Message Passing, Direct and Indirect
    • Deadlock: prevention, detection, avoidance, banker’s algorithm.
    • Memory organisation and management, storage allocation.
    • Virtual memory concepts, paging and segmentation, address mapping.
    • Virtual storage management, page replacemant strategies.
    • File organisation: blocking and buffering, file descriptor, directory structure
    • File and Directory structures, blocks and fragments, directory tree, inodes, file descriptors, UNIX file structure
Introduction to Linux Programming
Understanding the Architecture of Linux.
Linux Application Programming(Multithreading Programming using POSIX Threads).
Part1 – Pthreads Overview
    • What is a Thread?
    • What are Pthreads?
    • Why Pthreads?
    • Designing Threaded Programs
Part2 – The Pthreads API
    • Compiling Threaded Programs
    • Thread Management
    • Creating and Terminating Threads
    • Passing Arguments to Threads
    • Joining and Detaching Threads
    • Stack Management
    • Miscellaneous Routines
Part3 – Mutex Variables
    • Mutex Variables Overview
    • Creating and Destroying Mutexes
    • Locking and Unlocking Mutexes
Part4 – Condition Variables
    • Condition Variables Overview
    • Creating and Destroying Condition Variables
    • Waiting and Signalling on Condition Variables
Introduction to Linux Kernel Programming.
    • Discussion on the Linux Kernel and Carrying out small programs to enhance the functionalities of the Linux Kernel.
Introduction to Linux Device Driver.
    • Discussion about the Linux device driver.
    • Char Device Driver.
    • Block Device Driver.
Introduction to RTOS
    • Learning the concept of RTOS.
    • RTOS vs General Purpose OS(GPOS)
    • Taking example Programmes in RTOS and practical Observation how RTOS is different from GPOS.
Preparation for Interview
  • Four Hours Discussion for the Interview Preparation Frequently Asked Questions will be getting discussed based on the above syllabus i.e Embedded System.

Your Instructors

admin

0/5
42 Courses
0 Reviews
1 Student
See more
general
Free
Level
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare