SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
Linux Driver and
Embedded Developer

Course Highlights


The flagship training program from Veda Solutions, successfully being conducted from
the past 10 years



A comprehensive expert level course covering all aspects of system programming like
Linux Programming, Kernel Programming, Embedded Linux , Network Programming,
Linux Device Drivers



Most attended and recommended by working professionals (from over 100 companies
and 8 nations)



From corporate trainers to over 20 major technology and embedded companies



Available in regular, full-time, weekend workshops, audio-video and online training
modes

301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad
Ph:040-66100265 Email: info@techveda.org
www.techveda.org
1
Who should attend?





Working professionals expecting projects/work assignments on Embedded Linux, Linux
kernel programming, Device Drivers or other core system development requirements
Working professionals looking to upgrade their system development skills on Linux
Programmers from Windows OS platform interested to add/migrate to Linux and
Embedded Systems
Microcontroller based embedded developers who are willing to upgrade their skills and
enhance their career positions

Course pre-requisites



Proficiency in C programming
Knowledge of basic Linux commands

What you will learn?






Linux programming essentials, for understanding the key Linux; issues, concepts and
finer nuances of programming to get a proper grounding before getting deeper into
core system development
Linux Kernel Programming and Internals for getting a complete grip on core OS concepts
and module programming
Linux Device Drivers and Embedded Drivers enabling you to start writing Driver
programs for embedded and GPOS targets
Practical Embedded Linux enablement skills for any target hardware like ARM and so on.

Course Duration



Regular mode – 3 months (1.5 hrs. per day, five days a week)
Also available in Full time, Weekend Workshops, Audio-Video and Online mode (refer
website/counselor for details)

Why Veda Solutions?







Most recommended training organization by working professionals
10 years of training experience in Embedded Linux and Linux system programming
Delivered corporate training to over 20 technology majors including Sasken, NCR, UTCFS, Xilinx and so on
First institute in Asia to start online courses on Linux Kernel, Device Drivers and
Embedded Linux
Participants from over 8 nations and 100 companies
2
Course Contents
This course is divided into three logical modules to enable easy and effective understanding of
the entire course

Linux Programming Essentials
Gnu compiler distribution
Process management
 Understanding compile & build process
 Introduction to program loading
 Tool chain
 Process, defined
 Object file analysis
 Understanding process address space.
 Executable Images
 Kernel process descriptor.
 Binary Portability
 Accessing kernel process descriptor
information
Exploring object files
 Introduction to Linux Process scheduler
 Need for understanding object files
 Scheduling policies & priorities
 Introduction to the Binary File Formats
 Process scheduling for multi/many
(ELF, COFF, XCOFF).
core systems
 Understanding ELF file format
 Process affinity
 Inspecting object files
 Linux process privileges
 Extracting sections from object files
 Introduction to process resource limits
 Converting executable to other
 Use cases & standard practices
formats (srec, ihex, binary)
 Use cases
Stack Analysis
 Introduction to stack
Exploring Linkers and Build process
 Understanding how stack grows and
 Build process defined
shrinks
 Role of Build scripts in build process
 Understanding how function
 Build script syntax
parameters are passed.
 Need to modify Build scripts
 Understanding how stack frames are
 Use cases & standard practices
created and destroyed.
Libraries
 Introduction to libraries
 Creating Static Libraries
 Creating Shared Libraries
 Using Libraries
 Managing dynamic libraries
 Use cases & standard practices

Application prg. Interfaces (API)
 Understanding need of Api
 API vs system calls
 User mode/ kernel mode transitions
 Unix common API standards (Posix,
BsD , SYS V)
 APIs and application portability
 API design practices
 Use cases and standard practices

3
Managing process address space
 Introduction to virtual address space
 Stack allocations
 Heap/Data segment management
 Memory maps
 Dynamic memory allocation & deallocation routines
 Choosing right memory allocation
mechanism
 Manipulating memory blocks
 Swapping Memory Areas
 Memory locking
 Use cases & standard practices
Linux I/O architecture
 Introduction to components of I/O
architecture
 Objectives of Linux I/O model
 Virtual file system
 File system services
 I/O cache
 Understanding file descriptors & inode
