Embedded Systems Design & Application

Module-1

Introduction to Embedded Systems What is Embedded Systems, Types of System,Classification of Embedded Systems, Characteristics of an Embedded System,Applications of an Embedded Systems.

Module-2

Programming Languages & Compilers What is Programming Language, Type of programming Languages. Difference in Programming structures, Embedded Programming Languages, Compilers, Interpreters, Binary Systems.

Module-3

C Programming – Level 1 Facts of C Language, Why use C?, Advantage and Disadvantages of C Languages, C Compilers, What is an IDE, C Language IDEs, C Language Syntax, Syntax errors in C, Simple C Program, Understanding C Program Structure, Basic C language Components.

Module-4

C Programming – Level 2 Input-Output Functions in C, Format Specifiers, Control Statements – If If else, Else if, Nested Statements Conditional operators, Boolean Operators, Switch case Statements, Understanding Loops – While Loops, DO While Loops, Break and Continue.

Module-5

C Programming – Level1 Facts of C Language, Why use C?, Advantage andPointer Variable, Pointer Arithmetic, Arrays Declaration and Initialization, Multidimensional Arrays, Pointer and Arrays, Strings in C Initialization of string variables, String Literals, String Handing Functions, Pointers and Strings.

Module-6

C Programming – Level 4 Pointers and Functions, Arrays and Functions, User defined functions,Recursive Functions Function Declaration and Definition, Drawbacks of Functions, Storage Classes, Auto, Register, Global, Extern.

Module-7

C Programming – Level 5 Command line Arguments, Dynamic Memory Allocation,Structure and Unions, Files Pre-Processors.

Module-8

C Programming – Level 6 Introduction to Data Structures, Types of Data Structures,Pointers and Indirection, Array and Pointer implementation, Linear DataStructures, Linked Lists (Single Linked List, Double Linked Lists), Stacks and Queues Operations.

Module-9

Embedded C Programming Difference betweenC & Embedded C, Why C For embedded, Embedded C Compilers, Bitwise operators programming, Bit field
programming, Controller Specific Embedded C Programming

Module-10

Introduction to Embedded controllers Controller architectures Harvad Architecture and Von Neumann architecture, CISC & RISC, Controller, processor, Controller vs processor, Instruction set, Registers, SFR Oscillators, 8-bit, 16-bit, 32-bit, 64-bit architectures.

Module-11

Introduction to IDE What is IDE?, Introduction to KEI, Intro to keil (mdk installation), Creating project, Porting HEX files to controllers, Flash Magic.

Module-12

Introduction to 8051 8051 Introduction, 8051 Architecture, 8051 specifications, Block diagram of 8051, Pin description GPIO Programming, LED programs and switch, 7 segment and LCD Display, Timers, UART and Interrupt programming.

Module-13

Introduction to ARM Architecture Introduction to ARM, ARM Processor modes, ARM Registers Arm Versions. General ‘C’ vs Embedded ‘C’ Embedded C Programming, Keil4.

Module-14

ARM7 Micro controller LPC2148 Programming Introduction to LPC2148, LPC2148 specifications, Block diagram of LPC2148, ports related registers, GPIO Programming.

Module-15

LPC2148 Peripherals and Protocols Programming GPIO: LED, Switches, 7 segmentand LCD Display, UART, 12C, SPI, PWM, WDT, Timers/Counter, ADC, DAC, RTC, Interrupts.

Module-16

ARM Cortex Micro controller LPC1768 Programming Cortex Architecture, LPC1768 specifications, KEIL IDE, Flash Magic, GPIO: LED Switches, LCD UART, 12C, SPI, PWM, Timers/Counter.

Module-17

GPS Wireless Module Programming Introduction to GPS, NEMA Standards GPS Sentences, GPGGA Sentence, Interfacing and programming with microcontroller.

Module-18

GSM Wireless Module Programming Introduction to GSM, Frequency Bands and International Standards, AT Commands Interfacing and programming with micro controller Module-19: Infrared (IR) Wireless Module Programming Introduction to IR, Frequency bands, Active Infrared and Passive Infrared, Rc5 Protocol Interfacing and programming with microcontroller. Infrared (IR) Wireless Module Programming Introduction to IR, Frequency bands, Active Infrared and Passive Infrared, RC5 Protocol Interfacing and programming with microcontroller.

Module-19

Infrared (IR) Wireless Module Programming Introduction to IR Frequency bands active infrared and passive infrared RC5 Protocol interfacing and programming with microcontroller

Module-20

