Archive for the ‘Courses’ Category

Upcoming Training Programs with Schedules

Wednesday, February 5th, 2014


Dear Programming Professionals

If you are yet to enroll for our professional training programs then please choose the program which best suits your convenience. If you have already done a program with us, we sincerely request you to recommend our training programs to your friends/colleagues.

Classroom Training Program



Next Batch & Time

Delivery Mode

Linux Driver & Embedded Developer

3 months

3rd March – 7:15pm to 8:40pm


GNU C Programming

1 month

March 10th – 7:15am to 8:40am & 5:00pm to 6:30pm


One-on-One Mentoring with Raghu Bharadwaj

6 month

March 3rd – 10:00am to 5:30pm



Weekend Workshops (Fast Track)



Next Batch & Time


Linux System and Kernel Programming (2 parts)

Spread over 2 weekends

Part 1– Feb. 14(6:30pm to 8:30pm),15 & 16(9:30am – 5:30pm). Part 2– Feb. 21,22,23 (9:30am – 5:30pm)


Linux System and Kernel Programming (2 parts)

Spread over 2 weekends

Part 1– March 21(6:30pm to 8:30pm),22 & 23(9:30am – 5:30pm).Part 2– March 28,29,30 (9:30am – 5:30pm)


Kernel Programming & Embedded Linux

Spread over 2 weekends

March 8,9,15,16 (9:30am – 5:30pm)


For any specific information please do write back to us at

Thanks and awaiting your help,

Sajith Kumar


Next Linux Driver & Embd Course starts..

Monday, January 21st, 2013

Dear Linux enthusiast

Next batch of  “Linux Drivers and Embedded Developer with Android” will commence from 28th Jan. at 7:15pm to 8:40pm.


  • Completely reworked Embedded Linux/ Drivers courseware
  • More sessions on Linux Programming Essentials
  • Network Programming added to the course
  • Android porting sessions

Complete course details here 

Invitation for demo

We invite your presence for this course. You can attend the first 3 days of this course for FREE. Your valuable feedback will be really helpful for us. You can pass this invitation on behalf of Veda Solutions to your interested friends.


Veda Solutions, 3rd floor, Dhananjaya Chambers, Saradhi Studio Lane, Ameerpet, Hyderabad.

Special Discount on early admission

Participants enrolling on or before 25th Jan. will get a fee discount of Rs.2000/-


Thanks and Keep learning

Team Veda

Warm welcome to New Year 2013

Monday, December 31st, 2012

 Wishing you all a very happy new year 2013

This is not a clichéd new-year statement where we say that the coming year is going to be a whole lot different and exciting, but this statement will surely prove to be true as the days pass by in 2013. There are three crucial and celebratory occasions which fall in 2013 for Veda Solutions, its patrons and to you, and this definitely makes 2013 a terrific year for all of us. But before I elaborate on what those events are I would like to fall back on 2012 before signing off from its calendar.

First let us thank you big time for all the support and help that you extended to us, be it direct course participation, referring your friends to enroll for our courses, word of mouth marketing for us, enrolling for our on-line course from across the globe. We are extremely obliged for your support and participation. And to simply and best put your support we would like to say that ‘without you we do not exist’.

Retrospection 2012

  • We started the first full-time personalized mentoring program for fresh engineers in India. This is a comprehensive 4 month industry readiness course in Embedded Linux and related areas.
  • We have expanded our team strength by including some of our alumnus and industry experts to delivery new, latest and highly improved courses in 2013
  • We have added Android system software porting as part of our in “Linux Drivers and Embedded Developer” course
  • Major updates to our flagship training program  “Linux Drivers and Embedded Developers” Course
  • We have added  5 new corporate clients to our clientèle

Great things lined up for you in 2013

Veda Solutions will officially be 10 years old in ’13 though we started in 2001 as an unorganized group. So 2013 will be marked with as our 10th anniversary year. We are also very proud to say that our flagship program “Linux Driver and Embedded Developer” is being conducted continuously right from 2003 to this date without any breaks. When we started this course in 2003 it was first of its kind available in Hyderabad and to carry this for so many years is truly a testimony of its acceptance and importance by the scores of professionals and system programming enthusiasts across India. So 10 years is a pretty long time and ’13 will be really special for us and for you as well.

