- 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.
|