1 / 24

embedded Android system BASED ON ZC- 702 zynq BOARD MID pRESENTATION

19/3/2013. embedded Android system BASED ON ZC- 702 zynq BOARD MID pRESENTATION. Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi- Semesterial . Winter 2012/2013. Introduction. The problem.

talon
Download Presentation

embedded Android system BASED ON ZC- 702 zynq BOARD MID pRESENTATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 19/3/2013 embedded Android system BASED ON ZC-702 zynq BOARD MID pRESENTATION Performed By: ItamarNiddam and LiorMotorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013

  2. Introduction The problem • Software provides extended flexibility while hardware gives better performance. • Many applications use software-based algorithms, which suffer from low Performance and cause bottle-necks. Therefore, the whole application performance is reduced. • Hardware-Accelerators are well known solutions , but they are specific for each • Problem and cannot be changed. Moreover, an application cannot supply its • own Hardware accelerator and must rely on existing accelerators.

  3. Introduction The solution • A Hardware-accelerator for specific application will be provided • (AES encryption/decryption for example). • An android application which uses the custom Hardware.

  4. Introduction The solution • The Xilinx ZC-702 Board for Zynq-7000 have the ability to run Android OS on it. • Dual ARM A9 – Cortex processors • DDR3 Memory (1 GB)

  5. Xilinx zynq-7000soc zc702 board

  6. Xilinx zynq-7000 PROCESSING system

  7. SYSTEM COMPONENTS Programmable Logic Processing System LogicBricks HDMI Controller Custom IP Core 0 : A9 ARM AXI4 Core 1 : A9 ARM UART HDMI FMC USB 0

  8. SYSTEM COMPONENTS

  9. Project goals • Understand the structure of the ZC-702 board. • Understand the structure of the Android OS. • Run Android OS on the board (without any modifications) • Implement a custom IP and integrate it on android OS using the ZC-702 board. • Analyze the performance improvement for Encryption hardware-accelerator. • Documentation and manuals

  10. The development environment.

  11. Xylon hardware Custom IP AXI4 interconnect Processing system The Hardware Design.

  12. The Hardware Design.

  13. Software Blocks Android 2.3.2 OS Linux Kernel Custom IP Module Driver Xylon GPU Driver Xylon Hardware Custom IP ARM CPU0 ZC-702

  14. Android Booting

  15. Device Tree Source • Data structure for describing hardware details (Memory mapping , Interrupts , Registers …) to the OS. • Simple human readable text (Before “Compilation”)

  16. Custom IP Driver module

  17. Custom IP Driver module

  18. Integrating Hardware-Software • Before kernel loading, copying the module driver from SD-Card to the system. • Do lsmod to .ko file while still having root privileges (after loading kernel and just before Android OS loads) • Driver is now registered as char device (/dev/custom-ip) and can be used from the OS

  19. Problems… • Still have licensing problems (until April) • Android OS privileges – Cannot use custom IP driver from inside of Android OS applications due to privileges limitations. • Writing Drivers is hard ! (Missing knowledge to write some complicated drivers) • Need also software support (in emphasis of OS driver development)

  20. Challenges ! • Solving android privileges limitations by writing a service which will be able to communicate with our char device. • Writing more complicated drivers to support AXI-4 Streaming for video processing • Writing efficient hardware with Vivado HLS and integrate it

  21. So.. What have we done ? • Fully working Android Kernel which can access (Read / Write) a custom IP. • Setting up a development environment to modify and compile Android OS & Linux kernel. • Generating all necessary files to provide working system (BitStream, FSBL , U-Boot , BOOT.BIN , device tree , driver module) • Learning Linux Driver development • Testing Custom IP development & Hardware integration with Vivado HLS

  22. So.. What have we done ?

  23. What we have to do next (until Project A final) ?

  24. Questions

More Related