Sida 1 av 1

MPLAB 8 hänger sig (GCC-PIC32) [LÖST]

Postat: 14 mars 2019, 15:19:05
av TomasL
Försöker använda ett eget linker-script, då jag vill ha en boot-loader.
Men, Har ändrat i linkerscriptet i enlighet med uChips instruktioner i AN1388.
Dock när jag kompilerar händer absolut ingenting när modulerna skall länkas.
Verkar som att allting bara stoppar, inga felmeddelanden eller dialogrutor, eller nånting.

Kod: Markera allt

/*************************************************************************
 * Processor-specific object file.  Contains SFR definitions.
 *************************************************************************/
INPUT("processor.o")

/**************************************************************************
 * For interrupt vector handling
 *************************************************************************/
PROVIDE(_vector_spacing = 0x00000001);
_ebase_address = 0x9D07F000;

/*************************************************************************
 * Memory Address Equates
 * _RESET_ADDR      -- Reset Vector
 * _BEV_EXCPT_ADDR  -- Boot exception Vector
 * _DBG_EXCPT_ADDR  -- In-circuit Debugging Exception Vector
 * _DBG_CODE_ADDR   -- In-circuit Debug Executive address
 * _DBG_CODE_SIZE   -- In-circuit Debug Executive size
 * _GEN_EXCPT_ADDR  -- General Exception Vector
 *************************************************************************/
_RESET_ADDR              = 0xBFC00000;
_BEV_EXCPT_ADDR          = 0xBFC00380;
_DBG_EXCPT_ADDR          = 0xBFC00480;
_DBG_CODE_ADDR           = 0xBFC02000;
_DBG_CODE_SIZE           = 0xFF0     ;
_GEN_EXCPT_ADDR          = _ebase_address + 0x180;

/*************************************************************************
 * Memory Regions
 *
 * Memory regions without attributes cannot be used for orphaned sections.
 * Only sections specifically assigned to these regions can be allocated
 * into these regions.
 *************************************************************************/
MEMORY
{
  kseg0_program_mem    (rx)  : ORIGIN = 0x9D07E690, LENGTH = 0x79690
  kseg0_boot_mem             : ORIGIN = 0x9D07E690, LENGTH = 0x970
  exception_mem              : ORIGIN = 0x9D07F000, LENGTH = 0x1000
  kseg1_boot_mem             : ORIGIN = 0xBFC00000, LENGTH = 0x490
  debug_exec_mem             : ORIGIN = 0xBFC02000, LENGTH = 0xFF0
  config3                    : ORIGIN = 0xBFC02FF0, LENGTH = 0x4
  config2                    : ORIGIN = 0xBFC02FF4, LENGTH = 0x4
  config1                    : ORIGIN = 0xBFC02FF8, LENGTH = 0x4
  config0                    : ORIGIN = 0xBFC02FFC, LENGTH = 0x4
  kseg1_data_mem       (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x20000
  sfrs                       : ORIGIN = 0xBF800000, LENGTH = 0x100000
  configsfrs                 : ORIGIN = 0xBFC02FF0, LENGTH = 0x10
}

/*************************************************************************
 * Configuration-word sections
 *************************************************************************/
SECTIONS
{
  .config_BFC02FF0 : {
    KEEP(*(.config_BFC02FF0))
  } > config3
  .config_BFC02FF4 : {
    KEEP(*(.config_BFC02FF4))
  } > config2
  .config_BFC02FF8 : {
    KEEP(*(.config_BFC02FF8))
  } > config1
  .config_BFC02FFC : {
    KEEP(*(.config_BFC02FFC))
  } > config0
}

Re: MPLAB 8 hänger sig (GCC-PIC32)

Postat: 14 mars 2019, 15:21:34
av bearing
Så du menar att den kompilerar alla filter, men sen blir det något konstigt vid länkningen?
Har du testat att skriva länk-kommandot manuellt i en terminal?

Re: MPLAB 8 hänger sig (GCC-PIC32)

Postat: 14 mars 2019, 15:48:21
av TomasL
Samma, inget händer, och jag kommer inte tillbaka till kommandotolken

Re: MPLAB 8 hänger sig (GCC-PIC32)

Postat: 14 mars 2019, 16:28:23
av bearing
INPUT-raden saknar semikolon, om det har betydelse.

Re: MPLAB 8 hänger sig (GCC-PIC32)

Postat: 14 mars 2019, 17:41:00
av TomasL
Det är en kopia av det länk-scriptet som normalt används, det som ändrats är minnes-regionerna

Re: MPLAB 8 hänger sig (GCC-PIC32)

Postat: 14 mars 2019, 20:21:51
av TomasL
Problemet löst, Det var Microchips urdåliga och inkompletta beskrivning som skapade problemet.

Det visade sig att man måste slå ihop bägge länkscript till ett, dels det generiska och dels det processorspecifika scriptet, till ett gemensamt script, vilket placeras i projekt-rooten.
Jag fattade inte detta utan tog bara den processorspecifika delen.