structures
File I/O operations
 Introduction to common file APIs
 Accessing file attributes
 Standard I/O operations
 File control operations(fcntl())
 Alternate File I/O models
 Huge file I/O
 Monitoring File and directory events
 Use cases
I/O operations of special files
 Handling Device Files
 Handling Pipe files
 /proc file system
 /sys file system

I/O multiplexing
 Need for Multiplexed I/O
 Standard methods
 Linux support for I/O multiplexing
 Use cases & standard practices
Signal management
 Introduction to Signals
 Linux signal types & categories
 Signal generation and delivery
 Linux signal management datastructures
 Switching signal dispositions
 Writing async signal handlers
 Using signals for process
communication
 Blocking & Unblocking signal delivery
 Use cases & standard Practices
Concurrent application designs
 Introduction to concurrent applications
 Understanding need for concurrent
apps
 Standard Concurrency models
 Comparative analysis of concurrency
models
 Use cases & standard Practices
Process creation calls
 Process creation calls (fork, vfork,
execve)
 Monitoring child process
 Linux kernel process creation routines
 Copy-on-write resources
 Handling child process termination
events
 Linux threads interface (clone)
 Use cases & standard Practices

4
Posix Threads
 Introduction to posix thread interface
 Thread creation and management
 Thread attributes
 Detecting Race conditions
 Atomic operations
 Mutual exclusions methods (mutex,
semaphores, spinlocks)
 Detecting and handling deadlock
events
 Choosing right Mutual exclusion
method
 Designing scalable critical sections
 Exploring Thread synchronization
methods (signals, condition
variables...)
 Choosing correct Thread
synchronization method
 Thread local data
 Thread cancellations & exit handlers
 Linux Native posix threading support
(NPTL)
Time keeping & Timers
 Calendar Time
 Time conversion routines
 Software time keeping
 Process time
 BSD Interval Timers for running
periodic tasks
 Accuracy of timers
 Posix clocks
 Posix interval timers
 Linux interval timer interface
 Use cases & standard practices

Inter-process communication
 Introduction to IPC subsystem
 Linux kernel IPC resources
 IPC communication resources (pipes,
msgqs., shared memory)
 IPC synchronization resources
(semaphores)
 Comparative analysis of SYSV and
POSIX IPC Implementations
 IPC kernel data structures
 Use cases & standard Practices
Network programming
 Introduction to networking
 Categories of Network Applications
 Network communication application
designs
 Understanding Protocol stacks
 Understanding TCP/IP networks
 Exploring Linux kernel network
subsystem
Linux socket abstraction layer
 Introduction to socket layer
 Overview of socket APIs
 Programming TCP/IP apps using socket
APIs
 Programming UDP/IP apps using socket
APIs
 Exploring socket data structures
 Understanding socket attributes
 Introduction to Raw sockets
 Programming apps using Raw sockets
 Alternate models for implementing
network apps
 (Without using Socket APIs)
 Use cases & standard Practices

5
Process communication with UNIX domain
sockets
 Stream sockets in Unix domain
 Datagram sockets in Unix domain
 Abstract socket namespace

Build automation tools
 Introduction to build automation
 Make tool & Makefiles
 Make syntax
 Make default rules
 Use cases

Linux Kernel Internals and Device Drivers
Linux kernel programming
 Essentials of Linux kernel architecture
 Understanding need for kernel
programming
 Kernel programming models
 Modifying kernel sources
 Kernel configuration and compilation
 Introduction to kernel modules
 Kernel modules vs. Applications
 Exploring kernel module architecture
Modules programming basics
 Building blocks of a kernel module
 Building kernel module binary
 Tools for module management
 Tracking module dependency
 Module parameters
 Kernel symbol table
 Exporting Module symbols
Kernel message logging infrastructure
 Need for kernel message logging
 Kernel message ring buffer
 Kernel message Log priorities
 Message Ring buffer management
 Accessing messages from user mode
apps
 Linux message logging daemons

Linux driver architecture
 Device Drivers defined
 Linux Driver model
 Types of Linux drivers
 Driver stacks
Synchronous driver model
 Synchronous drivers defined
 Driver registration and de-registration
 Driver file interface
 Device file operations
 Driver data structures
 Device Configuration ops
 Wait Queues & polling
 Memory mapping
 Use cases
