Introduction to embedded system
UNIT I – INTRODUCTION TO EMBEDDED CONCEPTS
Introduction to embedded systems, Application Areas, Categories of embeddedsystems, Overview of embedded system architecture, Specialties of embedded systems, recent trends in embedded systems, Architecture of embedded systems, Hardware architecture, Software architecture, Application Software, Communication Software.
UNIT II – OVERVIEW OF ARM AND CORTEX-M4
Background of ARM Architecture, Architecture Versions, Processor Naming, Instruction Set Development, Thumb-2 and Instruction Set Architecture. Cortex-M3
Basics: Registers, General Purpose Registers, StackPointer, Link Register, Program Counter, Special Registers, Operation Mode, Exceptions and Interrupts, Vector Tables, Stack Memory Operations, Reset Sequence. Cortex-M3Instruction Sets: Assembly Basics, Instruction List, Instruction Descriptions.Cortex-M3 Implementation
Overview: Pipeline, Block Diagram, Bus. Interfaces on Cortex-M3, I-Code Bus, DCode Bus, System Bus, External PPB and DAP Bus
UNIT III – CORTEX EXCEPTION HANDLING AND INTERRUPTS
Exceptions: Exception Types, Priority, Vector Tables, Interrupt Inputs and Pending Behavior, Fault Exceptions, Supervisor Call and Dependable Service Call. NVIC: Nested Vectored Interrupt Controller Overview, Basic Interrupt Configuration, Software Interrupts and SYSTICK Timer. Interrupt Behavior: Interrupt/Exception Sequences, Exception Exits, Nested Interrupts, Tail-Chaining Interrupts, Late Arrivals and Interrupt Latency.
UNIT IV – CORTEX-M3/M4 PROGRAMMING
Cortex-M3/M4 Programming: Overview, Typical Development Flow, Using C, CMSIS (Cortex Microcontroller Software Interface Standard), Using Assembly. Exception Programming: Using Interrupts, Exception/Interrupt Handlers, Software Interrupts, Vector Table Relocation. Memory Protection Unit and other Cortex-M3 features: MPU Registers, Setting Up the MPU, Power Management, Multiprocessor Communication.
UNIT V – CORTEX-M3/M4 DEVELOPMENT AND DEBUGGING TOOLS
STM32L15xxx ARM Cortex M3/M4 Microcontroller: Memory and Bus Architecture, Power Control, Reset and Clock Control. STM32L15xxx Peripherals: GPIOs, System Configuration Controller, NVIC, ADC, Comparators, GP Timers, USART. Development & Debugging Tools: Software and Hardware tools like Cross Assembler, Compiler, Debugger, Simulator, In-Circuit Emulator (ICE), Logic Analyzer etc.
linux device driver syllabus :-
UNIT I – INTRODUCTION TO DEVICE DRIVER AND CHAR DRIVER
Introduction to device driver – The Role of the Device Driver –Splitting the Kernel – Classes of Devices and Modules – Security Issues – Building and running modules – Setting your test system – compiling and loading – Char Drivers – Design of scull – Some Important Data Structures – Char Device Registration – open and release – scull’s Memory Usage – read and write – Playing with the New Devices
UNIT II – DEBUGGING TECHNIQUE, CONCURRENCY AND TRACE
Debugging technique -Concurrency and trace conditions – Pitfalls in scull – Concurrency and Its management – Semaphores and Mutexes – Completions – Spinlocks – Locking Traps – Alternatives to Locking – Advanced Char driver operations – ioctl 135 – Blocking I/O 147 – poll and select 163 – Asynchronous Notification – Seeking a Device – Access Control on a Device File
UNIT III – MEMORY ALLOCATION, COMMUNICATING WITH
Time, delays and deferred work – Allocating memory – The Real Story of kmalloc – Lookaside Caches – get_free_page and Friends – vmalloc and Friends – Per-CPU Variables – Obtaining Large Buffers – Communicating with hardware – I/O Ports and I/O Memory – Using I/O Ports – I/O Port Example – Using I/O Memory
UNIT IV – INTERRUPT HANDLING, DATA TYPES, PCI DRIVER AND
Interrupt handling – Preparing the Parallel Port – Installing an Interrupt Handler – Implementing a Handler – Top and Bottom Halves – Interrupt Sharing – Interrupt-Driven I/O – Data types in kernel – Use of Standard C Types – Assigning an Explicit Size to Data Items – Interface-Specific Types – Other Portability Issues – Linked Lists – PCI drivers – PCI Interface – PC/104 and PC/104+ – Other PC Buses – USB drivers – USB and Sysfs – USB Urbs – Writing a USB Driver – USB Transfers Without Urbs
UNIT V – LINUX DEVICE MODEL, BLOCK DRIVER AND NETWORK
Linux device model – Kobjects, Ksets, and Subsystems – Low-Level Sysfs Operations – Hotplug Event Generation – Buses, Devices, and Drivers – Classes – Hotplug – Block Driver – Registration – Block Device Operations – Request Processing – Network Drivers
IOT basic :
UNIT I- INTRODUCTION
Introduction – History – Creative Coding Platforms – Open Source Platforms – PIC – Arduino, Sketch, Raspberry Pi, Iterative coding methodology – Python Programming – Mobile phones and similar devices – Arm Devices – Getting used to Arduino – Sensor Characterization: Safety, Basic Electronics (circuit theory, measurements, parts identification) Sensors and Software: Understanding Processing Code Structure, variables and flow control, Interfacing to the Real World
UNIT II – SOFTWARE FRAMEWORKS
Software: openFrameworks as our IDE (C/C++) – “Arduino” Language (C/C++) – Hardware: Desktop / Laptop / Raspberry Pi – How to approach a programming problem?Representing “reality” with computers.Digital vs. Analog circuits, audio, communication, etc.Analog to Digital Conversion (ADC) – Digital to Analog Conversion (DAC) – Microcontrollers
UNIT III – HARDWARE COMMUNICATION (8 hours)
Communication – Serial& Parallel – Hardware to Hardware Communication – I2C/IIC (Inter-Integrated Circuit) – SPI (Serial Peripheral Interface) – Serial UART Communication – Introduction to the command line – git/github. Introduction to Programming: A comparative studio between Arduino + openFrameworks – Arduino-compatible Microcontrollers Sensors and Actuators
UNIT IV: ADVANCED I/O INTERFACING (11 hours)
Advanced I/O – openFrameworks:Live Network feeds (push and pull) – Data persistence (saving data and preferences) – Database interface (MySQL, sqLite, XML, PHP/Web) – Arduino:Wired/Wireless Networking
UNIT V – IoT, FUTURE AND PERSPECTIVES , TCP/IP and UDP –
Building peer to peer communication system using Bluetooth &WiFi -Experiments
Introduction & Concepts: Introduction to Internet of Things, Physical Design of IOT, Logical Design of IOT, IOT Enabling Technologies, IOT Levels.
Unit II Domain Specific IOTs: Home Automation, Cities, Environment, Energy, Retail, Logistics, Agriculture, Industry, Health & Life Style.
Unit III M2M & System Management: M2M, Difference between IOT and M2M, SDN and NFV for IOT, Software defined Networking, Network Function Virtualization, Need for IOT Systems Management, Simple Network Management Protocol, Limitations of SNMP, Network Operator Requirements,, IOT Systems management
Developing Internet of Things & Logical Design using Python: Introduction, IOT Design Methodology, Installing Python, Python Data Types & Data Structures, Control Flow, Functions, Modules, Packages, File Handling, Date/ Time Operations, Classes, Python Packages Unit V IOT Physical Devices & Endpoints: What is an IOT Device, Exemplary Device, Board, Linux on Raspberry Pi, Interfaces, and Programming & IOT Devices.