Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 220 times |
Download: | 2 times |
GT & VideoLabGT & VideoLab
PCI & GT oriented
FOR MORE INFO...
VideoLabADV 601
PCIInterface
PCIBUS
GalileoGT-64210
SDRAM
CPUVideo In
Video Out
VideoLab ADV 601Galileo Evaluation
Board
Project’s Mid Semester Report, Presentation,
Specs and other relevant literature
What Was CompletedWhat Was Completed
PCI configurationPCI memory mappingAMCC ( PCI Interface ) configuration
The ProblemThe Problem
VideoLab didn’t function:– Specs were studied–Monitoring PCI with Logic Analyzer– Existing drivers SW were studied
Control with a PAL (undocumented)Card was poorly designed– drivers inserted delay so as to
synchronize on I²C clock
Why Project ChangedWhy Project Changed
System & PCI study completedTime spent on problem investigation:– Logic Analyzer– Contacts with ADV – Code & Specs. Study
Adapting drivers for VideoLab would’ve taken much time, and wasn’t project’s goal
DescriptionDescription
Loads executable code from PC to GT-based system RAM above Ethernet
Project’s Final Report
Software Code & Hardware Specs.
FOR MORE INFO...
Ethernet
PCI Bus
SEC - networkbridge
SDRAM memory
GT - chipset
R5000 - CPU
uCodeROM
Project GoalsProject Goals
Use existing SW as a basis
Improve reliability of data transfer Improve user interface (and fix bugs)Add some functionality
ResourcesResources
Galileo and DigLab equipmentReference SW from GalileoSupport from Galileo1/3 of semester for execution
Technology - HWTechnology - HW
Ethernet– fast data transfer between PC and SEC
PCI– connects SEC and GT
EPROM & E²PROM– fast programming of GT’s OS
Technology - SWTechnology - SW
C and Visual C++ LanguagesMicrosoft Foundation ClassesIP datagram socketsAddress Resolution ProtocolWindows Registry
General Description - lnGeneral Description - ln
Used to load (wait, receive and put) a program into SDRAM memory
Can load to a specific addressCan verify checksum Restores control registersShows help
Inside ln - Map MemoryInside ln - Map Memory
Save mapping and control registersChange PCI memory mappingInitialize GT as PCI master & slaveMap DRAM for PCI DMA accesses
Inside ln - Init. SEC MemoryInside ln - Init. SEC Memory
Find all SEC devices on PCIAllocate memory for SEC deviceAllocate buffers for control data
structures and received packetsUpdate SECs’ pointers to the
allocated memory spacesInitialize other SECs’ data
Inside ln - Initialize NetworkInside ln - Initialize Network
Send a packet with GT’s MAC address to SEC, as a PCI burst
Send a broadcast to make other Ethernet agents learn GT’s MAC
Start receiving packets
Inside ln - Handling PacketsInside ln - Handling Packets
Interrupt driven buffer allocationPoll (wait) for a new packet– Check if it is for us (not broadcast)– Check it’s packet number (any lost ?)– Calculate checksum (if needed)–Write to memory
Inside ln - Job’s DoneInside ln - Job’s Done
Disable interrupt & ensure there’s no packets marked new
“Stop” SEC’s functioningReturn mapping & control registersShow results (pass/fail)
AgendaAgenda
Why not Video ? Project description GT ln description PC Loader description Conclusions
General Description - LoaderGeneral Description - Loader
Standard Windows ApplicationReads & Loads programs (S3R)– Can change ARP mapping– Cheksum on/off– Big/Little Endian– Time Out between packets
Saves settings (Registry)
Inside Loader - Packet StructureInside Loader - Packet Structure
Header– 0 : Start Address (in target’s memory)– 1 : Length of Data (bytes)– 3 : Packet Number– 4 : Checksum (optional)
DataHeader
Inside Loader - Packet ClassInside Loader - Packet Class
Receives S3R string (all or a part)– Checks/Calculates address– Appends data – Leave the rest to the next (when full)
Prepares itself to sendingSends itself over a socket
Inside Loader - ReadingInside Loader - Reading
SerializationIncoming data “pours” into packetsWhen packet full, prepare to send
• Length• Checksum• Endianess
Inside Loader - SendingInside Loader - Sending
Datagram SocketsEthernet Packet LengthARP settings for IP to MAC bindingSend in order of List
AgendaAgenda
Why not Video ? Project description GT ln description PC Loader description Conclusions
Tools Used/StudiedTools Used/Studied
IDT - gcc compiler (IDTC & IDTSIM)Logic Analyzer - setup & usageMicrosoft Visual StudioEPROM programmer