Professional Development Course in Embedded System Design (Full-time)

Sandeepani offers the 16-week full time (Monday - Friday) Professional Development Course for recent graduates and post-graduates in Electronics / Electrical / Telecommunication / Computer Science engineering. This program is specifically designed with an objective to provide a sound platform for the students and prepare them for a successful career in the field of Embedded System Design.
The PDC offers the right blend of classroom teaching, quality hands-on training from 'concept-to-project', covering design methodology using industry standard tools and practices. The course includes a project work as well.
Placement assistance is provided to those who complete all modules of this course and a pre-placement test.

Course Duration: 16 Weeks

Course Structure and Outline


Module Title

What You Learn

(3 Days)

Engineering primer

  • Number systems
  • Logic gates
  • Boolean expressions
  • Introduction to registers and counters
  • Introduction to Embedded systems

(10 Days)

C Primer

  • Introduction to C Programming - Structure of a C program, The C compilation process
  • Types and Operators - C base types, Precedence & Associativity, - Arithmetic operation, Promotion & Typecasting
  • Control Flow - Logical expressions and operations, Decision Making, Loops
  • Definitions and declarations, Header files, Scope and lifetime - Storage Classes
  • Introduction to pointers - Using pointers to access single dimensional arrays
  • Bit Manipulation, Bit level manipulation
  • Standard C I/O functions
  • Functions - The Function as a logical program unit, Parameter passing by copy and reference

(18 Days)

Designing with ARM7

  • Introduction to MCU / MPU
  • Introduction to ARM
  • ARM7-TDMI Architecture & Programmer’s model
  • ARM & THUMB Instruction Set Architecture’s
  • ARM7 Assembly programming using Keil MDK tool-chain
  • LPC2378 - ARM7 based MCU Architecture & Programming using Embedded C
  • Interfacing and Programming with LPC2378(GPIO - LED, Switches, Matrix Keypad & LCD, Timer, RTC, ADC, UART)
  • In-Circuit debugging using Keil Ulink2 JTAG debugger
  • Boot sequence & System initialization
  • Exception handling
  • Advanced simulation, Code profiling & Optimization techniques
  • Overview of Serial protocols (SPI, I2C and CAN) Overview of ARM Cortex Cores

(18 Days)

Advanced C

  • Advanced Pointers – Pointer array, array of pointers, pointer to arrays, function pointers
  • C string handling
  • Advanced Data types - Structures, Unions and Enums, Bit-fields
  • Dynamic Memory allocation techniques
  • Data Structures - Linked lists, Stacks, Queues, Binary Search trees, applications
  • Search and Sort algorithms
  • Conditional compilation
  • File operations

(8  Days)

GPOS and Shell Scripting

  • Introduction to operating system
  • Process Management
  • File Management
  • Memory management
  • Shell scripting

(12 Days)

System Programming using Linux

  • Linux kernel architecture – Kernel subsystem, system call interface, scheduler, virtual memory management, file system management
  • Linux System Programming: File I/O, Signals, Timer and Sleeping, Memory Allocation
  • Process Management: Process, Process Descriptor, Process States, Threads, Process Creation, Execution, Termination
  • Inter-Process Communication: Kernel IPC Facilities, Pipes, POSIX Message Queue, POSIX Semaphore, Shared Memory

Integrated in the course

Module Projects


Elective 1
(10 Days)

Linux Device Drivers

  • Essentials of kernel programming
  • Dynamically loadable kernel module
  • Memory Allocation schemes in kernel
  • Interrupt handling – top and bottom halves, deferring work
  • Kernel synchronisation tools
  • Wait event queues
  • Developing and running char drivers
  • Developing and running Block drivers
  • Debugging techniques
  • Proc file system
  • Linux device model , device tree

Elective 2
(10 days)

Real Time Operating system

  • Introduction to µC/OS-II RTOS
  • RTOS Fundamentals: Real Time Scheduling and Timing, Clock Ticks, Priority Scheduling, Application development using µC/OSII RTOS
  • RTOS Task Management: Task Creation, Multi-Tasking, Task Scheduling, Task Query, Task Deletion, Task Change Priority, Task Suspend/Resume
  • RTOS Time Management: Timer and Timer Services, Timer Delay, Get/Set Timer RTOS Inter-Process Communication: Hardware Synchronization, Binary Semaphore, Counting Semaphore, Mutual Exclusion, Message Queue Management, Shared Memory, The Critical Section Problem, Priority Inheritance

Elective 3
(10 Days)


  • Introduction to object oriented programming
  • Classes and objects
  • Constructors and Destructors
  • Dynamic memory allocation techniques
  • Exception handling
  • Polymorphism – Function overloading
  • Polymorphism – Operator overloading
  • Inheritance
  • Run time polymorphism
  • Generic programming

Elective 4
(10 Days)

Embedded System Design Using Zynq

  • Overview of Embedded Software Development
  • Zynq-7000 All Programmable SoC Architecture Overview
  • Introduction to FPGA
  • Driving the Vivado Tool
  • Driving the SDK tool
  • Standalone Software Platform Development
  • Interrupts – software consideration
  • AXI - Introduction, Transaction
  • AXI: Connecting AXI IP
  • Integration of software and hardware design

Download course brochure here.

Need More Info ?

Contact us : (+91) 99725 21707 and (+91) 98441 82555

Email us :

Admission Office:

(080) 4197 0445

Front Office:

(080) 4197 0400