Concurrency and Race Conditions
 UP vs. SMP Issues
 Combating Race Conditions
 Atomic Operations
 Semaphores
 Spin Locks

6
Memory allocations
 Linux kernel memory subsystem
 Memory representation data
structures
 Memory Allocators
 Allocating Boot memory
 Page Tables and Address Translation
DMA mappings
 Need for DMA
 Linux DMA mappings
 Use cases
Hardware access
 Device Addresses
 Port mapped I/O
 Interacting with port mapped devices
 Memory Mapped I/O
 Reserving address space MMIO
 MMIO Access
 Device Access side effects
 Device access from u-space

Linux net device subsystem
 Network driver model
 Types of network drivers
 Driver hands-on
Block driver subsystem
 Block device model
 ramdisk driver hands-on
PCI device drivers
 PCI basics
 Linux PCI bus stack
 PCI device access
USB






USB basics
Linux USB bus stack
USB driver classes
Interacting with USB devices from
drivers
Driver hands-on

Interrupt handling
 Understanding Interrupts
 Linux Interrupt handlers
 Implementing Driver ISR
 Need for deferred routines
 Linux Deferred Routines
 Interrupt event management
Time measurement & Delays
 Need for time measurement
 Kernel tick
 Need for delays
 Introducing delays
 Use cases

7
Embedded Linux
Introduction to embedded Linux
 Benefits of using Linux and open
source tools for embedded systems
 SOC overview
 Embedded Linux system architecture
 Software components for embedded
development

Kernel






Cross-compiler tool-chains
 Need for cross tool-chain
 Different tool-chains’ build procedures
 Using pre-build cross tool-chain
 Building our own cross tool-chain

Embedded Drivers
 Linux Driver stack for embedded
devices
Platform devices Stack
I2C stack
SPI stack
MTD stack

Machine emulator and virtualizer
 Why emulator
 Installing emulator
 Using emulator for ARM
Linux booting process
 Linux booting sequence
 Components of Linux booting
 Tweaks and changes
 Use cases
U-boot
 Introduction to u-boot
 Overview of U-boot source
 Building U-boot for target
 Booting target with U-boot
 Understanding U-boot environment
 Transferring images to target using Uboot



Supported hardware architectures
Using predefined config files
Cross-compiling the kernel for target
Understanding kernel boot arguments
Understanding NAND/NOR flash
File system for flash

File system
 Understanding Unix File system
hierarchy
 Creating file system
 Porting application
 Mounting file system as initrd
 Integrating file system and kernel
image
 Cross-compiling applications and
libraries
 Creating jffs2 file system
Flashing Images
 Flashing kernel image
 Flashing file system

301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad
Ph:040-66100265 Email: info@techveda.org
www.techveda.org
8

Weitere ähnliche Inhalte

Ähnlich wie Linux Driver and Embedded Developer Course Highlights

Visual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & VirtualisationVisual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & Virtualisationwangyuanyi
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course Ali Abdo
 
2008-09-09 IBM Interaction Conference, Red Hat Update for System z
2008-09-09 IBM Interaction Conference, Red Hat Update for System z2008-09-09 IBM Interaction Conference, Red Hat Update for System z
2008-09-09 IBM Interaction Conference, Red Hat Update for System zShawn Wells
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernelguest547d74
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Presenter manual embedded systems (specially for summer interns)
Presenter manual   embedded systems (specially for summer interns)Presenter manual   embedded systems (specially for summer interns)
Presenter manual embedded systems (specially for summer interns)XPERT INFOTECH
 
Lichtenberg bosc2010 wordseeker
Lichtenberg bosc2010 wordseekerLichtenberg bosc2010 wordseeker
Lichtenberg bosc2010 wordseekerBOSC 2010
 
Lecture 3,4 operating systems
Lecture 3,4   operating systemsLecture 3,4   operating systems
Lecture 3,4 operating systemsPradeep Kumar TS
 
Lecture 3,4 operating systems
Lecture 3,4   operating systemsLecture 3,4   operating systems
Lecture 3,4 operating systemsPradeep Kumar TS
 
linux training in Chandigarh
linux training in Chandigarhlinux training in Chandigarh
linux training in Chandigarhashish34a
 