Launching “Embedded Linux Platform Developer” in Feb. ’13, again a first of its kind course with comprehensive coverage on target board bring up, Embedded Linux porting, Linux kernel BSP and Embedded Linux Device Driver Development, UBoot customization etc.

This year (2013) we are committed to raise the bar once again, we will shortly be announcing a new Training model (again first of its kind) targeted to help participants interested to start their careers as System Programmers or Embedded Linux Developers. These courses will target areas which are fundamental and important building blocks for making serious inroads into Embedded Systems and Linux System Programming. Details of these courses and admissions will be updated shortly in the website.

All these makes 2013 really special for all of us and we assure you to make more inroads to deliver the best possible trainings to all those who are interested.

Expecting your support always


Anouncement( New course): Embedded Linux platform developer

Friday, November 16th, 2012

Veda Solutions in its quest to address the rapidly growing demand for highly trained core Embedded Software Engineers has taken a step further by developing a core embedded engineering course on Linux platform. Through this programme we are sure to take our participants to the next level of embedded software development which has never been addressed by the software training community till now.

You can find the course details below. You can call us at 9885808505 for more information and admission details


Embedded Linux Platform Developer

Course description
Advanced training program on Embedded Linux platform development with comprehensive coverage on target board bring up, Embedded Linux porting, Linux kernel BSP and Embedded Linux Device Driver Development

Course Highlights

  • Detailed analysis of modern embedded hardware architectures  and board bring up strategies
  • In depth understanding of  open source boot loader “uboot”
  • Hands on sessions on uboot customization  for new targets
  • Hands on sessions on Embedded Linux porting strategies
  • Analysis and detailed walkthrough of Embedded Linux board support code
  • In depth coverage on embedded Linux driver stacks and driver implementations  (I2C,SPI,GPIO)
  • Analysis and walkthrough of Embedded Linux video and audio driver stacks
  • Hands on sessions on multi-media application porting

Who should attend
Developers looking to master or expecting assignments/projects in the following core areas:

  • Embedded Linux Porting
  • Linux BSP development
  • U-Boot Customization
  • Embedded Linux Driver Development
  • Android System Development


  • GNU C programmers looking to master Embedded Linux, BSP and Embedded Device Driver Development
  • Experienced developers looking for a refresher course on Linux BSP and Embedded Device Driver Development.

Course Prerequisites

  • Good programming skills using GNU C
  • Application programming experience on Linux platform
  • Linux kernel programming basicsOR


  • Participants who have undergone “Linux Kernel and Driver Developer” course from Veda Solutions


Course Agenda:

Part1: Embedded Hardware
1. Understanding Embedded Systems

  • Embedded systems landscape
  • Attributes of Embedded Systems
  • Trends in Embedded technology
  • Embedded Platform Architecture
  • Embedded Processor Architecture
  • Microcontroller, microprocessors and SOC


2. Understanding Embedded Boot sequence

  • Boot technology considerations
  • Role of Bootstrap Processor
  • Boot components
  • Hardware Power sequences
  • RESET vectors
  • CPU initialization
  • Device Initialization
  • Boot device selection


3. Understanding ARM Architecture

  • Introduction to ARM architecture
  • Processor modes
  • ARM Registers
  • ARM Endian Support
  • ARM Instruction Set
  • Addressing modes
  • The System Control Processor


4. Embedded Target boards (ARM Soc based)

  • Understanding Target board schematic
  • Interpreting Target board manuals/data sheets
  • Identifying key components on Target board
  • Identifying various Device interfaces
  • Understanding Memory maps


Part2:Platform BSP
1. Embedded Board Support packages

  • Introduction to BSP
  • BSP design considerations
  • Various stages in Board Support Code


2. Working with components of BSP

  • Introduction to BootROM
  • BootROM design
  • BootROM design considerations
  • BootROM code
  • BootROM executions trace
  • Memory organization
  • Introduction to FSBL
  • FSBL functionalities
  • FSBL design standards
  • Getting hands on with FSBL (case study)
  • Build & Running FSBL
  • FSBL Call Graph
  • Introduction to SSBL
  • Types of SSBL
  • SSBL as primary bootloader
