2015-06-26 4 views
0

MPLAB использует procdefs.ld как файл конфигурации загрузчика:MPLAB против загрузчика файла MPLABX

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

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

/************************************************************************* 
* Memory Address Equates 
*************************************************************************/ 
_RESET_ADDR    = 0x9D00E000; 
_BEV_EXCPT_ADDR   = 0x9D00E380; 
_DBG_EXCPT_ADDR   = 0x9D00E480; 
_DBG_CODE_ADDR   = 0xBFC02000; 
_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 = 0x9D011000, LENGTH = 0x7A000 /* main */ 
    kseg0_boot_mem    : ORIGIN = 0x9D00E490, LENGTH = 0x7F0  /* startup code */ 
    exception_mem    : ORIGIN = 0x9D00F000, LENGTH = 0x1000 
    kseg1_boot_mem    : ORIGIN = 0x9D00E000, 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 
} 

Но когда я пытаюсь использовать один и тот же файл в MPLABX я получаю несколько ошибок:

"C:\Program Files (x86)\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX695F512L -o dist/default/production/NuWavDSDjr.X.production.elf build/default/production/_ext/2049610667/init.o build/default/production/_ext/2049610667/ir_rx.o build/default/production/_ext/2049610667/timer.o build/default/production/_ext/2049610667/uart.o build/default/production/_ext/2049610667/BLinterface.o build/default/production/_ext/2049610667/uart2.o build/default/production/_ext/65885567/FSIO.o build/default/production/_ext/1295770447/Delay.o build/default/production/_ext/1295770447/Helpers.o build/default/production/_ext/1295770447/Reboot.o build/default/production/_ext/1295770447/Tick.o build/default/production/_ext/1295770447/SPIEEPROM.o build/default/production/_ext/1295770447/SPIFlash.o build/default/production/_ext/1295770447/SPIRAM.o build/default/production/_ext/713068069/usb_host.o build/default/production/_ext/1726182412/usb_host_msd.o build/default/production/_ext/1726182412/usb_host_msd_scsi.o build/default/production/_ext/1472/USB.o build/default/production/_ext/1472/main.o build/default/production/_ext/1472/settings.o build/default/production/_ext/1472/exceptions.o build/default/production/_ext/1472/trigger.o build/default/production/_ext/1472/boot_load_hex.o build/default/production/_ext/1472/usb_config.o build/default/production/_ext/1472/a2dPP.o build/default/production/_ext/1472/logoPP.o build/default/production/_ext/1504692182/PowerPlay_Infrared.o build/default/production/_ext/1504692182/PowerPlay_Main.o build/default/production/_ext/1504692182/PowerPlay_Unit.o build/default/production/_ext/1472/SSD1309.o build/default/production/_ext/1472/mpc4802.o build/default/production/_ext/1472/AmpCtl.o build/default/production/_ext/1472/Xmos.o build/default/production/_ext/1472/Led.o build/default/production/_ext/1472/Relay.o build/default/production/_ext/1472/XMOS_flash.o build/default/production/_ext/1472/MENU.o build/default/production/_ext/1472/CPLD.o build/default/production/_ext/1472/XMOS_pgm.o build/default/production/_ext/1472/Knob.o build/default/production/_ext/1472/FPGA.o build/default/production/_ext/1472/DSD_DAC.o build/default/production/_ext/1472/queue.o build/default/production/_ext/1472/Si5338.o build/default/production/_ext/1472/i2c.o ..\..\Microchip\Crypto\AES_PIC32MX.a -Wl,--defsym=__MPLAB_BUILD=1,--script="..\procdefs.ld",--defsym=_min_heap_size=16000,--defsym=_min_stack_size=2048,-L"..",-L".",-Map="dist/default/production/NuWavDSDjr.X.production.map" 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib/crt0.o: In function `_no_nmi': 
crt0.S:(.startup+0x20): undefined reference to `_stack' 
crt0.S:(.startup+0x24): undefined reference to `_stack' 
crt0.S:(.startup+0x28): undefined reference to `_gp' 
crt0.S:(.startup+0x2c): undefined reference to `_gp' 
crt0.S:(.startup+0x5c): undefined reference to `_bss_begin' 
crt0.S:(.startup+0x60): undefined reference to `_bss_begin' 
crt0.S:(.startup+0x64): undefined reference to `_bss_end' 
crt0.S:(.startup+0x68): undefined reference to `_bss_end' 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib/crt0.o: In function `_bss_check': 
crt0.S:(.startup+0x94): undefined reference to `_data_image_begin' 
crt0.S:(.startup+0x98): undefined reference to `_data_image_begin' 
crt0.S:(.startup+0x9c): undefined reference to `_data_begin' 
crt0.S:(.startup+0xa0): undefined reference to `_data_begin' 
crt0.S:(.startup+0xa4): undefined reference to `_data_end' 
crt0.S:(.startup+0xa8): undefined reference to `_data_end' 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib/crt0.o: In function `_init_check': 
crt0.S:(.startup+0xd0): undefined reference to `_ramfunc_length' 
crt0.S:(.startup+0xd4): undefined reference to `_ramfunc_length' 
crt0.S:(.startup+0xe0): undefined reference to `_ramfunc_image_begin' 
crt0.S:(.startup+0xe4): undefined reference to `_ramfunc_image_begin' 
crt0.S:(.startup+0xe8): undefined reference to `_ramfunc_begin' 
crt0.S:(.startup+0xec): undefined reference to `_ramfunc_begin' 
crt0.S:(.startup+0xf0): undefined reference to `_ramfunc_end' 
crt0.S:(.startup+0xf4): undefined reference to `_ramfunc_end' 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib/crt0.o: In function `_ramfunc_check': 
crt0.S:(.startup+0x114): undefined reference to `_bmxdkpba_address' 
crt0.S:(.startup+0x118): undefined reference to `_bmxdkpba_address' 
crt0.S:(.startup+0x128): undefined reference to `_bmxdudba_address' 
crt0.S:(.startup+0x12c): undefined reference to `_bmxdudba_address' 
crt0.S:(.startup+0x13c): undefined reference to `_bmxdupba_address' 
crt0.S:(.startup+0x140): undefined reference to `_bmxdupba_address' 
C:\Program Files (x86)\Microchip\MPLAB C32 Suite\bin\..\lib\gcc\pic32mx\3.4.4\..\..\..\..\pic32mx\bin\ld.exe: small-data section exceeds 64KB; lower small-data size limit (see option -G) 
build/default/production/_ext/2049610667/ir_rx.o: In function `IR_RX_Init': 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:116: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:117: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:118: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:119: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:120: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:121: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:122: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:123: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:124: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:125: relocation truncated to fit: R_MIPS_GPREL16 against `no symbol' 
C:\projects\073 NuWavDSDjr-FPGAtest\NuWavDSDjr\NuWavDSDjr.X/../../Common/ir_rx.c:141: additional relocation overflows omitted from the output 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib\libc.a(sbrk.o): In function `_stub_sbd_memlayout': 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._stub_sbd_memlayout+0x4): undefined reference to `_heap' 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._stub_sbd_memlayout+0x10): undefined reference to `_heap' 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib\libc.a(sbrk.o): In function `_sbrk_init': 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0x38): undefined reference to `_end' 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0xf4): undefined reference to `_end' 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0x3c): undefined reference to `_end' 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0xbc): undefined reference to `_end' 
/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0xc4): undefined reference to `_end' 
C:/Program Files (x86)/Microchip/MPLAB C32 Suite/bin/../lib/gcc/pic32mx/3.4.4/../../../../pic32mx/lib\libc.a(sbrk.o):/home/c11067/work/c32/builds/pic32-microchip-release-1.11B-20100802-20100803/pic32-libs/c/stubs/sbrk.c:(.text._sbrk_init+0x108): more undefined references to `_end' follow 
make[2]: *** [dist/default/production/NuWavDSDjr.X.production.hex] Error 1 
make[1]: *** [.build-conf] Error 2 
make: *** [.build-impl] Error 2 
nbproject/Makefile-default.mk:648: recipe for target 'dist/default/production/NuWavDSDjr.X.production.hex' failed 
make[2]: Leaving directory 'C:/projects/073 NuWavDSDjr-FPGAtest/NuWavDSDjr/NuWavDSDjr.X' 
nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed 
make[1]: Leaving directory 'C:/projects/073 NuWavDSDjr-FPGAtest/NuWavDSDjr/NuWavDSDjr.X' 
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed 

BUILD FAILED (exit value 2, total time: 25s) 

Как определить файл конфигурации загрузчика для MPLABX? Какие изменения необходимо сделать для mplabx?

ответ

0

Я бы предложил перейти на xc32 v1.40, текущая версия, C32 довольно старая. В моем окне in dir «C: \ Program Files (x86) \ Microchip \ xc32 \ v1.40 \ examples \ xc32_examples \ custom_ld_file" - пример проекта с пользовательским примером файла .ld с комментариями, которые могут вам помочь. Если вы не можете/не хотите меняться на xc32, я предлагаю вам оставаться с MpLAB IDE и C32, который работает. Входящие дорожки для X весьма различны.