You are on page 1of 11

ADVANCED DIPLOMA IN EMBEDDED SOFTWARE ENGINEERING

Module 1

Introduction to Embedded Systems [02 Hours]


What are and Why Embedded Systems? Types of Embedded System Classifications of Embedded Systems Characteristics of an Embedded System Applications of an Embedded Systems

Module 2

Basics of Micro controllers [02 Hours]


What are Micro Processors? What are Micro Controller? Difference between Micro controller and Microprocessor Difference between Von Newman and Harvard Architectures Difference between CISC & RISC Architectures Overview of MCS51 Family

Module 3

Intel 8051 Architecture [16 Hours]


Features of 8051 micro controller Internal ROM memory Architecture Internal RAM Memory Architecture Pin out detail of 8051 micro controller Instruction Set o Data Transfer Instruction Set o Arithmetic Instruction Set o Bitwise and Byte wise Logical Instruction Set o Rotate Instruction Set o Call and Jump Instruction Set o Stack Operation and its architecture o Demonstration of trial program on Kiel Software. Timer and Counters in 8051 Micro controller Serial Communication in 8051 Micro controller Interrupt Handling in 8051 micro controller

Module 4

Programming 8051 in Assembly [16 Hours]


Hands on o Assembly Programming o Timer and Counter Programming o Serial Port Programming o Interrupt Handling

Module 5

Advance C Programming level 1 [30 Hours]


Function Storage Classes Scope and Lifetime of a variable Volatile Recursive Functions Stack Frame Analysis Drawbacks of Functions GDB Basic Debugging Commands Debugging a sample C Program Arrays Arrays and Functions

Pointer Pointer Arithmetic Pointers and Arrays Pointers and Functions String Handling Function like strcpy, strcat, strcmp, strlen Pointers and Strings Function Pointers Variable Augmented Function Dynamic Memory Allocation Memory Leaks and Dangling Pointers Structure Structures and Array Structures and Functions Structure Padding and Alignment Union Bit fields Using Typedefs Enumerations Macros

Module 6

Keil C Programming and Interfacing 8051 with peripherals and devices [42 Hours]
Assembly Vs. C What is Embedded C C Vs. Embedded C Need of Cross Compiler Popular Cross Compilers Overview of uvision Devp. Tools Environmental settings required to run a Keil C program What and Why Compiler Directives Language Extensions Using Intrinsic Functions Functions in Keil C Intermixing C and Assembly What are alien functions What are real time Functions Introduction to Pointer in KeilC Types of Pointers in KielC Pointer Conversion

Interfacing Techniques Terminology related to Interfacing Electrical Characteristics of IC AT89C51 IO Port Architecture Interfacing LED Interfacing Liquid Crystal Display (LCD) Interfacing a Keypad What are Semiconductor Memory? Overview of Memories Interfacing of ROM Interfacing of RAM Memory Address Decoding Relay Interfacing ADC Interfacing Sensors Interfacing DAC Interfacing 8255 PPI Interfacing Stepper Motor Advanced Programming Issues What is and Why Optimization. What are 8051 Specific Optimization supported by Cx51 Difference between Keil C and ANSI C

Module 7
I2C CAN RS232

Embedded Protocols [18 Hours]


Introduction to I2C Features of I2C Bus Advantages of I2C Bus Terminologies I2C Frame Format Programming I2C display, I2C Memory, I2C Clock Demonstration of Controlling I2C display from 8051 Interfacing I2C based peripherals with Micro controller Using Micro controllers with in built I2C Controllers Advantages and Disadvantages of I2C Applications of I2C What is and Why CAN Features of CAN Characteristics of CAN network Bus States CAN Layers CAN Frame Formats Inter Frame Space , Bus Idle Message Validation Types of Error CAN Device States Interfacing CAN Controllers to a micro controller Using micro controllers with inbuilt CAN Controllers Advantages and Disadvantages of CAN Applications of CAN

Difference between Serial and Parallel Communication What are DTE and DCE What are DB9 and DB25 Connectors Describe the pins of DB9 Connector What are loop back and Null modem connection Serial Port Architecture under X86 Architecture Description of UART Register in X86 Architecture RS232 Frame Format Max232/233, a voltage level converter Introduction to RS485 RS 232 Vs. RS 485 RS 485 network architecture Programming serial port using Advantages and Disadvantages of RS 232 Applications of RS 232 Overview of SPI What is and Why USB History of USB 2.0 Terminologies Features of USB USB Based System USB Peripherals USB Layers Topologies used in USB USB Architecture USB System Software USB Packet Types Types of Data Transfer

USB

Interfacing USB Peripherals to micro controller Introduction to writing device driver for USB Device Advantages and Disadvantages of USB Applications of USB

Module 8

Embedded System Development Life Cycle [06 Hours]


Embedded SDLC

Module 9

Advance C programming level 2 [30 Hours]


Introduction to Data Structures Types of Arrays Coding Standard Linked Lists Singly Linked List Doubly Linked Lists Circular lists Josephus problem Sorting algorithms Applications of Sorting Algorithm Searching Algorithm Stacks Applications of Stack Queues Applications of Queues Deque Circular Queues Priority Queues

Module 10 ARM 9 Architecture [24 Hours]


Introduction to ARM Technology ARM 9 Architecture ARM 9 Instruction Set ( ISA-v5TEJ ) Cache Memory Architecture CP15 Registers Debug Registers MMU & MPU Architecture ARMULATOR Linker & Scatter loading Exception Handling & other Programming concepts AMBA BUS AHB,ASB,APB & Overview of AXI

Module 11 ARM 9 Programming [24 Hours]


Assembly Programming on ARM9 using ADS / Embest Hands on Exception Handling & other Programming concepts

Module 12 ARM 11 Architecture [12 Hours]


ARM 11 Architecture Programming Model & ARM 11 Instruction set Cache Architecture MMU , L1 & L2 memory system Program Flow prediction & MPcore private memory region MPCore Distributed Interrupt Controller Debug Unit Overview of VFP

Module 13 Introduction to Real time Systems [02 Hours]


What are Real Time Systems Types of Ream Time Systems Examples of Real Time Systems Monolythic, Micro and Nano Kernels Rate Manotonic Scheduling Overview of popular RTOS

Module 14 Linux Internals [45 Hours]


Introduction to Linux History of Linux Linux Kernel Versions Advantages and Disadvantages of Linux Features of Linux Linux Kernel Architecture User & System Mode System Call. Process Management File Management Inter Process Communication o Files o Pipes o Fifos o Message Queues o Shared Memory o Semaphore o Signals o Sockets Makefile Memory Management in Linux Virtual File System VFS Architecture Introduction to EXT2FS / EXT3FS. Buffer Management System

Module 15 Fundamentals of Device Drivers [06 Hours]


Overview of Linux Kernel Introduction to Device Drivers Types of Device Driver Relationship between Kernel and Driver Major and Minor Number Modular Program Vs. Application Program Compile, run a sample module Registering & Un-registering a sample character device Driver Creating a device file and test character device driver Hands on Sample Character Device Driver

Module 16 Device Driver for Linux [18 Hours]


Memory Allocation and Freeing with in modules IO Port and IOMEM allocation Registering and Freeing Interrupt Handling

Random Access to the character device Using Capabilities Implementing IOCTL Commands Implementing Kernel Locking Mechanism Overview of Network Device Drivers Overview of Block Device Driver

Module 17 Case study on RT-Linux [18 Hours]


Limitations of Linux for Embedded System Development What are possible alterations to Linux Kernel Introduction to RTLinux RTLinux Kernel Architecture Creating and Running sample module Thread Management in RTLinux Inter Thread Communication o Shared Memory o Fifo o Semaphores o Mutex Objects Accessing I/O ports Using RT_COM Using MiniRTL Debugging RTLinux Modules using GDB Semaphore Using RTTracer

Module 18 ARM Board Bring up [06 Hours]


Read/Write JTAG Register and Memory JTAG Memory Test JTAG Debugger Based Flash Programming Porting Boot Loaders into Target Board Flash Configuring Boot Parameters Booting Target Board with a sample boot loader

Module 19 Porting Embedded / Real Time Linux on TARGET BOARDS [06 Hours]
What and Why Embedded Linux Features Distributions of Embedded Linux Steps to Build Embedded Linux Demon on Porting Embedded Linux on to Target Board Configuring ARMulator as Target Hands on porting Embedded / Real Time Linux on Target Board

Module 20 Advance C programming Level 3 [24 Hours]


Trees o o o o o o Terminologies Binary Trees Operations Binary Search tree Threaded Binary trees AVL trees o Application of Trees Portability Issues set_jmp and long_jmp Accessing hardware at user level File Handling

Module 21 Power PC Architecture (MPC 555) [12 Hours]


Introduction to PowerPC Technology Architecture of PowerPC 7xx PowerPC 7xx Programming Model PowerPC 7xx Instruction set Data Cache Operation L2 cache Operation Exception Memory Management Bus Interface

Module 22 Power PC Programming [12 Hours]


Hands on Programming PowerPC 7xx

Module 23 Basic Vxworks Programming [36 Hours]


Introduction to Tornado Development Kit Features of IDE Host Target Communication Interface Some Terminologies o Bootable Project o Downloadable Project o Workspace o Board Support Package o Tool Chain o Target Server o Target Agent o Tornado Registry Thread Management Hook Functions Inter Thread Communication o Pipes o Message Queues o Semaphores Watch Dog Timers What are and Why Ram Disk Overview of File Systems supported by Vxworks Enabling DOSFS on Ram Disk Launching Custom Built simulator Demo on Using IDE Tools o Browser o Cross Wind o Wind View o Wind Sh Memory Management Interrupt Handling Overview of Networking

Module 24 Device Drivers for Vxworks [12 Hours]