Bluetooth Wireless Module Programming Introduction to Bluetooth, T Commands, IEEE standards Interfacing and programming with microcontroller.

Module-21

RFID Wireless Module Programming Introduction to RFID, Tag / Transponders and Readers, DataProcessing subsystem, Types of Tag Active andPassive Tag, Interfacing and programming with microcontroller.

Module-22

Wi-Fi/ WLAN Wireless Module Programming Introduction to Wi-Fi, AT Commands, IEEE standards, Interfacing and programming with microcontroller.

Module-23

ZigBee Wireless Module Programming Introduction to ZigBee, AT Commands, IEEE standards, Interfacing and programming with microcontroller.

Module-24

OS concepts Software components, System software vs Application software, operating systems Interfaces, Real-time systems.

Module-25

Linux Basic and Utilities UNIX/Linux/Windows History, GNU Project, Booting Process of OS Advantages and disadvantages of Linux, Features of Linux, Linux root File System, Virtual File system.

Module-26

Shell and Shell Commands Linux Terminals & Shell, Concept of Process in Linux, Regular Expressions, Process Commands, Editors in Linux, Regular Commands in Linux.

Module-27

Linux Shell Programming and scripts Types of shells, Bourne shell Overview, User, Shell, And Read-Only Shell, Variables, Environmental Variables, Positional Parameters, Control Constructs, Switch case, If Else and loops.

Module-28

Linux Compilers, Debugger, and Utilities Gcc compiler, Compiler switches, Creating Object code GNU C library, GDB debugger, GDB commands, Static library, Dynamic library.

Module-29

Linux Internals Programming – File System Linux Kernel Structure, System Calls, File Sub-System, Inodes and File permissions, File symbolic Links, File handling functions, Library functions vs. system calls.

Module30

Linux Kernel Programming – Process Management Linux Kernel Architecture, User & System Mode, Process Management, pid, fork, vfork, exec zombie process.

Module-31

POSIX Thread Programming & IPC POSIX standards, POSIX Threads, pthreads, pthread attributes, POSIX Message Queues, POSIX Semaphores.

Module-32

Linux Compilers, Debugger, and Utilities Gcc compiler, Compiler switches, Creating Object code GNU C library, GDB debugger, GDB commands, Static library,Dynamic library.

Module-33

Linux Synchronization Programming Need of Synchronization, Deadlock problem, Race condition Critical section problem, Conditional variables, Mutex, Semaphores, System v API, POSIX API.

Module-34

Linux IPC (Inter Process Communication) Programming Need of IPCs, pipe, FIFO, Shared Memory, message queue, signals & communication, signal handler.

Module-35

Linux Network Programming OSI Reference Model Introduction to OSI Ref Model, Physical Layer Protocol Functions, Data Link Layer Protocol Functions, Network Layer Protocol Functions Transport Layer Protocol Functions, Session Layer Protocol Functions, Presentation Layer Protocol Functions, Application Layer Protocol Functions

Module-36

Understanding TCP/IP Origin of TCP/IP, TCP/IP Model, IP Addressing, Subnet masking. Assigning IP, Overview of Routing process, TCP/IP Stack,

Module-37

Linux Socket Programming Socket API, Client Server Architecture, TCP Socket, UDP Socket, RAW Socket, Unix Socket, FTP Programming, Communicating using Sockets, Concurrent Server Programming

Module-38

Briefing Linux Device Drivers Linux Driver Module, Role of Driver, Inbuilt and Modular Drivers, Types of Device Driver, Relationship between Kernel and Driver, Major and Minor Number, Modular Program Vs. Application Program.

Module-39

Advanced Character Device Driver IOCTL,Implementing IOCTL Commands, Blocking I/O, poll and select, Asynchronous notification.

Module-40

Kernel Classifications: Monolithic Kernels, Micro Kernels, The User space & Kernel Space.

Module-41

Module Programming: The Hello World Module, Module Stacking, Module Parameters, System Calls.

Module-42

The Virtual Filesystem: Common Filesystem Interface, Filesystem Abstraction Layer, VFS Objects and Their Data Structures, Super block, inode block, Data block, Boot block.

Module-43

Memory Management: Kernel High Level MMU, kernel Low Level MMU, Kernel Memory Allocators, Slab Allocator, Page Allocator, Fragment Allocator, Pool Allocator.

Module-44

The Virtual Filesystem: Common Filesystem Interface, Filesystem Abstraction Layer, VFS Objects and Their Data Structures, Super block, inode block, Data block, Boot block.

Module-45

