----- Original Message -----
Hi All,
When I try to build the heli project I received the following message
at the very end:
c:\program files\microchip\mplab c30\bin\bin\..\bin/pic30-coff-ld.exe
Error: A heap is required, but has not been specified
c:/program files/microchip/mplab c30/bin/bin/../../lib\libc-
coff.a(vsnprintf.o)(.libc.vsnprintf+0x1e):fake: undefined reference to
`assert'
c:/program files/microchip/mplab c30/bin/bin/../../lib\libc-
coff.a(vsnprintf.o)(.libc.vsnprintf+0x22):fake: undefined reference to
`alloc'
BUILD FAILED: Mon Dec 20 05:49:10 2010
Does anyone know how to fix these problems?
I am using the C30 compiler v3.25 and MPLAB v7.5.
Thanks.
Steven
From: <stev...@live.cn>
To: "UAVHeliBoard" <UAVHel...@googlegroups.com>
Sent: Sunday, December 19, 2010 2:48 PM
Subject: Re: Problems when doing building the project,please help.
> Hi John,
>
> I am still getting the same errors. Is there any other way to solve
> these problems? Thank you.
>
> Regards,
> Steven
That's a pretty old version of mplab. I would suggest upgrading that. It includes a default heap. Otherwise you have to set it manually in project settings.
I was able to compile with 7.5 early on, but have upgraded quite a while ago
and I made ite a few changes in the heli code since then.
Tom's suggestion to upgrade is a good one.
----- Original Message -----
From: <stev...@live.cn>
To: "uavdevboard" <uavde...@googlegroups.com>
Sent: Sunday, December 19, 2010 3:15 PM
Subject: Re: Fw: Problems when doing building the project,please help.
It looks like your errors are both associated with vsnprintf used to output
to the serial port. This is called in serialIO.c. You might check your
options.h file and set
#define SERIAL_OUTPUT_FORMAT SERIAL_NONE
Then comment out the vsnprintf block.
This is not a fix, but might shed light on the problem.
So I take it that your ICD2 now works with v8.x?
John
I did notice that in later versions of MatrixPilot (v2.5 for instance) where
they use libDCM they add the definition:
#define _ADDED_C_LIB 1 // Needed to get vsnprintf()
to telemetry source (equivalent to our serialIO).
MP-H does not utilize libDCM (yet), and it has compiled fine. I wonder if
you have been using a recent version of Matrix Pilot and somehow the
references got confused?
Is MP-H the only code you have been using?
Shot in the dark,
John
As I said, disabling serial output and commenting out the vsnprintf code is
not a fix, but it does confirm that this is the problem.
I had hoped that one of the compiler gurus would chime in on this for a real
fix.
It sounds like you are stuck on 7.5 because of your ICD2. I had this
problem, but Sparkfun fixed it for me. Others have gone with other
programmers like the PicKit.
Be sure to check out Bill's tutorial on programming the UDB at:
http://gentlenav.googlecode.com/files/PICProgrammingGettingStarted.pdf
I am using MPLAB v8.10 with the ICD2 with no issues.
At this stage, you might try the demo program to see if the UDB behaves as
expected. I forget which board you have but there are some testing code on
the MatrixPilot site:
http://code.google.com/p/gentlenav/wiki/Home?tm=6
Best,
John
----- Original Message -----
From: <stev...@live.cn>
To: "uavdevboard" <uavde...@googlegroups.com>
I think I answered the wrong question...I am using v3.22 C30 compiler.
John
----- Original Message -----
From: <stev...@live.cn>
To: "uavdevboard" <uavde...@googlegroups.com>
Does your project settings have an include or lib folder that it points to?
I know this doesn't help now.. but a version of telemetry.c without vsprintf is on the to do list.
> > On 12��20��, ����11ʱ02��, "John McClelland" <mcclelland.j...@gmail.com>
> >> On 12��20��, ����9ʱ29��, "John McClelland" <mcclelland.j...@gmail.com>
Look at this thread...it is your problem and has a fix....or just get the
earlier version of the C30 compiler.
http://www.microchip.com/forums/m535514-print.aspx
John
----- Original Message -----
From: <stev...@live.cn>
To: "uavdevboard" <uavde...@googlegroups.com>
Glad that worked for you...good luck. We should probably document this
compiler issue and it's solution.
Best,
John
----- Original Message -----
From: <stev...@live.cn>
To: "uavdevboard" <uavde...@googlegroups.com>