3. Uboot

  • Introduction to U-Boot
  • Key Features
  • Supported Platforms & Processors
  • Supported Boot modes


4. U-Boot source walk-through

  • uboot source tree layout
  • Memory organization
  • Memory relocation
  • Stack setup
  • Important Misc’s


5. Uboot build and setup 

  • Build structure
  • Building U-Boot for emulator
  • Building U-Boot for physical target
  • Creating flash partitions
  • Environment variables
  • Commands
  • U-Boot call graph


6. Customizing Uboot for new targets

  • U-Boot source tree in detail
  • Porting/upgrading u-boot
  • Coding guidelines
  • Customizing configuration files
  • Target specific modifications
  • Customizing/adding drivers
  • Customizing/adding new commands
  • U-Boot scripts
  • Hosting Apps on U-Boot


Part3: Embedded Linux & Application Porting
1. Embedded Linux overview

  • Linux as an Embedded Operating system
  • Linux  and open source Ecosystem for Embedded Devices
  • Linux kernel facilities for Embedded Devices
  • Understanding Linux system Boot Process
  • Introduction to Linux system components


2. Cross-compiler tool-chains

  • Need for cross tool-chain
  • Different tool-chains’ build procedures
  • Using pre-build cross tool-chain
  • Building cross tool-chain using cross tooling
  • Using Scratch box


3. Building kernel Image

  • Kernel Source tree organization
  • Introduction to kernel Build system
  • Understanding Kconfig and Make scripts
  • Kernel configuration for target
  • Cross compiling kernel source
  • Linker scripts
  • Build analysis
  • kernel parameters


4. Upgrading/Porting kernel to specific target

  • Prerequisites
  • Generic procedure
  • Kconfig language and Makefile
  • Module by module porting


5. Linux File Systems for Embedded Storage

  • Need for flash file systems
  • Linux File system support for Flash memory
  • Understanding jffs2 file system
  • Enabling kernel support for jffs2
  • Understanding UBI file system
  • Enabling kernel support for UBIFS
  • Understanding Cramfs
  • Enabling kernel support for Cramfs
  • Understanding SquashFS
  • Kernel support for SquashFS
  • Understanding YAFFS2
  • Kernel support for YAFFS2


6. Root File system

  • Understanding Linux Init process
  • Need of root file system
  • Understanding Unix File system hierarchy
  • Choosing root file system Layout
  • startup scripts
  • choosing system binaries and utilities
  • Cross-compiling and hosting Apps
  • Populating device nodes
  • Need for log daemons
  • Setting up log daemons
  • Building fs image


7. Deploying & Testing Linux system on target

  • Flashing U-boot to target
  • Booting Linux kernel from DDR
  • Flashing kernel image to target
  • Deploying RFS through initrd(ramdisk)
  • Deploying RFS through initramfs
  • Deploying RFS through NFS
  • Flashing root file system to target
  • Kernel boot from NOR flash
  • Kernel boot from NAND flashes
  • kernel boot from SD/MMC
  • kernel boot from Serial flashes


8. Network services and utilities

  • nfs
  • Telnet
  • Ssh
  • Dhcp
  • Snmp
  • http


9. Graphical interface frameworks

  • Fltk
  • Nano-x
  • Gtk
  • WxEmbedded
  • Qt for Embedded


10. Porting multimedia Apps

  • Audio Apps
  • Video Apps
  • Direct media layer
  • DirectFB
  • Video for Linux
  • Digital video broadcasting
Part4: Embedded Linux BSP
1. Linux BSP basics

  • Linux BSP components
  • Platform Devices
  • Understanding timers
  • Understanding interrupts
  • Understanding clocks
  • Understanding power management
  • Understanding memory map
  • Understanding interrupts
  • Understanding GPIO


2. Hardware Clocks

  • Introduction to clocks
  • Clock types and significance
  • Linux clock management framework
  • using clock interfaces in drivers


3. Power Management

  • Introduction to power management
  • Device power management and significance
  • Linux power management framework
  • using power API’s in drivers


4. Device Tree (FDT)

  • Introduction to Device tree
  • Device Tree Script (dts)
  • Device Tree compiler(dtc)
  • Device Tree Blob (dtb)
  • Booting Linux with device tree
  • Device tree and drivers


