PC To GT Program Load Shachar Rosenberg Alex Normatov Technion - Digital Lab
Agenda * Why not Video ? Project description GT ln description PC Loader description Conclusions
GT & VideoLab PCI & GT oriented FOR MORE INFO... Project’s Mid Semester Report, Presentation, Specs and other relevant literature
What Was Completed PCI configuration PCI memory mapping AMCC ( PCI Interface ) configuration
The 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 Changed System & PCI study completed Time 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
Agenda 4 Why not Video ? * Project description GT ln description PC Loader description Conclusions
Description 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 - network bridge SDRAM memory GT - chipset R CPU uCode ROM
Project Goals Use existing SW as a basis Improve reliability of data transfer Improve user interface (and fix bugs) Add some functionality
Resources Galileo and DigLab equipment Reference SW from Galileo Support from Galileo 1/3 of semester for execution
Technology - HW Ethernet –fast data transfer between PC and SEC PCI –connects SEC and GT EPROM & E²PROM –fast programming of GT’s OS
Technology - SW C and Visual C++ Languages Microsoft Foundation Classes IP datagram sockets Address Resolution Protocol Windows Registry
Agenda 4 Why not Video ? 4 Project description * GT ln description PC Loader description Conclusions
General Description - ln Used to load (wait, receive and put) a program into SDRAM memory Can load to a specific address Can verify checksum Restores control registers Shows help
Inside ln - Map Memory Save mapping and control registers Change PCI memory mapping Initialize GT as PCI master & slave Map DRAM for PCI DMA accesses
Inside ln - Init. SEC Memory Find all SEC devices on PCI Allocate memory for SEC device Allocate buffers for control data structures and received packets Update SECs’ pointers to the allocated memory spaces Initialize other SECs’ data
Inside 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 Packets Interrupt driven buffer allocation Poll (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 Done Disable interrupt & ensure there’s no packets marked new “Stop” SEC’s functioning Return mapping & control registers Show results (pass/fail)
Agenda 4 Why not Video ? 4 Project description 4 GT ln description * PC Loader description Conclusions
General Description - Loader Standard Windows Application Reads & Loads programs (S3R) –Can change ARP mapping –Cheksum on/off –Big/Little Endian –Time Out between packets Saves settings (Registry)
Inside 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 Class Receives S3R string (all or a part) –Checks/Calculates address –Appends data –Leave the rest to the next (when full) Prepares itself to sending Sends itself over a socket
Inside Loader - Reading Serialization Incoming data “pours” into packets When packet full, prepare to send Length Checksum Endianess
Inside Loader - Sending Datagram Sockets Ethernet Packet Length ARP settings for IP to MAC binding Send in order of List
Agenda 4 Why not Video ? 4 Project description 4 GT ln description 4 PC Loader description * Conclusions
Tools Used/Studied IDT - gcc compiler (IDTC & IDTSIM) Logic Analyzer - setup & usage Microsoft Visual Studio EPROM programmer
Current Status Evaluation in Galileo No Issues yet
The End
Back Up Foils
Acronyms GT - Galileo Technology chipset GT64120 SEC - Galileo Technology network bridge Loader - PC Loader application ln - GT’s loadnetwork command
Alternatives Analysis Previous Version –Less reliable, less features –Has bugs and less user friendly Terminal Text Transfer (above RS232) –Very slow –Not user friendly