How devops exhausts itself, and what will happen next
How devops exhausts itself, and what will happen nextHow devops exhausts itself, and what will happen next
How devops exhausts itself, and what will happen nextKirill Vechera
 

Ähnlich wie Linux Driver and Embedded Developer Course Highlights (20)

Visual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & VirtualisationVisual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & Virtualisation
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course
 
2008-09-09 IBM Interaction Conference, Red Hat Update for System z
2008-09-09 IBM Interaction Conference, Red Hat Update for System z2008-09-09 IBM Interaction Conference, Red Hat Update for System z
2008-09-09 IBM Interaction Conference, Red Hat Update for System z
 
Powering up on PowerShell - BSides Greenville 2019
Powering up on PowerShell  - BSides Greenville 2019Powering up on PowerShell  - BSides Greenville 2019
Powering up on PowerShell - BSides Greenville 2019
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
NewGenLib 3.0 Presentation
NewGenLib 3.0 PresentationNewGenLib 3.0 Presentation
NewGenLib 3.0 Presentation
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Windows 2000
Windows 2000Windows 2000
Windows 2000
 
Presenter manual embedded systems (specially for summer interns)
Presenter manual   embedded systems (specially for summer interns)Presenter manual   embedded systems (specially for summer interns)
Presenter manual embedded systems (specially for summer interns)
 
Lichtenberg bosc2010 wordseeker
Lichtenberg bosc2010 wordseekerLichtenberg bosc2010 wordseeker
Lichtenberg bosc2010 wordseeker
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
Lecture 3,4 operating systems
Lecture 3,4   operating systemsLecture 3,4   operating systems
Lecture 3,4 operating systems
 
Lecture 3,4 operating systems
Lecture 3,4   operating systemsLecture 3,4   operating systems
Lecture 3,4 operating systems
 
CH04.pdf
CH04.pdfCH04.pdf
CH04.pdf
 
linux training in Chandigarh
linux training in Chandigarhlinux training in Chandigarh
linux training in Chandigarh
 
App A
App AApp A
App A
 
Case study windows
Case study windowsCase study windows
Case study windows
 
How devops exhausts itself, and what will happen next
How devops exhausts itself, and what will happen nextHow devops exhausts itself, and what will happen next
How devops exhausts itself, and what will happen next
 

Kürzlich hochgeladen

Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 

Kürzlich hochgeladen (20)

Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 