Memory Management: Kernel High Level MMU, kernel Low Level MMU, Kernel Memory Allocators, Slab Allocator, Page Allocator, Fragment Allocator, Pool Allocator.

Module-46

Interrupts: Interrupts & Registering Interrupt Handlers, Interrupt Context vs Process Context.

Module-47

Interrupts Bottom Halves: Soft irqs, Tasklets, Work Queues, Kernel Data Types.

Module-48

Kernel Synchronization: Critical Sections, Race Conditions, Concurrency and its Sources.

Module-49

Mechanisms for Kernel Synchronization: Semaphores, Reader / Writer Semaphores, Spinlocks, Reader/ Writer Spinlocks Atomic Operations.

Module-50

Kernel Timers and Time Management: HZ & Jiffies, Delays, Kernel Timers.

Module-51

Porc FS: virtual file systems, information about processes, communication between kernel space and user space, /proc/interrupts, /proc/meminfo, /proc/cpuinfo, /proc/devices, /proc/ioports.

Module-52

Sys FS: Enumeration of the devices and busses attached to the systemfile system hierarchy.

Module-53

Character Drivers and Operations : Registering a System Call, System Call Handler, Service Routines, Character Drivers, Synchronous Driver model

Module-54

Device Numbers: Major and Minor Numbers, Registering and Unregistering, Static and Dynamic allocations, Important Structures

Module-55

File Operations: File, Inode, Character Devices

Module-56

CDEV Structure: Adding, Allocating, Initializing and Deleting, User Space Applications and Device Driver mapping, Device file operations, Access methods within the driver, open, read, writ and close, Advanced Character Drivers, loctl implementations, Wait queues and pollings.

Module-57

Accessing Hardware: Accessing I/O Ports, Accessing I/O Memory

Module-58

Advanced Character Device Driver IOCTL, Implementing IOCTL Commands, Blocking I/O, poll and select, Asynchronous notification.

Porting & Board Bringup Linux – Beaglebone Black Board ARM Cortex A8-32 Bit

Module-59

Toolchain Setup: Introduction to Toolchain, Toolchain Components, Building Toolchain, Toolchain Compilation and usage,ARM Cross Compilers Setup.

Board Support Packages BSP

Module-60

Bootloader Compilation: Board bring up, Introduction to Bootloader, U-Boot Bootloader Porting, U-Boot Commands Lists, U-Boot Image for Target Board, 12C Embedded peripheral I2C Embedded peripheral

Module-61

Clear Understanding of Boot Up Sequence: Getting Started with Beaglebone board, Embedded Linux System boot up stages , Beagle board boot up stages

Module-62

Kernel Configuration: Linux kernel Cross Compilation for Target board,Cross-Compilation of Kernel Source, Generating Kernel Image-uImage on Target Board,Application development and Cross Compilation

Module-63

What Is My Program Doing?, Source Level Debugging, Invoking gdb, Getting Started with gdb, Examining and Changing Memory, Using gdb with a Running Process, Debugging Libraries – ElectricFence, Debugging with valgrind

Module-64

RTOS Management Task Management, Task Synchronization,Inter task Communication, Memory Management, Timer Management, Interrupt & Event handling.

Module-65

Free RTOS Porting BSP of Free RTOS for LPC2148, Compiling Free RTOS in IDE, Understanding the APIs of Free RTOs, Porting RTOS to LPC2148.

Module-66

Free RTOS Programming Led programming with Free RTOS, Serial port programming, Priority and preemptive programming, Message queue, semaphore and Time delay programming with Free RTOS.

Module-67

Introduction to Raspberry Pi Board, ARM SOC (system-on-chip) architecture, Hardware interfaces, Raspbian OS (Linux Desktop), Preparing the SD Card for OS, Booting the RPI, Networking & File-sharing on the RPI,

Module-68

Python Programming Python Programming language, Installing Python interpreter, Variables, Objects, Statements and Expressions, Operators, strings, Lists, Files, Booleans, Conditional Statements, Control Statements, Functions.

Module-69

Programming of the Pi Access the Web, Control Peripherals with Pi, Control LEDs, PWM, LCD and scrolling LCD, Interfacing Relay & other Components.

Module-70

MQTT Protocol Understanding MQTT, MQTT Broker/Subscribe / Publish, MQTT QoS, MQTT Topics pattern, MQTT Tools.

Module-71

Cloud Computing with IOT Intro to IOT builder,Managing account, Connecting RPI, Controlling Hardware, Creating triggers. Getting notifications, Connecting mobile to RPI, Scheduling events.

×

 

Hello!

Click one of our contacts below to chat on WhatsApp

×