Forum: Mikrocontroller und Digitale Elektronik Linker Error Pic p33FJ256


von Andy (Gast)


Lesenswert?

XC16 V1.25 Compiler bringt linker Error
build/default/production/_ext/1472/ISR.o(.isr.text+0x31c): In function 
`_INT3Interrupt':
../ISR.c:316: Link Error: PC Relative branch to '_DCF77' is out of 
range. Suggest large-code model.
build/default/production/_ext/1472/Init_Port_Timer.o(.text+0x12c): In 
function `.LSM126':
: Link Error: PC Relative branch to '___fixsfsi' is out of range. 
Suggest large-code model.
build/default/production/_ext/1472/Main.o(.text+0xa): In function 
`.LSM3':
: Link Error: PC Relative branch to '_initSPI' is out of range. Suggest 
large-code model.
make[2]: *** [dist/default/production/Hausteuerung_V100.production.hex] 
Error 255
make[2]: Leaving directory 
`D:/Testprogramme/Privat/Hausteuerung.X/Hausteuerung_V100'
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

Was ist da falsch eingestellt oder ist der Code schon zu lange???
Bitte im hilfe

Danke

von Stampede (Gast)


Lesenswert?

Hast du denn auch das Large Code Model in den Compileroptionen 
ausgewählt?

von Andy (Gast)


Lesenswert?

wo kann ich dies den einstellen im MPLAB X IDE

von Andy (Gast)


Lesenswert?

kann das sein das ich im Linker Files den Programmspeicher erhöhen bzw 
festlegen muss.
Im Moment schaut es so aus:

MEMORY
{
  data  (a!xr)   : ORIGIN = 0x800,         LENGTH = 0x7800
  reset          : ORIGIN = 0x0,           LENGTH = 0x4
  ivt            : ORIGIN = 0x4,           LENGTH = 0xFC
  _reserved      : ORIGIN = 0x100,         LENGTH = 0x4
  aivt           : ORIGIN = 0x104,         LENGTH = 0xFC
  program (xr)   : ORIGIN = 0x200,         LENGTH = 0x2AA00
  FBS            : ORIGIN = 0xF80000,      LENGTH = 0x2
  FSS            : ORIGIN = 0xF80002,      LENGTH = 0x2
  FGS            : ORIGIN = 0xF80004,      LENGTH = 0x2
  FOSCSEL        : ORIGIN = 0xF80006,      LENGTH = 0x2
  FOSC           : ORIGIN = 0xF80008,      LENGTH = 0x2
  FWDT           : ORIGIN = 0xF8000A,      LENGTH = 0x2
  FPOR           : ORIGIN = 0xF8000C,      LENGTH = 0x2
  FICD           : ORIGIN = 0xF8000E,      LENGTH = 0x2
  FUID0          : ORIGIN = 0xF80010,      LENGTH = 0x2
  FUID1          : ORIGIN = 0xF80012,      LENGTH = 0x2
  FUID2          : ORIGIN = 0xF80014,      LENGTH = 0x2
  FUID3          : ORIGIN = 0xF80016,      LENGTH = 0x2

von Andy (Gast)


Lesenswert?

keiner eine Idee

von Andy (Gast)


Lesenswert?

hab die Einstellung gefunden war auf default gestanden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.