Linux Driver and Embedded Developer Course Highlights

  • 1. Linux Driver and Embedded Developer Course Highlights  The flagship training program from Veda Solutions, successfully being conducted from the past 10 years  A comprehensive expert level course covering all aspects of system programming like Linux Programming, Kernel Programming, Embedded Linux , Network Programming, Linux Device Drivers  Most attended and recommended by working professionals (from over 100 companies and 8 nations)  From corporate trainers to over 20 major technology and embedded companies  Available in regular, full-time, weekend workshops, audio-video and online training modes 301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad Ph:040-66100265 Email: info@techveda.org www.techveda.org 1
  • 2. Who should attend?     Working professionals expecting projects/work assignments on Embedded Linux, Linux kernel programming, Device Drivers or other core system development requirements Working professionals looking to upgrade their system development skills on Linux Programmers from Windows OS platform interested to add/migrate to Linux and Embedded Systems Microcontroller based embedded developers who are willing to upgrade their skills and enhance their career positions Course pre-requisites   Proficiency in C programming Knowledge of basic Linux commands What you will learn?     Linux programming essentials, for understanding the key Linux; issues, concepts and finer nuances of programming to get a proper grounding before getting deeper into core system development Linux Kernel Programming and Internals for getting a complete grip on core OS concepts and module programming Linux Device Drivers and Embedded Drivers enabling you to start writing Driver programs for embedded and GPOS targets Practical Embedded Linux enablement skills for any target hardware like ARM and so on. Course Duration   Regular mode – 3 months (1.5 hrs. per day, five days a week) Also available in Full time, Weekend Workshops, Audio-Video and Online mode (refer website/counselor for details) Why Veda Solutions?      Most recommended training organization by working professionals 10 years of training experience in Embedded Linux and Linux system programming Delivered corporate training to over 20 technology majors including Sasken, NCR, UTCFS, Xilinx and so on First institute in Asia to start online courses on Linux Kernel, Device Drivers and Embedded Linux Participants from over 8 nations and 100 companies 2
  • 3. Course Contents This course is divided into three logical modules to enable easy and effective understanding of the entire course Linux Programming Essentials Gnu compiler distribution Process management  Understanding compile & build process  Introduction to program loading  Tool chain  Process, defined  Object file analysis  Understanding process address space.  Executable Images  Kernel process descriptor.  Binary Portability  Accessing kernel process descriptor information Exploring object files  Introduction to Linux Process scheduler  Need for understanding object files  Scheduling policies & priorities  Introduction to the Binary File Formats  Process scheduling for multi/many (ELF, COFF, XCOFF). core systems  Understanding ELF file format  Process affinity  Inspecting object files  Linux process privileges  Extracting sections from object files  Introduction to process resource limits  Converting executable to other  Use cases & standard practices formats (srec, ihex, binary)  Use cases Stack Analysis  Introduction to stack Exploring Linkers and Build process  Understanding how stack grows and  Build process defined shrinks  Role of Build scripts in build process  Understanding how function  Build script syntax parameters are passed.  Need to modify Build scripts  Understanding how stack frames are  Use cases & standard practices created and destroyed. Libraries  Introduction to libraries  Creating Static Libraries  Creating Shared Libraries  Using Libraries  Managing dynamic libraries  Use cases & standard practices Application prg. Interfaces (API)  Understanding need of Api  API vs system calls  User mode/ kernel mode transitions  Unix common API standards (Posix, BsD , SYS V)  APIs and application portability  API design practices  Use cases and standard practices 3
  • 4. Managing process address space  Introduction to virtual address space  Stack allocations  Heap/Data segment management  Memory maps  Dynamic memory allocation & deallocation routines  Choosing right memory allocation mechanism  Manipulating memory blocks  Swapping Memory Areas  Memory locking  Use cases & standard practices Linux I/O architecture  Introduction to components of I/O architecture  Objectives of Linux I/O model  Virtual file system  File system services  I/O cache  Understanding file descriptors & inode structures File I/O operations  Introduction to common file APIs  Accessing file attributes  Standard I/O operations  File control operations(fcntl())  Alternate File I/O models  Huge file I/O  Monitoring File and directory events  Use cases I/O operations of special files  Handling Device Files  Handling Pipe files  /proc file system  /sys file system I/O multiplexing  Need for Multiplexed I/O  Standard methods  Linux support for I/O multiplexing  Use cases & standard practices Signal management  Introduction to Signals  Linux signal types & categories  Signal generation and delivery  Linux signal management datastructures  Switching signal dispositions  Writing async signal handlers  Using signals for process communication  Blocking & Unblocking signal delivery  Use cases & standard Practices Concurrent application designs  Introduction to concurrent applications  Understanding need for concurrent apps  Standard Concurrency models  Comparative analysis of concurrency models  Use cases & standard Practices Process creation calls  Process creation calls (fork, vfork, execve)  Monitoring child process  Linux kernel process creation routines  Copy-on-write resources  Handling child process termination events  Linux threads interface (clone)  Use cases & standard Practices 4
  • 5. Posix Threads  Introduction to posix thread interface  Thread creation and management  Thread attributes  Detecting Race conditions  Atomic operations  Mutual exclusions methods (mutex, semaphores, spinlocks)  Detecting and handling deadlock events  Choosing right Mutual exclusion method  Designing scalable critical sections  Exploring Thread synchronization methods (signals, condition variables...)  Choosing correct Thread synchronization method  Thread local data  Thread cancellations & exit handlers  Linux Native posix threading support (NPTL) Time keeping & Timers  Calendar Time  Time conversion routines  Software time keeping  Process time  BSD Interval Timers for running periodic tasks  Accuracy of timers  Posix clocks  Posix interval timers  Linux interval timer interface  Use cases & standard practices Inter-process communication  Introduction to IPC subsystem  Linux kernel IPC resources  IPC communication resources (pipes, msgqs., shared memory)  IPC synchronization resources (semaphores)  Comparative analysis of SYSV and POSIX IPC Implementations  IPC kernel data structures  Use cases & standard Practices Network programming  Introduction to networking  Categories of Network Applications  Network communication application designs  Understanding Protocol stacks  Understanding TCP/IP networks  Exploring Linux kernel network subsystem Linux socket abstraction layer  Introduction to socket layer  Overview of socket APIs  Programming TCP/IP apps using socket APIs  Programming UDP/IP apps using socket APIs  Exploring socket data structures  Understanding socket attributes  Introduction to Raw sockets  Programming apps using Raw sockets  Alternate models for implementing network apps  (Without using Socket APIs)  Use cases & standard Practices 5
  • 6. Process communication with UNIX domain sockets  Stream sockets in Unix domain  Datagram sockets in Unix domain  Abstract socket namespace Build automation tools  Introduction to build automation  Make tool & Makefiles  Make syntax  Make default rules  Use cases Linux Kernel Internals and Device Drivers Linux kernel programming  Essentials of Linux kernel architecture  Understanding need for kernel programming  Kernel programming models  Modifying kernel sources  Kernel configuration and compilation  Introduction to kernel modules  Kernel modules vs. Applications  Exploring kernel module architecture Modules programming basics  Building blocks of a kernel module  Building kernel module binary  Tools for module management  Tracking module dependency  Module parameters  Kernel symbol table  Exporting Module symbols Kernel message logging infrastructure  Need for kernel message logging  Kernel message ring buffer  Kernel message Log priorities  Message Ring buffer management  Accessing messages from user mode apps  Linux message logging daemons Linux driver architecture  Device Drivers defined  Linux Driver model  Types of Linux drivers  Driver stacks Synchronous driver model  Synchronous drivers defined  Driver registration and de-registration  Driver file interface  Device file operations  Driver data structures  Device Configuration ops  Wait Queues & polling  Memory mapping  Use cases Concurrency and Race Conditions  UP vs. SMP Issues  Combating Race Conditions  Atomic Operations  Semaphores  Spin Locks 6
  • 7. Memory allocations  Linux kernel memory subsystem  Memory representation data structures  Memory Allocators  Allocating Boot memory  Page Tables and Address Translation DMA mappings  Need for DMA  Linux DMA mappings  Use cases Hardware access  Device Addresses  Port mapped I/O  Interacting with port mapped devices  Memory Mapped I/O  Reserving address space MMIO  MMIO Access  Device Access side effects  Device access from u-space Linux net device subsystem  Network driver model  Types of network drivers  Driver hands-on Block driver subsystem  Block device model  ramdisk driver hands-on PCI device drivers  PCI basics  Linux PCI bus stack  PCI device access USB      USB basics Linux USB bus stack USB driver classes Interacting with USB devices from drivers Driver hands-on Interrupt handling  Understanding Interrupts  Linux Interrupt handlers  Implementing Driver ISR  Need for deferred routines  Linux Deferred Routines  Interrupt event management Time measurement & Delays  Need for time measurement  Kernel tick  Need for delays  Introducing delays  Use cases 7
  • 8. Embedded Linux Introduction to embedded Linux  Benefits of using Linux and open source tools for embedded systems  SOC overview  Embedded Linux system architecture  Software components for embedded development Kernel      Cross-compiler tool-chains  Need for cross tool-chain  Different tool-chains’ build procedures  Using pre-build cross tool-chain  Building our own cross tool-chain Embedded Drivers  Linux Driver stack for embedded devices Platform devices Stack I2C stack SPI stack MTD stack Machine emulator and virtualizer  Why emulator  Installing emulator  Using emulator for ARM Linux booting process  Linux booting sequence  Components of Linux booting  Tweaks and changes  Use cases U-boot  Introduction to u-boot  Overview of U-boot source  Building U-boot for target  Booting target with U-boot  Understanding U-boot environment  Transferring images to target using Uboot  Supported hardware architectures Using predefined config files Cross-compiling the kernel for target Understanding kernel boot arguments Understanding NAND/NOR flash File system for flash File system  Understanding Unix File system hierarchy  Creating file system  Porting application  Mounting file system as initrd  Integrating file system and kernel image  Cross-compiling applications and libraries  Creating jffs2 file system Flashing Images  Flashing kernel image  Flashing file system 301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad Ph:040-66100265 Email: info@techveda.org www.techveda.org 8