New install v8.1 xc16 PIC24 compiling but not linking assembling
Posted: Wed Nov 21, 2018 2:05 am
On testing my installation for PIC 16 bit devices I set up a simple test flowchart called Flowcode1 with a while 1 loop and tried to compile to HEX. It compiles ok but doesn't link when using either the default Flowcode xc16 or the Microchip xc16 compiler. In both cases the output text msg indicates there is something wrong with the Flowcode1.o file. I'm using the same compiler setting options as in my Flowcode 7 installation. The freaky thing is however, when I now try to do the same thing in my Flowcode 7 that is also now not working. Same error!!! But I know I had this working ok in Flowcode 7.0. Maybe it got broken when I updated to 7.3. The thing is I play with xc8 devices more than xc16 so its been a while since I tried to compile to a PIC24Fxxx device. I'm wondering if something has changed on my Windows 8 computer or whether the Windows Defender update has messed things up. Can anyone determine anything from my output report text file?
EDIT: This morning I turned off the Windows Defender but it made no difference. I also edited the HKLM resistry NTFS 8.3 short names setting (set it it to 0) but that made no difference either. It was definitely working under Flowcode v7.0. I can't think what is wrong with the .o object file. I have my toolchains in v7 and v8 installed in the program files (x86)\flowcode\compilers installation folder not the common files folder. That's where the v7 installation put them so I did the same on the Flowcode 8 installation. Besides the compiler works with both the default and the Microchip so I can't think it's a file location problem. What I'm I missing?
--------------------------------------------------------------------------------------------------------------------------
Launching the compiler...
C:\Program Files (x86)\Microchip\xc16\v1.31\bin\pic16_C30_comp.bat "Flowcode1" "C:\Users\Eve\DOCUME~1\" "24F08KA101"
C:\Users\Eve\DOCUME~1>xc16-gcc -c -mcpu="24F08KA101" -funsigned-char -fno-short-double -Os -I"C:\PROGRA~2\MICROC~1\xc16\v1.31\bin\..\support\h" -I"C:\PROGRA~2\MICROC~1\xc16\v1.31\bin\" -std=gnu99 "Flowcode1".c -o "Flowcode1".o
Flowcode1.c:93:1: warning: '_FBS' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FGS' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FOSCSEL' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FOSC' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FWDT' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FPOR' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FICD' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FDS' definition has been deprecated: consider migrating to #pragma config
.
Compilation successful!
Launching the linker/assembler...
C:\Program Files (x86)\Flowcode 8\compilers\pic16\batchfiles\pic16_C30_link.bat "C:\Users\Eve\DOCUME~1\Flowcode1" 24F08KA101 24F
.
C:\Users\Eve\DOCUME~1\Flowcode1.o: file not recognized: File format not recognized
Error returned from [xc16-gcc.exe]
C:\Program Files (x86)\Flowcode 8\compilers\pic16\batchfiles\pic16_C30_link.bat reported error code 1
EDIT: This morning I turned off the Windows Defender but it made no difference. I also edited the HKLM resistry NTFS 8.3 short names setting (set it it to 0) but that made no difference either. It was definitely working under Flowcode v7.0. I can't think what is wrong with the .o object file. I have my toolchains in v7 and v8 installed in the program files (x86)\flowcode\compilers installation folder not the common files folder. That's where the v7 installation put them so I did the same on the Flowcode 8 installation. Besides the compiler works with both the default and the Microchip so I can't think it's a file location problem. What I'm I missing?
--------------------------------------------------------------------------------------------------------------------------
Launching the compiler...
C:\Program Files (x86)\Microchip\xc16\v1.31\bin\pic16_C30_comp.bat "Flowcode1" "C:\Users\Eve\DOCUME~1\" "24F08KA101"
C:\Users\Eve\DOCUME~1>xc16-gcc -c -mcpu="24F08KA101" -funsigned-char -fno-short-double -Os -I"C:\PROGRA~2\MICROC~1\xc16\v1.31\bin\..\support\h" -I"C:\PROGRA~2\MICROC~1\xc16\v1.31\bin\" -std=gnu99 "Flowcode1".c -o "Flowcode1".o
Flowcode1.c:93:1: warning: '_FBS' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FGS' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FOSCSEL' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FOSC' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FWDT' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FPOR' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FICD' definition has been deprecated: consider migrating to #pragma config
Flowcode1.c:93:1: warning: '_FDS' definition has been deprecated: consider migrating to #pragma config
.
Compilation successful!
Launching the linker/assembler...
C:\Program Files (x86)\Flowcode 8\compilers\pic16\batchfiles\pic16_C30_link.bat "C:\Users\Eve\DOCUME~1\Flowcode1" 24F08KA101 24F
.
C:\Users\Eve\DOCUME~1\Flowcode1.o: file not recognized: File format not recognized
Error returned from [xc16-gcc.exe]
C:\Program Files (x86)\Flowcode 8\compilers\pic16\batchfiles\pic16_C30_link.bat reported error code 1