Why C in Embedded
Fundamentals of C
Data types and Constants
Simple & Formatted I/O
Memory Usage
Operators & Expressions
Flow Control
Loops
Storage Classes
Scope and Life
Automatic, Static, External, Register, Volatile
Memory(CPU / RAM)
Functions
Pass by value / reference
Returning values from Functions
Recursive Functions
Reentrant functions
Call Back Functions
Implications on Stack
Arrays
Defining, initializing and using arrays
Multi Dimensional Arrays
Arrays and Pointers
Structures & Unions
What structures are for
Declaration, initialization
Accessing like objects
Nested Structures
Array of Structures
Passing structures through functions
Allocation of memory and holes
Structure Comparison Structure bit operation
Typedef for portability
Unions
Overlapping members
Enumerated data types
Enum, Indexing,
enum Vs #define
Bit Operations
AND ( & ), OR ( | ), XOR ( ^ )
Compliment ( ~ )
Left-Shift ( << ), Right Shift ( >> )
Masking, Setting, Clearing and Testing of Bit / Bits
Pointers
The purpose of pointers
Defining pointers
The & and * operators
Pointer Assignment
Pointer Arithmetic
Multiple indirections
Advanced pointer types
Generic and Null Pointer
Function Pointers
Pointers to Arrays and Strings
Array of Pointers
Pointers to Structure and Union
Pointers to Dynamic memory
Far, Near and Huge Pointers
Pointer Type Casting
Complicated pointer declarations
Creating look up tables and Vector tables using pointers
Accessing peripherals using pointers
Dynamic Memory Allocation
Malloc(), Calloc(), Realloc(), Free()
Farmalloc(), Farcalloc()
Advanced Data Structures
Single, Double & Circular Linked Lists
Stacks & Queues
Binary Trees
Hash Tables
Device Drivers: Introduction and development Techniques
What is a Device Driver
Types of Device Drivers
Building a device driver
Integrating a Device driver
Module 2: ‘C ‘for Microcontrollers
Introduction to some leading microcontroller families
Overview of Architecture of 8051
Processor Core and Functional Block Diagram
Description of memory organization
Overview of ALL SFR’s and their basic functionality
Overview of typical on-chip peripherals
Overview of Architecture of ARM7TDMI (LPC 2138/LPC2129/LPC2148)
Processor Core and Functional Block Diagram
Description of memory organization
Overview of ALL SFR’s and their basic functionality
Overview of typical on-chip peripherals
Low-level Programming Concepts
Addressing Modes
Interrupts handling
Startup code
Programming on Chip Peripherals
Complier directives
Memory Models
Library routines Peripherals Interfacing Techniques
LEDS
Switches (Momentary type, Toggle type)
Seven Segment Display
LCD (4bit, 8bit, Busy Flag, Custom Character Generation)
Keypad Matrix
Stepper motor, DC Motor
RTC:800583,DS1307 ADC:PCF8591, DS1621)
ADC , DAC, PWM
SPI Protocols
I2C Protocol
EEPROM
SD Cards
Module 3: Real Time OS, Development tool chains
What is Real Time Computing
Overview firmware development strategies
Why we need a Real Time Operating System
Concept of Multi-Tasking Programs
Theory of Operation
A typical RTOS building Blocks
Task scheduling policies
Porting on to H/W Implementation Examples
Keil uVision / RIDE 51 Tool chain
Overview
Specifications
Setting up Development and debugging environment
Compiler
Linker
Make utility
Object files
Multiple C file Program Development
Project management
Build process Dynamically Loading Libraries (DLL)
Optimization Techniques
Programming Target
|