Shared Memory IP Simulation - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Shared Memory IP Simulation

Description:

... UIP_BUF_SIZE bytes Transmit Buffer UIP_BUF_SIZE bytes Misc Other Shared Mem 0xA0000000 ... level output() write to shared memory Polling or ... – PowerPoint PPT presentation

Number of Views:196
Avg rating:3.0/5.0
Slides: 18
Provided by: Goog6448
Category:

less

Transcript and Presenter's Notes

Title: Shared Memory IP Simulation


1
Shared Memory IP Simulation
  • Ben Davis

2
Outline
  • Description
  • Target Hardware
  • Simulation Model
  • TCP/IP
  • uIP
  • lwIP
  • Results

3
Project Descritpion
  • OS Independent TCP/IP Implementation
  • Project requirments defined by employer, Applied
    Reasearch Laboratories
  • Hardware is still in development phase
  • Start of software development early
  • Simulate a shared memory interface to a TCP/IP
    stack
  • Run simulation on linux, with minimal OS
    dependencies
  • Utilize uIP or lwIP tcp/ip stack
  •  

4
Hardware, microcontroller
  • Atmel SAM3U4E
  • ARM Coretex M3 revision 2, up to 96MHz
  • Memory protection Unit
  • Thumb-2 Instruction Set
  • Embedded Flash (64-256Kbytes)
  • Embedded SRAM (16-48Kbytes)
  •  

5
Hardware, MAC
  • Altera FPGA, Cyclone II
  • Triple Speed Ethernet Megacore Function
  • 10/100/1000-Mbps media access controller (MAC)
  • Flexible IP options - MAC only, MAC.....

6
Hardware
7
Software Emulation
  • MicroController
  • Primary focus is the running of TCP/IP, this can
    be run in a linux environment with minimal OS
    oriented function calls
  • Network driver accessing OS shared memory instead
    of static shared memory
  • MAC
  • Secondary Application running in linux access
    same shared memory space as uIP
  • Utilize tunneling driver (/dev/net/tun) to create
    virtual point-to-point network
  • Actual application will have a translator in the
    FPGA to convert the shared memory access to
    avalon interface. 

8
(No Transcript)
9
TCP/IP Model
  • FTP, SSH, TELNET, ...
  • TCP,UDP,...
  • IP(v4, v6), ICMP,...
  • Tunnels, PPP, MAC,...

10
uIP
  • "The open-source uIP TCP/IP stack provides TCP/IP
    connectivity to tiny embedded 8-bit
    microcontrollers, with maintained
    interoperability and RFC standards compliance."
  •  
  • http//www.sics.se/adam/uip/index.php/Main_Page
  • Adam Dunkels 
  •  
  • Very small code size
  • Very low RAM usage, configuarble at compile time
  • Numerous ports available

11
uIP, Porting
  • Network device
  • init()      request shared memory
  • read()    read from shared memory
  • write()   write to shared memory
  • Timer
  • clock_init()
  • clock_time()    gettimeofday()
  •  
  • uipopt.h
  •  
  • 32 bit addition, crc32

12
lwIP
  • More Advanced
  • Fully Functional
  • thread support
  • semaphore and mailbox allocation 
  • Core Functionality
  • single threaded model
  • preferred No-OS option 

13
lwIP, Porting
  • Only Core Functionality
  •  
  • Network device
  • init()      request shared memory
  • low level input()    read from shared memory
  • low level output()   write to shared memory
  •  
  • Polling or asynchrounous

14
TCP/IP Application
  • httpd webserver
  • Bidirectional test application 
  • access through mozilla, navigate web interface
  • wget for course output performance

15
SAM3U4E
  • Beyond Simluation
  • Toolchain for SAM3U4E
  • Codesourcery g lite eabi
  • armv7 thumb2 library
  • Porting
  • initialize system resources
  • new timer calls

16
Results/Tradeoffs
  • uIP vs lwIP
  • space - uIP
  • throughput- lwIP
  •  
  • Could utilize a minimalist OS like eCOS, which
    inlcludes lwIP, or freeRTOS.
  • Validity of simulation.
  •  

17
Conlcusion
  •  
  •  
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com