Part5: Embedded Linux Device Drivers
1. Linux device driver model

  • Introduction to device driver model
  • Design objectives
  • hotplug drivers
  • sysfs filesystem
  • procfs filesystem
  • debugfs filesystem


2. Linux device drivers

  • Overview of Linux device drivers
  • Categories of Linux device drivers


3. Handling Platform devices

  • Linux platform driver stack
  • Platform devices Enumeration
  • hands on with platform drivers
4. RTC

  • Basic RTC operation
  • Linux RTC subsystem
  • Implementing RTC driver


5. Watchdog

  • Basic watchdog operation
  • Linux watchdog subsystem
  • Implementing watchdog driver


6. UART controller

  • UART introduction
  • Linux UART stack
  • Implementing UART driver


7. Console Devices

  • Introduction to console
  • Need for console dev
  • writing Console Driver


8. Handling i2c interface

  • Introduction to i2c
  • i2c protocol
  • Linux i2c driver stack
  • i2c adapter driver
  • i2c bus manager
  • i2c client drivers


9. Handling SPI interface

  • Introduction to SPI Bus
  • SPI protocols
  • Linux SPI subsystem
  • SPI drivers


10. Handling GPIO

  • Introduction to GPIO
  • Linux GPIO management
  • Accessing GPIO interfaces


11. Handling Input devices

  • Introduction to input devices
  • Linux Input subsystem
  • Implementing input drivers (Keypad, mouse, Touch screen)


12. USB

  • USB protocol introduction
  • Linux USB subsystem
  • Linux USB OTG subsystem
  • Implementing USB driver for Mass storage protocol


13. SD/MMC

  • SD/MMC protocol introduction
  • Linux SD/MMC subsystem
  • Implementing SD/MMC driver


14. NAND

  • Introduction to MTD devices
  • Linux MTD Subsystem
  • NAND device introduction
  • Implementing NAND driver


15. Ethernet

  • Network protocols introduction
  • Introduction  to ethernet
  • Implementing ethernet driver


16. Audio Devices

  • Basic audio operation
  • Audio codec’s introduction
  • Linux Audio Subsystem
  • Implementing  audio drivers


17. Display/LCD

  • Basic display operation
  • Linux Display Subsystem
  • Implementing display drivers


18. Frame buffer and Video Devices

  • Introduction to Linux Video Subsystem
  • Analysis of Frame Buffer Driver


Part6: Debugging Tool
1. User space tools

  • GDB, gdb server
  • Valgrind


2. Kernel space tools

  • Printk
  • Kernel OOPS
  • KDB
  • KGDB


3. Boot time measurement tools

  • Grabserial
  • Bootchart


Part7: Open Source Development
1. Open Source Contribution

  • importance/Benefits of open source contributions
  • Open Source project management Practices
  • Development tools required


2. Source control tools (GIT)

  • Overview of GIT
  • Useful git commands
  • Open source projects hosted under Git


3. using GIT

  • How to clone an existing git tree
  • How to create your own working branch in existing git tree
  • How to create patches against the reference tree
  • Review of few useful commands


4. Merging GIT trees

  • How to upgrade your source tree in sync with mainline tree version
  • How GIT tree merging works
  • How to merge the mainline tree changes into your internal tree
  • How to merge BSP into mainline


4. contributing patches

  • How to send your own patches to mainline GIT tree
  • Precautions, while sending patches to mainline
  • other important open source contribution tips


——————————- END ——————–

For further details please contact : 9885808505 or write to


Friday, November 2nd, 2012

Major updates to “Linux Driver and Embedded Developer”

we are happy to announce major updates to our flagship training course “Linux Driver and Embedded Developer”

1.       sessions on Android platform Development

2.       Fully Revised Device Drivers and Embedded Linux Modules

3.       Further readings (includes additional reading material for deeper understanding on select topics)

4.       Fully revised Course-ware

5.       Weekend hands on interactive lab exercise sessions  (Saturday, Sunday labs- keeping in mind the needs of working professionals)

6.       Fortnightly review tests with faculty assessment

7.       Hassle free audio video playback support for missed classes

We thank all participants for continued support and  important suggestions  and feedback. Please continue to send us suggestions and feedbacks. for more details visit