https://cdn.explara.com/public/v_10.0/internal-flow/img/event-landing/default_header_img.png

Embedded Linux Device Interfacing, Workshop

34+ Attendees

Jul 1, 2017 - Jul 2, 2017
09:00 AM - 04:00 PM
Innoart Technologies Private Limited, 116,Pasumpon Muthuramalinga Thevar Road Nandanam Extension,Nandanam
Chennai,India

This event has ended. Please contact organizer for more details.

Report Issues

Today, Linux runs on a variety of devices, from smartphones to infotainment systems to refrigerators. It is the most popular general purpose operating system, on the planet, used in embedded systems.

The objective of the workshop is to help developers understand how various sensors and actuators are accessed and controlled from a Linux based embedded system. We hope this increased understanding of the system, will lead to a better design, cleaner implementation, faster debugging, finally resulting in a better quality product.

Target Audience

Firmware Developers

With more and more embedded systems becoming connected and IoT enabled, they are being migrated to Linux based systems. Engineers need to adapt themselves to these emerging technologies.

This workshop will help firmware developers understand Linux driver architecture and how application code can access devices through the driver interface.

Application Developers

Embedded Systems are no longer restricted to firmware developers. With Linux being used in many embedded systems, Java and Python developers can also build useful products using these systems.

This workshop will help application developers learn how to interface with the sensors and actuators using interfaces like Serial, I2C, GPIO, PWM and ADC, from a high level language like Python.

Trainers

Pre-Requisites

  • Should be familiar with the Linux command-line.
  • Should be familiar with at-least one programming language.

Hardware and Software Requirements

  1. Participants are required to bring their own laptop, with at-least two free USB ports.
  2. Supported operating systems: Windows / Linux / Mac OS X.
  3. Should have the following software installed:
    1. putty >= 0.62
    2. python (with IDLE) >= 3.5.2

Powered By


Day 1

TimeSession
9:00Setup
9:15
Introduction to Python
11:15Tea Break
11:30Introduction to OOP
12:30Modules, File IO
1:00Lunch Break
2:00Embedded Linux Introduction
3:00
Device Interfacing
4:00Tea Break
4:30
Introduction to Drivers
6:00
End of Day 1

Day 2

TimeSession
9:00Serial Interface
9:30
I2C Interface
10:30Sysfs
11:00Tea Break
11:30
GPIOs
12:00
PWM Interface
1:00Lunch Break
2:00
ADC Interface
2:45
Q&A + Feedback
3:45
End of Day 2

Python

Python Basics

  • Data Types
  • Variables & Dynamic Typing
  • Defining Functions
  • Control Statements

Introduction to OOP

  • Need for OOP
  • Defining Classes
  • The __init__ method
  • self argument
  • Lists and Strings

Modules & File IO

  • Creating Modules
  • Using Modules
  • Importing Styles
  • File IO

Embedded Linux

Embedded Linux Introduction

  • Why Embedded Linux
  • Hardware Components
  • Development Setup
  • Accessing the Target

Device Interfacing

  • Memory Interfacing
  • Address Decoding
  • Memory Mapped IO
  • Controller Based IO

Introduction to Drivers

  • Linux Device Abstraction
  • Device Files
  • Types of Drivers
  • Mouse Device Access
  • Audio Device File
  • Sound Mixer Device
  • CD ROM Device

Serial Interface

  • UART
  • RS-232
  • Python Serial Port Access

I2C Interface

  • On-board Interconnects
  • I2C Protocol
  • I2C Device Access

SysFS Introduction

  • Purpose of SysFS
  • /sys/class hierarchy

GPIO

  • Introduction
  • Sysfs Interface
  • HID Devices
  • LEDs and Keys

PWM

  • PWM Signals
  • Sysfs Interface
  • DC Motors
  • Speed Control

Analog IO

  • Analog Inputs
  • Sysfs Interface
  • Light Sensor
  • Potentiometer

Review

Organiser : Vijay Kumar B

Embedded Linux Device Interfacing, Workshop

Ask Organiser

Report spam or issues