1 / 98

Mentor: Student:

Univer zitet u Nišu Elektronski Fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008. RAZVOJNI ALAT MSP430 A - Op šti Objektni Fajl Format ( COFF ) B - Op is Linkera (Programa Za Spajanje Modula) Laboratorijska vežba - Ispisivanje karaktera na LCD-u.

zia-talley
Download Presentation

Mentor: Student:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Univerzitet u Nišu Elektronski Fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski SistemiAvgust 2008 RAZVOJNI ALAT MSP430A - Opšti Objektni Fajl Format ( COFF ) B - Opis Linkera (Programa Za Spajanje Modula)Laboratorijska vežba - Ispisivanje karaktera na LCD-u Mentor: Student: Prof. Dr. Mile Stojčev, red. prof.Aleksandar Ristović, br. ind 11414

  2. A - Opšti Objektni Fajl Format ( COFF )Karakteristike • Razvojni model jednog klasičnog embedded softvera je prikazan na slici

  3. A - Opšti Objektni Fajl Format ( COFF )Karakteristike Kompajleri i asembleri kreiraju objektne fajlove koji sadrže: generisani binarni kôd, podatke za izvorni fajl. Linkeri kombinuju veći broj objektnih fajlova u jedinstveni fajl Loaderi prihvataju objektne fajlove i loaduju ih (pune) u memoriju

  4. A - Opšti Objektni Fajl Format ( COFF )Karakteristike Objektni fajlovi sadrže sledećih pet osnovnih tipova informacija: • Header informaciju (informaciju zaglavlja) - čuva osnovne informacije o objektnom fajlu kakve su: obim kôda i podataka, ime izvornog fajla od koga je kreiran taj objektni fajl, i datum kreiranja. • Objektni kôd (objektni kod) - ovaj kôd odgovara mašinsko-arhitekturno-specifičnim binarnim instrukcijama i podacima kojegenerišu kompajler ili asembler. • Informaciju o relokaciji (relokaciona tabela) - predstavlja listu mesta u objektnom kôdu koje treba urediti u trenutku kada linker promeni adrese objektnog kôda

  5. A - Opšti Objektni Fajl Format ( COFF )Karakteristike • Simbole (simbol tabela) - ova tabela sadrži: a) globalne simbole koji su definisani u tom modulu kao i simbole koje treba importovati od drugih modula; ili b) simbole definisane od strane linkera. • Debugging informaciju ( debaging informacija) - čuva se informacija o objektnom kôdu koja nije od koristi za potrebe linkovanja, ali je od koristi debugger-u. Informacija se odnosi na broj linija u izvornom fajlu, lokalne simbole, i opis strukture podataka koje se koriste od strane objektnog kôda, kakve su definicije struktura na programskom jeziku C.

  6. A - Opšti Objektni Fajl Format ( COFF )Karakteristike Način na koji se ova informacija organizuje u objektnom fajlu naziva se objektni fajl format. U principu objektni fajl treba da ima sledeće osobine: • i) linkable - da se koristi kao ulaz od strane link editor-a ili linkage loader-a, • ii) executable - da bude u stanju da se loaduje u memoriju i izvršava kao program • iii) loadable - da bude u stanju da se učita u memoriju kao bibliotečki program zajedno sa programom, • iv)da predstavlja kombinaciju bilo koje prethodne tri stavke.

  7. A - Opšti Objektni Fajl Format ( COFF )Karakteristike • Neki od formata podržavaju jednu stavku, drugi dve, a treći sve tri. To znači da između različitih proizvođača kompajlera, asemblera, linkera i debugger-a ne postoji opšti konsenzus o jedinstvenom formatu. Glavna prednost jedinstvenog formata bi bila interoperabilnost, tj. mogućnost da projektant izabere kompajler firme A, a zatim generiše objektni kôd koristeći linker firme B, kako bi formirao executable image. • Objektni kôd se često deli na manje logičke segmente koji se na različite načine tretiraju od strane linkera.

  8. A - Opšti Objektni Fajl Format ( COFF )Karakteristike • Projektanti koriste različite formate objektnih fajlova kakvi su, na primer: • DOSCOM fajlovi, DOS EXE fajlovi, Unix a.out fajlovi, Unix ELF fajlovi, COFF (Common object file format), IBM 360 Object Format, Microsoft Portable Executable Format, Intel/Microsoft OMF fajlovi, i drugi. • Nabrojani fajlovi su međusobno nekompatibilni, tako da projektant mora odabrati takvo sredstvo koje će razumeti sve formate objektnih fajlova koje će koristiti u toku razvoja sistema. Pomenućemo, u daljem tekstu, Unix ELF (Executable and Linking Format) fajlove, iz prostog razloga što njih projektanti embedded sistema najčešće koriste

  9. A - Opšti Objektni Fajl Format ( COFF )1.1. ELF Objektni Fajl Format Postoje sledeća tri tipa različitih ELF fajlova: • 1. relocatable (relokatibilni) - kreiraju ih kompajleri i asembleri, ali pre izvršenja potrebno je da budu procesirani od strane linker-a. • 2. executable (izvršni)- imaju izvedenu relokaciju i razrešena su obraćanja svim simbolima sa izuzetkom simbola iz deljive-biblioteke koja se moraju razrešiti u toku izvršenja programa. • 3. shared object (deljivi objekti) - predstavlljaju deljive bibliotečke fajlove koji u sebi čuvaju kako informaciju o simbolima koja je od koristi linkeru, tako i direktno izvršivi kôd

  10. A - Opšti Objektni Fajl Format ( COFF )1.1. ELF Objektni Fajl Format Dva pogleda na ELF Fajl; Izvršivi i Povezivi format

  11. A - Opšti Objektni Fajl Format ( COFF )2 . Prikaz Razvojnog Alata • Jezički prevodioc MSP430 kreira i koristi objektne fajlove, kao vrste opštih objektnih fajlova(COFF), čime je omogućeno modularno programiranje. • Objektni fajlovi sadrže odvojene blokove (tzv. sekcije) kôdova i podataka, koji omogućavaju učitavanje u različite MSP430 memorijske prostore. • Time se sa osnovnim poznavanjem COFF-a, postiže efikasnije programiranje MSP430

  12. A - Opšti Objektni Fajl Format ( COFF )2 . Prikaz Razvojnog Alata Razvojni tok jezičkog prevodioca MSP430

  13. A - Opšti Objektni Fajl Format ( COFF )2 . Prikaz Razvojnog Alata • Asembler prevodi izvorni jezički fajl u mašinski objektni fajl. • Arhiver omogućava formiranje grupa fajlova unutar jednog archive fajla. • Linker spaja objektne fajlove unutar jednog izvršnog objektnog modula. Kako kreira izvršni modul, on obavlja relokaciju (premestanje) i rešava spoljašnje preporuke.

  14. A - Opšti Objektni Fajl Format ( COFF )2 . Prikaz Razvojnog Alata • Linker prihvata relokatibilne COFF-ove (koje kreira asembler) kao ulaz. On takođe prihvata članove arhiver biblioteka i izlazne module kreirane pri prethodnom pokretanju linkera. • Linkerske direktive omogućavaju spajanje sekcija objektnih fajlova, vezivih sekcija ili simbola kod adresiranja unutar memorijskih okvira i definisanja ili redefinisanja globalnih simbola. • Apsolutni Lister se brine o reasembliranim fajlovima koji generišu spisak apsoutnih adresa u objektnom fajlu.

  15. A - Opšti Objektni Fajl Format ( COFF )2 . Prikaz Razvojnog Alata • Mikrokontroler programer MSP430 prihvata COFF fajlove kao ulaz, što većina EPROM programatora ne podržava. • Object format converter (konvertor objektnog formata) konvertuje COFF objektne fajlove u TI-tagged, Intel, Motorola ili Tektronix objektne formate. • Konvertovani fajl se doprema u EPROM programator. • Osnovna namena ovog razvojnog procesa je generisanje modula koji se izvršavaju u sistemima sa MSP430 komponentama. • Na raspolaganju je nekoliko debaging alata za preradu i korekciju kôda pre učitavanja u MSP430 sistem

  16. A - Opšti Objektni Fajl Format ( COFF )2 .1 PrimerPozivanja Asemblera i Linkera Primer najuobičajenijeg metoda za pozivanje asemblera i linkera. 1. Kreirajmo dva kratka izvorna fajla za brzi prolaz; nazovimo ih file1.asm i file2.asm. 2. Unesimo sledeću komandu za asembliranje file1.asm asm430 file1

  17. A - Opšti Objektni Fajl Format ( COFF )2 .1 PrimerPozivanja Asemblera i Linkera • Komandaom asm430 pozivamo MSP430 asembler; file1.asm je ulazni izvorni fajl. • Ako je ekstenzija ulaznog fajla .asm, ne moramo da navedemo ekstenziju; asembler koristi .asm kao standard. • Ovaj primer pokazuje kreiranje objektnog fajla koji glasi file1.obj; asembler kreira objektni fajl jedino ako u njemu nema grešaka. • Možemo navesti ime objektnom fajlu, ali i ako to ne učinimo, asembler će dodati .obj ekstenziju imenu ulaznog fajla

  18. A - Opšti Objektni Fajl Format ( COFF )2 .1 PrimerPozivanja Asemblera i Linkera • Sada asemblirajmo file2.asm; unošenjem: asm430 file2 -l • Ovog puta, asembler kreira objektni fajl sa imenom file2.obj. Opcija -l (malo slovo ’’L’’) upućuje asembler da kreira listing fajl; koji za ovaj primer glasi file2.list. • Povežimo file1.obj i file2.obj; unošenjem: lnk430 file1 file2 -o prog.out • Komandom lnk430 pozivamo linker. Fajlovi file1.obj i file2.obj su ulazni objektni fajlovi. (ako je ekstenzija ulaznog fajla .obj, ne moramo navesti ekstenziju; linker koristi .obj kao standard). Linker spaja file1.obj i file2.obj i kreira izvršni objektni modul sa imenom prog.out. opcijom-o dajemo ime izlaznom modulu

  19. A - Opšti Objektni Fajl Format ( COFF )2.2 Predstavljanje COFF-a • Asembler i linker kreiraju objektne fajlove koje izvršava MSP430. Format u kome su ti objektni fajlovi se zove opšti objektni fajl format (COFF). • COFF čini modularno programiranje lakšim, jer prilikom pisanja programa, podstiče razmišljanje u smislu blokova kôdova i podataka. Ti blokovi su poznati kao sections (sekcije). • I asembler i linker pribavljaju direktive koje omogućavaju kreiranje i upravljanje sekcijama.

  20. A - Opšti Objektni Fajl Format ( COFF )2.2.1 Sekcije • Manje jedinice objektnog fajla se zovu sekcije (sections). • Sekcija je blok kôda ili podataka koji zauzima susedne lokacije u memorijskoj mapi MSP430. • Svaka sekcija objektnog fajla je jasno odvojena od ostalih sekcija. • COFF objektni fajl uvek sadrži tri standardne sekcije: .text section obično sadrži izvršni kod .data section obično sadrži inicijalizovane podatke .bss secton obično rezerviše prostor za neinicijalizovane promenljive

  21. A - Opšti Objektni Fajl Format ( COFF )2.2.1 Sekcije • Važno je napomenuti da postoje dva osnovna tipa sekcija: • inicijalizovane sekcijesadrže podatke ili kôd. Sekcije .text i .data su inicijalizovane; imenovane sekcije kreirane pomoću.sect asemblerskih direktiva su takođe inicijalizovane. • neinicijalizovane sekcijerezervišu prostor u memorijskoj mapi za neinicijalizovane podatke. sekcije .bss su neinicijalizovane; imenovane sekcije kreiranepomoću .usect, .reg, i .regpair asemblerskih direktiva su takođe neinicijalizovane.

  22. A - Opšti Objektni Fajl Format ( COFF )2.2.1 Sekcije • Asembler gradi te sekcije tokom procesa prevođenja, kreiranjem objektnog fajla, koji je uređen kao objektni fajl prikazan na slici Podela memorije unutar logičkih blokova

  23. A - Opšti Objektni Fajl Format ( COFF )2.2.1 Sekcije • Jedna od funkcija linkera je da razmešta sekcije unutar ciljne memorijske mape; to se zove allocation (alokacija). • Kako veliki broj sistema sadrži nekoliko razičitih tipova memorije, upotreba sekcija pomaže efikasnijem koriščenju ciljne memorije. • Sve sekcije su nezavino relokatibilne, što znači da je moguće smeštanje različitih sekcija u različite blokove ciljne memorije. • Na primer, moguće je definisati sekciju koja sadrži inicijalizovanu rutinu i onda alocirati tu rutinu u deo memorijske mape koja sadrži ROM.

  24. A - Opšti Objektni Fajl Format ( COFF )2.2.2 Kako Asembler Upravlja Sekcijama • Glavna funkcija asemblera koja se odnosi na sekcije je da identifikuje delove programa jezičkog prevodioca koji pripadaju pojedinim sekcijama. Asembler za ovo koristi pet direktiva: • .bss • .data • .sect • .text • .usect Directive .bss i .usect kreiraju neinicijalizovane sekcije, a direktive .text, .data i .sect kreiraju inicijalizovane sekcije. Napomena: ako nije izabrana ni jedna sekcija, asembler prevodi sve u .text sekciju.

  25. A - Opšti Objektni Fajl Format ( COFF )2.2.3 Neinicijalizovane Sekcije • Neinicijalizovane sekcije rezervišu proctor u memoriji MSP430, koja se obično alocira u RAM. • Ove sekcije nemaju stvarni sadržaj u objektnom fajlu; one jednostavno rezervišu memoriju. • Program koristi taj prostor prilikom startovanja za kreiranje i smeštanje promenljivih. • Neinicijalizovani prostor podataka gradimo korišćenjem .bss i .usect asemblerskih direktiva.

  26. A - Opšti Objektni Fajl Format ( COFF )2.2.3 Neinicijalizovane Sekcije • Sintaksa tih direktiva je: .bssime [,veličina u bajtovima] • simbol .usect “ ime sekcije”, veličina u bajtovima • simbol ukazuje na prvi bajt rezervisan pri pozivu .bss ili .usect direktive • veličina standardna veičina .bss sekcije je jedan bajt. • ime sekcije govori asembleru za koju imenovanu sekciju rezervišemo prostor.

  27. A - Opšti Objektni Fajl Format ( COFF )2.2.4 Inicijalizovane Sekcije • Inicijalizovane sekcije sadrže izvršni kôd ili inicijalizovane podatke • Postoje tri direktive koje omogućavaju asembleru da smesti kôd ili podatak u sekciju. .text .data .sect“ime sekcije” • Kada asembler naiđe na jednu od ovih direktiva, on zaustavlja prevođenje u tekućoj sekciji (deluje kao komanda “kraj tekuće sekcije”).

  28. A - Opšti Objektni Fajl Format ( COFF )2.2.4 Inicijalizovane Sekcije • Sekcije se grade tokom iterativnog procesa. Na primer, kada asembler naiđe prvo na .data direktivu, .data sekcija je prazna. • Sadržaj koji sledi nakon prve.data direktive se prevodi u .data sekciju (sve dok asembler ne naiđe na .text ili .sect direktivu). • Ako asembler naiđe na sledeću .data direktivu, dodaje sadržaj koji sledi nakon te .data direktive, sadržaju koji se već nalazi u .data sekciji. • Ovim kreiramo jednu .data sekciju koju možemo upodero alocirati u memoriju. • Ne možemo koristiti isto ime za različite direktive.

  29. A - Opšti Objektni Fajl Format ( COFF )2.2.5 Imenovane Sekcije • Imenovane sekcije su sekcije koje mi kao korisnici kreiramo. • Možemo ih koristiti kao standardne .text, .data i .bss sekcije, ali ih prevodimo odvojeno od standardnih sekcija. • Sintakse ovih direktiva su: simbol .sect“ime sekcije”,veličina .sect “ime sekcije”

  30. A - Opšti Objektni Fajl Format ( COFF )2.2.6 Sekcijski Programski Brojači • Asembler sadrži posebne programske brojače za svaku sekciju. Ovi programski brojači su poznati kao sekcijski programski brojači ili SPC-i. • Programski brojač SPC prikazuje tekuće adrese sa sekcijama kôda ili podataka. U početku asembler postavlja svaki SPC na 0. Kako asembler puni sekcije kôdom ili podacima, on istovremeno inkrementira odgovarajući SPC.

  31. A - Opšti Objektni Fajl Format ( COFF )2.3 Kako Linker Upravlja Sekcijama • Linker ima dve glavne funkcije vezane za sekcije. • Prvo, linker koristi sekcije unutar COFF-a kao gradivne bokove; udružuje ulazne sekcije da bi kreirao izlazne sekcije u izvršnom COFF izlaznom modulu. • Drugo, linker bira memorijske adrese za izlazne sekcije.

  32. A - Opšti Objektni Fajl Format ( COFF )2.3 Kako Linker Upravlja Sekcijama • Linker koristi dve directive koje podržavaju ove funkcije: • MEMORIJSKE direktive nam omogućavju definisanje memorijske mape za neki određeni sistem. Mogu dati ime određenoj memorijskoj particiji i specificirati startnu adresu i njenu dužinu. • SEKCIJSKE direktive upućuju linker kako da udruži ulazne sekcije i gde da smesti izlazne sekcije u memoriji

  33. A - Opšti Objektni Fajl Format ( COFF )2.3.1 Standardna Memorijska Alokacija Spajanje ulaznih sekcija i formiranje izvršnog objektnog modula

  34. A - Opšti Objektni Fajl Format ( COFF )2.4 Relokacija • Asembler tretira svaku sekciju kao da počinje od adrese 0. Svi relokatibilni simboli (labele) su u odnosu na adresu 0 u odgovarajućoj sekciji. • Naravno, sve sekcije ne mogu baš početi od adrese 0 u memoriji, pa linker relocira sekcije tako što: alocira sekcije u memoriji tako da one počinju od odgovarajuće adrese. usklađuje vrednosti simbola da odgovaraju novim adresama sekcija. usklađuje obraćanje relociranim simbolima tako da upućuju na odgovarajuće vrednosti simbola.

  35. A - Opšti Objektni Fajl Format ( COFF )2.5 Relokacija Za Vreme Rada • Nekada je poželjno, a nekada, neophodno da se za vreme učitavanja kôda u jedan deo memorije, pokrene drugi deo memorije. Na primer, imamo kritično izvršenje kôda u sistemu baziranom na ROM memoriji. Kôd mora biti učitan u ROM, ali bi se izvršavao mnogo brže da je u RAM-u. • Linker obezbeđuje jednostavan način da ovo opiše. U SEKCIJSKOJ direktivi, možemo, opciono, uputiti linker da dva puta alocira sekciju: jednom kada smešta učitane adrese i drugi put kada smešta izvršne adrese.

  36. A - Opšti Objektni Fajl Format ( COFF )2.6 Učitavanje Programa • Zavisno od izvršnog okruženja možemo koristiti nekoliko metoda za učitavanje programa. Neke od uobičajenih situacija su: • Razvojni alat MSP430 (In-Circuit-Emulator (emulator u kolu) i Evaluation Module (modul za procenu)) se brine za mogućnost učitavanja COFF objektnog modula. • Možemo da koristimo konvertor objektnog formata (rom430, koji je priložen kao deo paketa jezičkog prevodioca) za konverziju izvršnog COFF objektnog modula u jedan od nekoliko formata objektnih fajlova. Sada možemo koristiti konvertovani fajl pomoću gotovo svih EPROM programatora za učitavanje programa u EPROM

  37. A - Opšti Objektni Fajl Format ( COFF )2.7 Simboli U COFF Fajlu • Fajl COFF sadrži tabelu simbola u kojoj se pamte informacije o simbolima u programu. • Linker koristi tu tabelu kada vrši relokaciju. • Alat za debagiranje takođe može da koristi tabelu simbola da izvede simboličko debagiranje

  38. A - Opšti Objektni Fajl Format ( COFF )2.7.1 Spoljašnji Simboli • Spoljašnji simboli su simboli koji se definišu u jednom modulu a ukazuju na drugi modul. Koristimo .def,.ferili.globaldirektive da označimo simbole kao spoljašnje: • Defined (.def) definisan u tekućem modulu a korišćen u drugom modulu • Referenced (.ref) koji ukazuje na tekući modul ali je definisan u nekom drugom modulu. • Global (.global) može biti bilo koji od prethodna dva

  39. A - Opšti Objektni Fajl Format ( COFF )2.7.2 Tabela Simbola • Asembler uvek generiše jedan ulaz u tabeli simbola, kada naiđe na spoljašnji simbol (oba i definiciju i referencu). • Asembler takođe kreira specijalne simbole koji ukazuju na početak svake sekcije; linker koristi te simbole da relocira reference za ostale simbole u sekciji. • Asembler obično ne kreira ulaze tabele simbola za neki drugi tip simbola, zato što ih linker ne koristi. • Na primer, labele nisu uključene u tabelu simbola, sem ako nisu deklarisane pomoću naredbe .global. Za simbolične procese debagiranja, ponekada je korisno da imamo ulaze u tabeli simbola za svaki simbol u programu. Da bi ovo ispunili, pozivamo asembler pomoću s-opcije

  40. A - Opšti Objektni Fajl Format ( COFF )3. Struktura COFF-a • Asembler i linker MSP430 kreiraju objektne fajlove koji su u opštem objektnom fajl formatu (COFF). • Ovaj objektni fajl format se koristi jer podstiče modularno programiranje i obezbeđuje snažnije i fleksibilnije metode upravljanja kôdnim segmentima i ciljnim memorijskim sistemima

  41. A - Opšti Objektni Fajl Format ( COFF )3. Struktura COFF-a • Elementi COFF-a opisuju sekcije fajlova i simboličke debaging informacije. Ovi elementi uključuju: • zaglavlje fajla • opcione informacije zaglavlja • tabelu o sekciji zaglavlja • osnovne podatke za svaku inicijalizovanu sekciju • relokacione informacije za svaku inicijalizovsnu sekciju • tabelu simbola • tabelu nizova • Asembler i linker generišu objektni fajl iste COFF strukture; a program koji ih povezuje na kraju, obično ne sadrži relokacione ulaze

  42. A - Opšti Objektni Fajl Format ( COFF )3. Struktura COFF-a Struktura COFF-a

  43. A - Opšti Objektni Fajl Format ( COFF )3. Struktura COFF-a JednostavniCOFF

  44. A - Opšti Objektni Fajl Format ( COFF )7. Struktura Relokacionih Informacija • Fajl COFF ima jedan relokacioni ulaz za svaku relokatibilnu referencu. Asembler automatski generiše relokacione ulaze. Linker učitava relokacione ulaze kada čita svaku ulaznu sekciju i vrši relokaciju. Relokacioni ulazi određuju kako se reference svake ulazne sekcije tretiraju. • virtual address (virtuelna adresa) je adresa simbola u tekućoj sekciji pre relokacije; specificira gde se relokacija mora desiti. (to je adresa polja u objektnom kôdu koja mora biti dodata) • symbol table index(indeks tabele simbola) je indeks referenciranog simbola.

  45. A - Opšti Objektni Fajl Format ( COFF )7. Struktura Relokacionih Informacija • virtual address (virtuelna adresa) je adresa simbola u tekućoj sekciji pre relokacije; specificira gde se relokacija mora desiti. (to je adresa polja u objektnom kôdu koja mora biti dodata) • symbol table index(indeks tabele simbola) je indeks referenciranog simbola. • relocation type (tip relokacije) specificira veličinu polja koje se dodaje i opisuje kako se dodata vrednost može izračunati. Tip polja zavisi od adresnog moda koji sa koristi da generiše relokatibilnu referencu

  46. A - Opšti Objektni Fajl Format ( COFF )9. Struktura I Sadržaj Tabele Simbola • Poredak simbola u tabeli simbola je veoma važan. Sadržajtabelesimbola

  47. A - Opšti Objektni Fajl Format ( COFF )9. Struktura i Sadržaj Tabele Simbola • Ulaz svakog simbola iz tabele simbola sadrži sledeće delove simbola: • Ime (ili ofset u tabeli nizova) • Tip • Vrednost • Sekciju u kojoj je definisan • Klasu skladištenja • Osnovni tip (ceo broj, karakter, itd.) • Izvedeni tip (array (polje), structure (struktura), itd.) • Dimenzije • Broj linija izvornog koda koji definiše simbol Imena sekcija takođe definišemo u tabeli simbola

  48. A - Opšti Objektni Fajl Format ( COFF )9. Struktura i Sadržaj Tabele Simbola • Svi ulazi simbola, bez obzira na klasu i tip, imaju isti format u tabeli simbola. • Svaki ulaz tabele simbola sadrži 18 bajtova informacija prikazanih u sledećoj tabeli. • Svaki simbol, takođe, može imati 18-to bajtni pomoćni ulaz; specijalni simboli prikazani u tabeli nakon sledeće, uvek imaju pomoćni ulaz. • Neki simboli možda nemaju sve gore navedene karakteristike; ako pojedina polja nisu setovana, postavljaju se na nulu

  49. A - Opšti Objektni Fajl Format ( COFF )10. Opis Konvertora Objektnog Formata • Konvertor objektnog formata konvertuje COFF objektni fajl u jedan od četiri objektnih formata koje većina EPROM programatora prihvata kao ulaz: Extended Tektronix hex object format (Tektronix heksadecimalni objektni format) podržava 32-o bitne adrese Intel hex object forma(Intel heksadecimalni objektni format) podržava 16-to bitne adrese Motorola S format(Motorola S format) podržava 16-to bitne adrese TI-tagged object format(TI-dodati objektni format) podržava 16-to bitne adrese

  50. A - Opšti Objektni Fajl Format ( COFF )10.1 Razvojni Tok Konvertora Objektnog Formata Razvojni tok konvertora objektnog formata

More Related