Course Syllabus |
- ARM Architecture and Organization
- ARM Assembly Programming
- THUMB Assembly Programming
- ARM-THUMB Interworking
- Assembly and C Mixed Programming
- Exception Handling
- ARM Toolchain (Assemblers, Compilers, Linkers & Debuggers)
- Firmware Programming
- Caches & MMU
- Peripheral Programming
- Embedded OS
- Porting of Embedded OS on ARM
|
|
System Design using FPGA |
| |
Course Syllabus |
- VLSI Design Flow
- FPGA Architecture
- Hardware Description Language - Verilog
- Designing and Implementation of Finite State Machines for FPGA
- Synthesis Techniques and Timing Analysis
- Placement and Routing
- Embedded Hardware and Software Design with FPGA
- Porting Embedded Operating System on FPGA
- Case Study on FPGA based System Design
|
|
Think Parallel: Hands-on with Embedded Multi core programming |
| |
Course Syllabus |
- Introduction to Embedded Multi-core Revolution
- Multi-core architectures
- Processor (core) and Memory system architecture
- Real-time High Performance Architecture
- Development tools for compilers/programming models
- Modeling performance (Amdahl's law) and issues with Performance/power
- Parallel Programming Paradigms
- Programming Constructs and Models
- Threading and Parallel Programming Constructs
- Data Races, Deadlocks, and Live Locks
- POSIX threading APIs
- Multi-core programming with OpenMP
- Message Passing Interface (MPI)
- Thread-safe Functions and Libraries
- Hybrid Programming concepts
- Performance Analysis of multithreaded programs
- Multithreaded Debugging Techniques
- Multi-core Embedded Boards – Architecture and Data Transmission mechanism
- High Performance Computing – Cluster, Grid
|
|
Converging Technologies : Wireless, Mobile and Embedded |
| |
Course Syllabus |
- Embedded Linux Configuration and Booting
- Embedded Linux Application Development
- Power Aware Application Development for wireless Sensor Networks
- Bluetooth and Wi-Fi Network Programming
- Implementing Push Technology for Ubiquitous Computing Applications
- Application Development for Mobile Platforms
|
|
Embedded Controllers Programming (AVR & ARM) |
| |
Course Syllabus |
- AVR Microcontroller Architecture
- AVR Instruction Set and Programming
- C programming for Microcontrollers
- ARM Architecture and Organization
- ARM Assembly Programming
- THUMB Assembly Programming
- ARM-THUMB Interworking
- Assembly and C Mixed Programming
- Exception Handling
- Peripheral Programming
- Embedded OS
- Porting of Embedded OS
|
|
Linux System Programming, Embedded Linux Kernel & Driver Development |
| |
Course Syllabus |
- Introduction to Linux System Programming
- Linux Architecture
- Linux Shell
- GNU Tool Chain (GCC, GDB, MAKE, GPROF & GCONV)
- System Calls and Working with Files
- Linux Environment
- Process Management & IPC
- POSIX Compliant Thread Programming
- Socket Programming
- Configuration, Compilation & Porting of Embedded Linux
- Kernel Module Programming
- Device Driver Programming
- Character Driver Development
- Concurrency issues in Drivers and on SMP systems
- Interrupt Handling and I/O Programming
- Adding System calls in Embedded Linux
|