TIUSB Linker související otázky

M

maheshpeddi

Guest
Zdravím všechny,Specifikace říká, že
V TIUSB3410 čip, za normálního režimu 10K ROM je mapována na (0x8000-0xA7FF) v kódu prostoru.Interní 16K RAM je mapován na rozsah adres (0x0000-0x3FFF) v kódu prostoru.Nárazníky, MMR, a I / O jsou mapovány na rozsah adres (0xF800-0xFFFF) v datovém prostoru.

JÁ am prospěch následující chyby při stavbě TIUSB3410 zdrojový kód.

Chyba [E16]: Segment IDATA_Z (velikost: 0x1d9 align: 0) je příliš dlouhá pro segment definice.Alespoň 0x154 více bytů zapotřebí.Problém nastal při zpracování segment umístění příkaz "-Z (IDATA) IDATA_I, IDATA_Z, IDATA_N = 08-_IDATA_END", kde v okamžiku umístění dostupné paměti rozpětí bylo "IDATA: 7b-ff"
Vyhrazené rozsahy týkající se tohoto umístění:
IDATA :8-f VREG
IDATA :10-19 DATA_Z
IDATA: 1a-1f IDATA_I
IDATA :21-ff IDATA_I
BIT :0-7 BREG
BIT :90-97 SFR_AN
BIT: B0-B7 SFR_AN

Po dočtení TIUSB3410 specifikace, jsem upravil skript Linker takto.

I definovat kód, XData, IXData 'start' a 'end', jak následovat?

CODE - 0x0000 - 0x3FFF
XDATA - 0xF800 - 0xFFFF
IXDATA - 0xF800 - 0xFFFF

I definovat PDATA s??není si tím jistý
-D_PDATA_START = 0x0000 / / První adresa pro paměťové PDATA
-D_PDATA_END = 0x00FF / / Poslední adresa pro paměťové PDATA

Zbytek souboru je následující

/ / Speciální SFRs
/ / ------------
/ / Kód banky nastavení
-D_FIRST_BANK_ADDR = 0x10000
-D_NR_OF_BANKS = 0x10
/ /
/ / Registrace bank nastavení
/ /
-D? REGISTER_BANK = 0 / / Výchozí registrovat bank (0,1,2,3).
-D_REGISTER_BANK_START = 0 / / Start adresu pro registr bankovních default (00,08,10,1

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Chladný" border="0" />

.
/ /
/ / PDATA nastavení stránky
/ /
-D? PBANK_NUMBER = 0F / / vysoký byte 16-bit adresu na plochu PDATA
-D? PBANK = A0 / / Nejvýznamnější byte v MOVX, @ R0.(0xA0 je SFR P2)
-D? PBANK_EXT = 0xEA / / Nejvýznamnější byte v MOVX, @ R0.(0xEA je pro Dallas DS80C390)
/ /
/ / Virtuel registrovat nastavení
/ /
/ / /-D_NR_OF_VIRTUAL_REGISTERS = 0x20
-D? VB = 20 / / použitý se odkazovat na BREG jako byte.
/ /
/ /
////////////////////////////////////////////////// //////////////////////////////

/ / Include lnk_base příkazový soubor
/ / =================================
-F lnk_base.xcl

Jsem nový 8051 a IAR spojené skripty.Četl jsem ale 8051 kompilátor a linker manuálů poskytovaných IAR a mohl opravit některé části linker parametry jak je uvedeno výše.Prosím, dejte mi vědět, jestli to dělám dobře.

S pozdravem,
Mahesh

 

Welcome to EDABoard.com

Sponsor

Back
Top