Problem with heaps & Stacks when compiling
Posted: Wed Aug 22, 2012 1:04 am
Hi All,
With much help from certain class individuals on the forum, I got my code working in simulation and in Real Pic.
We wrote the code around a 12F617.
However, I then tried to recompile for a 12F675 as my target board had this in place - soldered.
I changed the chip configuration in FC and re-exported the hex for the 12F675. The compiler returned the following for the 617.
File name: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
Generated by: Flowcode v4.5.18.74
Date: Wednesday, August 22, 2012 00:41:11
Licence: Professional
Registered to: Dave Benning
http://www.matrixmultimedia.com
Launching the compiler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostc_pic16_flowcode.exe -v -t PIC12F617 "HeaterControlVgdb2tst.c"
BoostC Optimizing C Compiler Version 7.04 (for PIC16 architecture)
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Licensed to FlowCode User under Single user Pro License for 1 node(s)
Limitations: PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited
HeaterControlVgdb2tst.c
Starting preprocessor: c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\pp.exe HeaterControlVgdb2tst.c -i c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\include -d _PIC12F617 -la -c2 -o HeaterControlVgdb2tst.pp -v -d _BOOSTC -d _PIC16 -d _CHAR_INDEX
.
HeaterControlVgdb2tst.c success
success
Return code = 0
Launching the linker/assembler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostlink_pic.exe -ld "C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "HeaterControlVgdb2tst.obj" -t PIC12F617 -d "C:\Users\Dave\Desktop\Projects\Wash" -p "HeaterControlVgdb2tst"
BoostLink Optimizing Linker Version 7.03
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCD_ADC0_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC0_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC0_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
Building CASM file
Memory Usage Report
===================
RAM available:128 bytes, used:64 bytes (50.0%), free:64 bytes (50.0%),
Heap size:64 bytes, Heap max single alloc:31 bytes
ROM available:2048 words, used:738 words (36.1%), free:1310 words (63.9%)
success
Return code = 0
FINISHED
But this was what I got when I compiled for the 675.....and the board doesn't work at all....nada.......nothing.....
File name: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
Generated by: Flowcode v4.5.18.74
Date: Wednesday, August 22, 2012 00:59:26
Licence: Professional
Registered to: Dave Benning
http://www.matrixmultimedia.com
Launching the compiler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostc_pic16_flowcode.exe -v -t PIC12F675 "HeaterControlVgdb2tst675.c"
BoostC Optimizing C Compiler Version 7.04 (for PIC16 architecture)
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Licensed to FlowCode User under Single user Pro License for 1 node(s)
Limitations: PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited
HeaterControlVgdb2tst675.c
Starting preprocessor: c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\pp.exe HeaterControlVgdb2tst675.c -i c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\include -d _PIC12F675 -la -c2 -o HeaterControlVgdb2tst675.pp -v -d _BOOSTC -d _PIC16 -d _CHAR_INDEX
.
HeaterControlVgdb2tst675.c success
success
Return code = 0
Launching the linker/assembler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostlink_pic.exe -ld "C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "HeaterControlVgdb2tst675.obj" -t PIC12F675 -d "C:\Users\Dave\Desktop\Projects\Wash" -p "HeaterControlVgdb2tst675"
BoostLink Optimizing Linker Version 7.03
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCD_ADC0_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC0_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC0_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
Building CASM file
Memory Usage Report
===================
RAM available:64 bytes, used:64 bytes (100.0%), free:0 bytes (0.0%),
Heap size:0 bytes, Heap max single alloc:0 bytes
ROM available:1024 words, used:743 words (72.6%), free:281 words (27.4%)
success
Return code = 0
FINISHED
Can anyone enlighten me as to what's wrong? No errors are reported but differences in Heap and Allocation are apparent..........is this what's stopping my code from working on the 675? and why does it happen?
Dave
With much help from certain class individuals on the forum, I got my code working in simulation and in Real Pic.
We wrote the code around a 12F617.
However, I then tried to recompile for a 12F675 as my target board had this in place - soldered.
I changed the chip configuration in FC and re-exported the hex for the 12F675. The compiler returned the following for the 617.
File name: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
Generated by: Flowcode v4.5.18.74
Date: Wednesday, August 22, 2012 00:41:11
Licence: Professional
Registered to: Dave Benning
http://www.matrixmultimedia.com
Launching the compiler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostc_pic16_flowcode.exe -v -t PIC12F617 "HeaterControlVgdb2tst.c"
BoostC Optimizing C Compiler Version 7.04 (for PIC16 architecture)
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Licensed to FlowCode User under Single user Pro License for 1 node(s)
Limitations: PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited
HeaterControlVgdb2tst.c
Starting preprocessor: c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\pp.exe HeaterControlVgdb2tst.c -i c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\include -d _PIC12F617 -la -c2 -o HeaterControlVgdb2tst.pp -v -d _BOOSTC -d _PIC16 -d _CHAR_INDEX
.
HeaterControlVgdb2tst.c success
success
Return code = 0
Launching the linker/assembler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostlink_pic.exe -ld "C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "HeaterControlVgdb2tst.obj" -t PIC12F617 -d "C:\Users\Dave\Desktop\Projects\Wash" -p "HeaterControlVgdb2tst"
BoostLink Optimizing Linker Version 7.03
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCD_ADC0_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC0_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC0_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
FCD_ADC1_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst.c
Building CASM file
Memory Usage Report
===================
RAM available:128 bytes, used:64 bytes (50.0%), free:64 bytes (50.0%),
Heap size:64 bytes, Heap max single alloc:31 bytes
ROM available:2048 words, used:738 words (36.1%), free:1310 words (63.9%)
success
Return code = 0
FINISHED
But this was what I got when I compiled for the 675.....and the board doesn't work at all....nada.......nothing.....
File name: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
Generated by: Flowcode v4.5.18.74
Date: Wednesday, August 22, 2012 00:59:26
Licence: Professional
Registered to: Dave Benning
http://www.matrixmultimedia.com
Launching the compiler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostc_pic16_flowcode.exe -v -t PIC12F675 "HeaterControlVgdb2tst675.c"
BoostC Optimizing C Compiler Version 7.04 (for PIC16 architecture)
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Licensed to FlowCode User under Single user Pro License for 1 node(s)
Limitations: PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited
HeaterControlVgdb2tst675.c
Starting preprocessor: c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\pp.exe HeaterControlVgdb2tst675.c -i c:\PROGRA~2\MATRIX~1\FLOWCO~1\boostc\include -d _PIC12F675 -la -c2 -o HeaterControlVgdb2tst675.pp -v -d _BOOSTC -d _PIC16 -d _CHAR_INDEX
.
HeaterControlVgdb2tst675.c success
success
Return code = 0
Launching the linker/assembler...
c:\program files (x86)\matrix multimedia\flowcode v4\boostc\boostlink_pic.exe -ld "C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "HeaterControlVgdb2tst675.obj" -t PIC12F675 -d "C:\Users\Dave\Desktop\Projects\Wash" -p "HeaterControlVgdb2tst675"
BoostLink Optimizing Linker Version 7.03
http://www.sourceboost.com
Copyright(C) 2004-2011 Pavel Baranov
Copyright(C) 2004-2011 David Hobday
Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: C:\Program Files (x86)\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCD_ADC0_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC0_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC0_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsByte in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsVoltage in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
FCD_ADC1_ReadAsString in: C:\Users\Dave\Desktop\Projects\Wash\HeaterControlVgdb2tst675.c
Building CASM file
Memory Usage Report
===================
RAM available:64 bytes, used:64 bytes (100.0%), free:0 bytes (0.0%),
Heap size:0 bytes, Heap max single alloc:0 bytes
ROM available:1024 words, used:743 words (72.6%), free:281 words (27.4%)
success
Return code = 0
FINISHED
Can anyone enlighten me as to what's wrong? No errors are reported but differences in Heap and Allocation are apparent..........is this what's stopping my code from working on the 675? and why does it happen?
Dave