I/O system overview Driver initialization Device Driver Architecture in Vxworks I/O system driver entry points Driver Table Device Table FDT Adding and Removing device and drivers Supporting select in a driver

Sample Device Driver Development Case Study on Serial Port Device Driver Case Study on USB Device Driver Over view of Block Device Driver Block driver initialization and data structures Block Driver entry points Hands on Sample Device Driver Development Hands on Serial Port Device Driver Hands on USB Device Driver

Module 25 Basics of BSP Development [06 Hours]


What are BSP BSP vs. Device Driver Vxworks Boot Sequence Tornado Directory Structure Steps to Develop a new BSP

Module 26 Developing a new BSP in Vxworks [18 Hours]


Pre-Kernel Initialization Memory Issues Interrupts Issues Timers Issues Image Types BSP Validation

Module 27 Porting Vxworks on TARGET BOARDS [06 Hours]


Porting Vxworks on to Target o Host-Target Communication interface o Configuring TCP/IP and FTP Server Creating and Configuring Bootable project for porting Creating Boot floppy to initialize the target system Create and Launch Target Server for Remote Debugging Demo on the above said process Hands on Porting Vxworks to 32-bit Architecture

Module 28 Project

AUDIO SESSIONS
BASICS OF C
Introduction to Linux o What is OS? o Type of OS? o History of Linux o Advantages of Linux o Development Tools Features of Linux o Multi Threading, Multi Tasking, Multi Processing, Multi Processor, Multi Terminal, Multi User o IO Redirection o Accounting o Portability o IPC o Good Development and Cross Development o Modularity Login and Logout File System Hierarchy What is Shell and Kernel Types of Shell and their comparisons User Mode Vs. Kernel Mode Basic Commands Like mkdir, rmdir, cd, pwd, cat, mv, cp, rm, ls, login, logout, exit, who, uname, logname, bc, ping, ifconfig, mount, umount, shutdown, halt, write, msg, locate, find, grep, useradd, passwd, chmod, chown, chgrp, man, info, less, more, head, tail, sh, telnet, su Introduction to Vi editor and its option Introduction to Programming Languages o Assembly Vs. High Level Languages o Assembler, Compilers and Interpreters Introduction to C History of C Features of C Structure of a C Program Compiling and Executing a C program C Compilation Process o Preprocessor o Compiler o Linker and Loader Identifiers & Keywords Constants Data Types Statements Operators with precedence & associatively

Character Oriented I/O Formatted I/O Control Statements o Decision Making if, if else, nested ifs, switch o Loops for, while, do while break, continue, goto o Ternary Operators C Preprocessor Directives Search path for Include Files

RTOS
Introduction to Operating System What , When, Why OS Functions of an OS Types of OS Real Time Systems Types of Real Time Systems What and Why is RTOS

Session 2: Memory Management Without Resident Monitor With Residents Monitor Swapping Static Partition Technique ( MFT Algorithm) Dynamic Partition Technique ( MVT Algorithm) Advantages and Disadvantages of each algorithm Memory Management What are Frames and Pages Implementation of Paging Algorithm What is Demand Paging How does OS keep track of free frames, shared frames etc. Page Replacement Algorithms What is Segmentation Implementation of Segmentation Algorithm What is Paged Segmentation Advantages and Disadvantages of each algorithm File Management Disk Structure o MBR , BA, FAT, RA, LDA o Directory Structure (/. and ... Directories ) Free Space Management Algorithms o Bit Map o Linked List File Allocation Algorithms o Contiguous First Fit Best Fit Worst Fit o Non-Contiguous Linked List Index Disk Scheduling Algorithms

o o o o

FIFO SSTF SCAN CSCAN

Session 5: Process Management What are Process What are Long Term Scheduler What are Short Term Scheduler What are Medium Term Scheduler

What are Process States What is Process Control Block What is Context Switch Time What are and Why Threads What are Thread States and Thread Control Block Thread Vs. Process What is Hyper Threading Multi Processing Vs Multi Threading Vs Multi Tasking Process Scheduling Algorithms o FIFO o RR o SJF o Priority Based Preemptive o SRTF

CASE STUDY ON LINUX Session 6: Introduction to RTOS What are Real Time System What are the design criterias of an RTOS What are the Architectural criterias of an RTOS Types of Real Time Systems o Hard real time systems o Soft real time systems Kernel Architectures o Monolithic o Micro kernel o Nano kernel architectures, Features of RTOS Overview of few RTOSs like Vxworks, QNX, RT Linux, Windows CE, Symbian, Psos etc., Comparison of Various popular RTOS.

TCP/IP [CBT Sessions]


OSI & TCP / IP What are and Why Protocols Need of OSI Ref. Model History OSI Ref. Model Layers Comparison of OSI Ref. Model and TCP/IP Model TCP/IP Protocol Stack Architecture TCP / IP What are IP Address IP Address Format Characteristics of IP Address Sub-netting and Super netting IP Frame Format TCP Frame Format IPv4 Vs IPv6

You might also like