+ All Categories
Home > Documents > PC To GT Program Load Shachar Rosenberg Alex Normatov Technion - Digital Lab.

PC To GT Program Load Shachar Rosenberg Alex Normatov Technion - Digital Lab.

Date post: 19-Dec-2015
Category:
View: 220 times
Download: 2 times
Share this document with a friend
Popular Tags:
30
PC To GT Program Load PC To GT Program Load Shachar Rosenberg Alex Normatov Technion - Digital Lab
Transcript

PC To GT Program LoadPC To GT Program Load

Shachar Rosenberg

Alex Normatov

Technion - Digital Lab

AgendaAgenda

Why not Video ?Project descriptionGT ln descriptionPC Loader descriptionConclusions

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

AgendaAgenda

Why not Video ? Project descriptionGT ln descriptionPC Loader descriptionConclusions

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

AgendaAgenda

Why not Video ? Project description GT ln descriptionPC Loader descriptionConclusions

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

Current StatusCurrent Status

Evaluation in GalileoNo Issues yet

The EndThe End

Back Up FoilsBack Up Foils


Recommended