When Piklab parses the coff file after successful build, there is a warning reported, and Disassambly window says "Parsing COFF file is not supported for this device or an error occured."
I'm using XC16 or c30 compiler under Linux (XC16) or in a virtual machine Windows (c30) together with a custom Makefile.
Results are similar if using XC16 1.2 or latest c30 compiler:
Executing custom commands...
vmmake PROJECT=test
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 -x c -c "main.c" -o"main.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1 -g -Wall
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 -x c -c "Seven_Segment.c" -o"Seven_Segment.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1 -g -Wall
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 -x c -c "isr.c" -o"isr.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1 -g -Wall
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 -x c -c "ios.c" -o"ios.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1 -g -Wall
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 -x c -c "Hardware_config.c" -o"Hardware_config.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1 -g -Wall
/opt/microchip/xc16/v1.20/bin/xc16-gcc -omf=coff -mcpu=33FJ128GP802 main.o Seven_Segment.o isr.o ios.o Hardware_config.o -o"test.cof" -Wl,--script="/opt/microchip/xc16/v1.20/support/dsPIC33F/gld/p33FJ128GP802.gld",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD2=1,--defsym=__ICD2RAM=1,-Map="test.map",--report-mem
/opt/microchip/xc16/v1.20/bin/xc16-bin2hex test.cof -omf=coff
Program Memory [Origin = 0x200, Length = 0x155fe]
section address length (PC units) length (bytes) (dec)
------- ------- ----------------- --------------------
.text 0x200 0xc5a 0x1287 (4743)
.const 0xe5a 0x6 0x9 (9)
.text 0xe60 0x106 0x189 (393)
.dinit 0xf66 0xee 0x165 (357)
.text 0x1054 0xf6 0x171 (369)
Total program memory used (bytes): 0x16ef (5871) 4%
Data Memory [Origin = 0x800, Length = 0x4000]
section address alignment gaps total length (dec)
------- ------- -------------- -------------------
.icd 0x800 0x50 0x50 (80)
.nbss 0x850 0 0x1c (28)
.ndata 0x86c 0 0x16 (22)
.nbss 0x882 0 0x6 (6)
.ndata 0x888 0 0x2 (2)
.data.dpowers 0x88a 0 0xa0 (160)
.data 0x92a 0 0x2a (42)
.data._iob 0x954 0 0x26 (38)
.bss 0x97a 0 0x6 (6)
.data 0x980 0 0x2 (2)
Total data memory used (bytes): 0x182 (386) 2%
Dynamic Memory Usage
region address maximum length (dec)
------ ------- ---------------------
heap 0 0 (0)
stack 0x982 0x3e7e (15998)
Maximum dynamic memory (bytes): 0x3e7e (15998)
*** Erfolgreich ***
Parsing COFF file: /home/flo/asm/test/test.cof
Optional header format not supported: magic number is 0x0101.
I have enclosed the coff files for XC16 (test.cof) and c30 (c30.cof) in the attachment, together with the backtrace of "piklab-coff -c info FILE.cof" which creates a segfault.