Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Következő oldal >>

 


11.6.4. Összefűzés vezérlő fájlok


      Az összefűzés vezérlő fájlok (linker script) az MPLINK összefűző program parancsfájljai. Az MPLINK program a fájlban elhelyezett vezérlő utasítások alapján végzi el az objektum fájlok összefűzését.
      A fájlban elhelyezett vezérlő utasítások lehetséges típusai:
     ˇ általános vezérlő utasítások, amelyek az MPLINK program bemeneti fájljainak megadását segítik;
     ˇ memória elosztó utasítások, amelyek a felhasználható program- és adatmemória-helyeket adják meg;
     ˇ program szekció elosztó utasítások, amelyek az egyes forráskód szekciók programmemóriában való elhelyezkedését adják meg;
     ˇ verem definiáló utasítások, amelyek használatára a közepes teljesítményű PIC mikrovezérlők esetében nincs szükség.


Általános vezérlő utasítások

      A következő táblázatban bemutatásra kerülő utasítások segítségével az összefűzésben résztvevő fájlok elérési útjai, illetve maguk a fájlok adhatók meg.

11.6.4-1. Táblázat
Utasítás Hatása Példa
LIBPATH [elérési utak] Könyvtár és objektum fájlok keresési útvonalának megadása. Egy utasításon belül több keresési útvonal is megadható egymástól pontosvesszővel elválasztva. LIBPATH C:\MPASM; C:\MPLAB\LIBS
LKRPATH [elérési utak] Összefűzés vezérlő fájlok keresési útvonalának megadása. Egy utasításon belül több keresési útvonal is megadható egymástól pontosvesszővel elválasztva. LKRPATH C:\MPLINK\LKR; C:\LKR
FILES [fájlnevek] További összefűzendő könyvtár és objektum fájlok megadása. FILES adat.o matek.lib
INCLUDE [fájlnév] További összefűzés vezérlő fájl megadása. Az utasításban megjelölt fájl sorai beépülnek az utasítás helyére, mintha be lennének másolva oda. INCLUDE plusz.lkr

Vissza a lap tetejére


Memória elosztó utasítások

      A következő táblázatban bemutatásra kerülő utasítások a program- és adatmemória-helyek kiosztását és azonosítását végzik el.

11.6.4-2. Táblázat
Utasítás Hatása Példa
ACCESBANK
  NAME=[név]
  START=[kezdőcím]
  END=[zárócím]
  [védettség]
Ez az utasítás a közepes teljesítményű, 14-bites programmemóriájú PIC mikrovezérlők esetében nem használható! -
CODEPAGE
  NAME=[név]
  START=[kezdőcím]
  END=[zárócím]
  [védettség]
  FILL=[érték]
A programmemória felosztása. Minden részt külön utasítással kell megadni. Az egyes részekhez a PROTECTED kulcsszóval védettség rendelhető, amely lehetővé teszi a forrásprogramban adatmemóriacímhez közvetlenül hozzárendelt változók elhelyezését. A FILL paraméter segítségével a kijelölt programmemória-rész feltölthető bármely konstans értékkel. Az utasítást és a paramétereket egy sorba kell írni. CODEPAGE
  NAME=program
  START=0x28
  END=0x7FF
DATABANK
  NAME=[név]
  START=[kezdőcím]
  END=[zárócím]
  [védettség]
Az adatmemória-lapozást igénylő regiszterek megadása. Az egyes részekhez a PROTECTED kulcsszóval védettség rendelhető, amely lehetővé teszi a forrásprogramban adatmemóriacímhez közvetlenül hozzárendelt változók elhelyezését. Az utasítást és a paramétereket egy sorba kell írni. DATABANK
  NAME=altalanos
  START=0x20
  END=0xFF
SHAREBANK
  NAME=[név]
  START=[kezdőcím]
  END=[zárócím]
  [védettség]
A minden adatmemória-lapról elérhető regiszterek megadása, amelyek elérése nem igényel memória-lapozást. Egy bizonyos, minden lapról elérhető regiszterterület megadásához laponként külön utasítás szükséges, de megegyező azonosító névvel. Az egyes részekhez a PROTECTED kulcsszóval védettség rendelhető, amely lehetővé teszi a forrásprogramban adatmemóriacímhez közvetlenül hozzárendelt változók elhelyezését. Az utasítást és a paramétereket egy sorba kell írni. SHAREBANK
  NAME=sfr2
  START=0x02
  END=0x04
  PROTECTED
SHAREBANK
  NAME=sfr2
  START=0x82
  END=0x84
  PROTECTED

Vissza a lap tetejére


Program szekció elosztó utasítások

      A következő táblázatban bemutatásra kerülő utasítás a forráskódokban megadott szekciók memóriába helyezését irányítja.

11.6.4-3. Táblázat
Utasítás Hatása Példa
SECTION
  NAME=[szekció név]
  [RAM/ROM kiválasztás]
  =[memória terület azonosító]
A megadott forráskód szekciók elhelyezésének vezérlése. Az utasítás megadja, hogy egy adott szekció, melyik, előzőleg már azonosított, memóriaterületre kerüljön. Minden szekcióhoz külön utasítás szükséges. Az utasítást és a paramétereket egy sorba kell írni. SECTION
  NAME=foprogram
  ROM=program

Vissza a lap tetejére


      Az összefűzés vezérlő fájlokban a sorok végére megjegyzések helyezhetőek el két darab per jel (//) után. A megjegyzések a sor vége jelig tarthatnak.

      Az MPLINK programhoz a gyártó minden mikrovezérlő típushoz előre elkészített összefűzés vezérlő fájlokat biztosít, amelyek segítséget (kiindulási alapot) nyújtanak a kívánt fájl elkészítéséhez.
      A PIC16F84A mikrovezérlőhöz készített összefűzés vezérlő mintafájl:

// Sample linker command file for 16F84A
// $Id: 16f84a.lkr,v 1.4 2002/01/29 22:10:01 sealep Exp $
 
LIBPATH   .
 
CODEPAGE   NAME=vectors  START=0x0      END=0x4      PROTECTED
CODEPAGE   NAME=page     START=0x5      END=0x3FF
CODEPAGE   NAME=.idlocs  START=0x2000   END=0x2003   PROTECTED
CODEPAGE   NAME=.config  START=0x2007   END=0x2007   PROTECTED
CODEPAGE   NAME=eedata   START=0x2100   END=0x213F   PROTECTED
 
DATABANK   NAME=sfr0     START=0x0      END=0xB      PROTECTED
DATABANK   NAME=sfr1     START=0x80     END=0x8B     PROTECTED
 
DATABANK   NAME=gprs     START=0xC      END=0x4F
 
SECTION    NAME=STARTUP  ROM=vectors    // Reset and interrupt vectors
SECTION    NAME=PROG     ROM=page       // ROM code space
SECTION    NAME=IDLOCS   ROM=.idlocs    // ID locations
SECTION    NAME=CONFIG   ROM=.config    // Configuration bits location
SECTION    NAME=DEEPROM  ROM=eedata     // Data EEPROM

 

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Következő oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra