Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Device Drivers Witawas Srisa-an Embedded Systems Design and Implementation.
Android architecture overview
Android Platform Overview (1)
Google's android as an application environment for DTV decoder system Consumer Electronics (ISCE), 2010 IEEE 14th International Symposium on, 7-10 June.
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Performed by: Gadit Ben-Habib Dan Porat Instructor: Inna Rivkin המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory.
1 Student: Khinich Fanny Instructor: Fiksman Evgeny המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי לישראל.
1 Students: Lin Ilia Khinich Fanny Instructor: Fiksman Evgeny המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
Chapter 13 Embedded Systems
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer.
Device Driver for Generic ASC Module - Project Presentation - By: Yigal Korman Erez Fuchs Instructor: Evgeny Fiksman Sponsored by: High Speed Digital Systems.
Embedded systems Lecture 25 February 2015.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11 Date: Technion – Israel Institute of Technology Faculty of Electrical Engineering High Speed.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Android Introduction Platform Overview.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
GBT Interface Card for a Linux Computer Carson Teale 1.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
NIOS II Ethernet Communication Final Presentation
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Performed by: Nadav Haklai Noam Rabinovici Instructor: Mike Sumszyk Spring Semester 2010 המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Performed by: Eliran Cohen & Michael Rapoport Instructor: Ina Rivkin המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון.
Ethernet Bomber Ethernet Packet Generator for network analysis
Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012.
Performed by: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון.
Students: Avi Urman Kobi Maltinsky Supervisor: Rivkin Ina Semester: Spring 2012.
Final Presentation Hardware DLL Real Time Partial Reconfiguration Management of FPGA by OS Submitters:Alon ReznikAnton Vainer Supervisors:Ina RivkinOz.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Performed by: Yotam Platner & Merav Natanson Instructor: Guy Revach המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון.
Design with Vivado IP Integrator
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
System on a Programmable Chip (System on a Reprogrammable Chip)
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Computer System Structures
cFS Platforms OSAL and PSP
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Android Mobile Application Development
Architecture of Android
chapter 6- Android Introduction
ENG3050 Embedded Reconfigurable Computing Systems
CMPE419 Mobile Application Development
Application Development A Tutorial Driven Course
Android Developer Fundamentals V2
Implementation of a GNSS Space Receiver on a Zynq
Korea Software HRD Center
Android Platform, Android App Basic Components
CMPE419 Mobile Application Development
System View Inc..
Presentation transcript:

Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High Speed Digital Systems Lab. Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013

Programmable Logic Peripherals Controllers Core 1 : A9 ARM Core 0 : A9 ARM AXI4 BUS Software application Processing System running Android Hardware accelerator Standard SOPC approach The Hardware is constant The user can only switch between application Task specific - Software Standard SOPC approach The Hardware is constant The user can only switch between application Task specific - Software 2

Partial dynamic hardware reconfiguration by OS (Android) Hardware system dynamically changed & adapted to a specific application. The hardware change is done at runtime by application & OS Programmable Logic Peripherals Controllers Core 1 : A9 ARM Core 0 : A9 ARM AXI4 BUS Processing System running Android Custom IP Hardware Acceleratior #1 Application #1 Custom IP Hardware Acceleratior #2 Application #2 New approach The user controls the software and the hardware Task specific - Software & Hardware New approach The user controls the software and the hardware Task specific - Software & Hardware 3

for(i = 0; i < height, i++){ for(j=0; j < width; j++){ x_dir = 0; y_dir = 0; if((i > 0 && (i 0) && (j < (width-1))){ for(rowOffset = -1; rowOffset <= 1; rowOffset++){ for(colOffset = -1; colOffset <=1; colOffset++){ x_dir = x_dir + input_image[i+rowOffset][j+colOffset]* Gx[1+rowOffset][1+colOffset]; y_dir = y_dir + input_image[i+rowOffset][j+colOffset]* Gy[1+rowOffset][1+colOffset]; } edge_weight = ABS(x_dir) + ABS(y_dir); output_image[i][j] = edge_weight; } 4

Sobel Filter 5

6

Programmable Logic Peripherals Controllers Core 1 : A9 ARM Core 0 : A9 ARM AXI4 BUS Sobel Software application Processing System running Android Sobel Hardware module 7

8

9

Processing System Programmable Logic LogicBricks HDMI Controller Custom IP Core 1 : A9 ARM Core 0 : A9 ARM USB 0 AXI 4 HDMI FMC UART 10

Processing System Programming Logic Linux Kernel Zynq ZC-702 Xylon GPU Driver Xylon Hardware ARM CPU0 The Xilinx ZC-702 Board for Zynq-7000 have the ability to run Android OS on it. Android porting supplied by Iviea FMC Touch screen controller supplied by Xylon. Android relies on Linux kernel 2.6. Hardware accelerator drivers are implemented by loadable kernel modules. Drivers interact with hardware by memory- mapped IO. Android apps communicates with hardware by System services. System service represents an Hardware abstraction layer between the App and the kernel driver 11

Processing System Programming Logic Linux Kernel Zynq ZC-702 Xylon GPU Driver Custom IP Xylon Hardware ARM CPU0 Custom IP Module Driver Partial Re- Configuration Service Partial Configuration Driver 12

Processing System Programming Logic Linux Kernel Zynq ZC-702 Xylon GPU Driver Custom IP Xylon Hardware ARM CPU0 Custom IP Module Driver Partial Re- Configuration Service Partial Configuration Driver App Code Bitstream 13

Driver module HAL API HAL module The custom linux device driver..ko file located in /dev/… System Server Supplies basic functions on the given hardware type, using the driver. Provided by the driver developer. A shared library located in /system/lib... The Hardware Abstraction Layer API. Supplies basic interface between the service and the custom new hardware. Essential for bridging the native and Java code. Custom Service Custom Service JAVA C C JNI APP System service API Binder The custom service run within the System server. Enables the system server to reach the HAL. Bridging methods called by the user in JAVA to native code in order to use the HAL. Make our system service available through the SDK. Supplies a basic interface between the APP and the custom service that has been created. The end user application provided by the client. 14

Xilinx Platform Studio Xilinx SDK VIVADO HLS C/C++ for Android Kernel Java Eclipse 15

XPS & SDK - Setup and configure the base system (which can run Android OS). Xilinx Vivado HLS - implement a custom IP module using a native programming language (C). XPS & SDK - Integrate the custom IP with the system. 16 Xilinx Platform Studio Xilinx SDK VIVADO HLS

C/C++ for Android Kernel Developing the custom device driver in C. Developing the HAL (Hardware Abstraction Layer) which supplies a simple interface between the user App and the custom hardware. Customizing the Android Kernel in order to provide the partial reconfiguration OS support. 17

Java Eclipse Developing a custom android application in java, which can use the HAL in order to get the services provided by the custom IP we implemented. Developing the system service which is a part of the HAL. 18

Setting up a development environment to modify and compile Android OS & Linux kernel. Configuring a Fully working Android OS system on ZYNQ with a touch screen. Custom IP development & Hardware integration using Xilinx tools. Developing a simple Linux device driver (char device) which can be accessed (Read / Write) by the Android on Zynq. Solving Android privileges limitations by writing a service which can communicate with our char device. Enabling a smooth access to the custom hardware from any typical Android JAVA code.

20

Learning the partial reconfiguration technology deeply in order to get the ability to operate it by the OS. Developing the Partial reconfiguration driver and service in order to support Dynamic Hardware. Writing more complicated Android drivers to support AXI-4 Streaming for video processing Writing efficient hardware with Vivado HLS and integrate it with the system.

Thank you ! 22