Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Peek into linux_device_driver_kit


Published on

Emertxe's presentation in Open Source India 2014 about an innovative self-learning kit we have created. Linux device drivers is often perceived as a difficult topic, that prevents students, enthusiasts and professionals from learning it. This presentation talks about various features (Board, SDK and sample code) of the kit.

Published in: Technology
  • Be the first to comment

Peek into linux_device_driver_kit

  1. 1. A peek into Linux Device Driver KitOSI Days –2014November 7 & 8, NIMHANS, Bengaluru
  2. 2. Topics  Brief Introduction  Motivation & Challenges  Overview of the kit  Areas to explore  Conclusion
  3. 3. Brief Introduction
  4. 4. About Us  Emertxe is India’s one of the top IT finishing schools & self learning kits provider. Our primary focus is on Embedded with diversification focus on IT applications.  Our IT finishing school providers training programs for corporate, professionals and students in the following areas: o Embedded Systems (Beginners) o Advanced Linux workshops (Professionals) o IT Applications (Java, Android, Oracle)  Our product division works on IoT based solutions with major focus in Embedded aspect by focusing on the following areas: o Hardware design o Product engineering, integration and solutions o Linux porting and tuning o Embedded application development
  5. 5. Our vision Two fold “Vision” Education Contribute to “industry-academia” gap Solutions Build solutions to solve “common-problems” “Make life easier”
  6. 6. Motivation & Challenges
  7. 7. Motivation Diverse Hardware (Customisations, Multiple-vendor, Optimisation) Lack of resources (Formal courses, documentation, support) Setup and installation (SDKs, tool-chain, configuration) Too geeky! (Fear of getting bullied)
  8. 8. Practical challenges Hard to learn (Professionals, Enthusiasts, Students) No special devices (Most of them are fits-for-all) Enriched learning (Character, Block, multi-peripherals) Higher entry barrier (Giving up!)
  9. 9. Some questions!  Which driver should I work on to begin with?  Can I see some sample drivers?  I do not have specific hardware, where I can find one?  Can I write char, block drivers. What about interrupts?  I would like to implement USB, SCSI, Serial and Audio drivers. How to? Well a lot of can's, but we have something for you!
  10. 10. Overview of LDD Kit
  11. 11. Overview of LDD kit • Dedicated board • Rich peripheral support • On-board DFU interface for upgrading • Can act as a normal MC device as well Hardware • Currently supports Ubuntu distributions • Completely based on Open source • Firmware stack based on LUFA • AVR-GCC compiler SDK • Well documented setup & quick start guide • Sample device driver code • Test harness for validation and debugging Get “hands-dirty”
  12. 12. How it looks?
  13. 13. Hardware specifications  Atmel AT90USB162  2×16 Character LCD  RS232  8 LEDs  4 User Inputs  4 Seven Segment Displays
  14. 14. Hardware specifications  USB Powered  Audio Output Interface  SD (MMC) Card Support (Using SPI Interface)  8 GPIO Header  DFU Programmable (on-board)
  15. 15. Block diagram USB Host Controller Host Controller Driver USB Core Device Driver-2 System Call Interface User Application Kernel LDD kit Users Device Driver-1 Device Driver-3
  16. 16. What you can create? RS232 interface (i/p and o/p) Interrupt handling (switches) I/O control Timers (LED control) Synchronization mechanisms SD/MMC Card driver SCSI Implementation USB Protocol SCSI over USB Simple drivers for LED, SSD, LCD USB to Serial converter Mass storage driver USB Audio Input drivers Character Block USB
  17. 17. Summary  Learning Linux device driver development is challenging  Our LDD kit tries to solve challenges by:  Having a dedicated hardware with very rich in peripherals  Larger problem of software is resolved by well documented & supported SDK  Having sample source code & self-learning stuff  By having whole ecosystem built with open source  With this we believe:  To make the learning easier  Contribute and make a difference to students, professionals and enthusiasts  Provide practical real-time learning experience
  18. 18. Stay connected Mubeen Jukaku: Emertxe Information Technologies, No-1, 9th Cross, 5th Main, Jayamahal Extension, Bangalore, Karnataka 560046 T: +91 80 6562 9666
  19. 19. THANK YOU