Presentation is loading. Please wait.

Presentation is loading. Please wait.

Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer.

Similar presentations


Presentation on theme: "Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer."— Presentation transcript:

1 Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer

2 Part A objectives Learn how to design and implement an embedded system with MontaVista Linux as OS –Familiarize with hardware capabilities –Development time –Development effort Write full report describing the development process of such a system

3 System setup Xilinx ML310 development board –VirtexIIpro FPGA with 2 PPC cores –256 MB DDR –RS-232 mini-cable –Onboard 10/100 Ethernet NIC –4 PCI slots ( 3.3V and 5V) –System ACE™ CF Controller –Standard JTAG connectivity Linux kernel running on the ML310 –Provides drivers to different board peripherals –Provides runtime environment to our application –Simplifies development

4 Why use OS? Allows us to build complex embedded systems Multi-process runtime environment Application development process similar to desktop systems Low cost

5 Why Linux? Small footprint Vast development community Many devices already have drivers. Very easy to integrate Open-source Free Relatively easy development process Modular Flexible

6 System Development Design and implement the HW –Add user core –Create patch for the Linux kernel Design and implement the SW –Configure the Kernel –Build Linux Kernel HW – SW Integration –Drivers for user core –Addresses, Interrupts, Endianess issues

7 Software side tools MontaVista DevRocket –Eclipse powered –Provides a cross platform development toolchain –Used to: Build MontaVista Linux kernel Kernel Configuration Driver Development Software Application Development

8 Hardware side tools Xilinx platform studio – XPS –Build a Linux compatible hardware platform –Develop and integrate user IP core into the design –Produce OS patch containing HW parameters such as Addresses, IRQ, etc.

9 HW Design Based on pci_linux_design by xilinx which support PCI Added User IP Core with Registers, Address Range and interrupt support Integrate the user core into the HW design Produce patch for OS

10 Software Design Build and compile minimal Linux kernel Develop User IP Core Driver –Make Virtual to Physical address mapping –Configure INTC to enable interrupts –Configure user core to generate interrupts –Register an Interrupt handler

11 Achievements Build HW Design with new user core and Montavista Linux as OS Build MontaVista Linux Kernel for ml310 board Integrate HW design with OS –User core interface: Registers, Address Range, Interrupts Document the entire process as reference material to future projects

12 HW – SW Integration MontaVista Linux Running on ML310 User core generates interrupts, core interrupt handler executed, read/write from core registers and address range

13 Difficulties Bitstream generation taking 7-9 hours We had to base our HW design on the pci_linux_design supplied by Xilinx, which is very sensitive to modification License issues related to EDK 6.3i Permission issues with Montavista tools Very poor documentation and support on behalf of MontaVista General idiosyncrasies related to the integration process

14 Plans for Project Part B Use what we learned in order to build a hardware based network sniffer on ML310 development board with MontaVista Linux as OS Explore Linux kernel capabilities –Modify the Ethernet driver –Create a driver for our sniffer Create a GUI for our sniffer Conduct benchmarks to examine system performance

15 Summary Insights –Do your homework when choosing an OS for your next embedded project –Be ready to deal with many idiosyncrasies related to HW-SW integration –Read Linux Device Drivers! –Understand the Linux kernel

16 Questions?


Download ppt "Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer."

Similar presentations


Ads by Google