Created Wed, 06 Jun 2012 00:48:14 +0000 by kmansfie
Wed, 06 Jun 2012 00:48:14 +0000
Keith,
I found an issue using version mpide-0023-windows-20111221 of mpide and your debug instructions. When I attempt to compile the sketch using the <SHIFT>-verify with the debug board selected I get an error, can't find Board_Defs.h. I did a search and found the appropriate file and placed it where the compile was looking for includes. I had to do this in the mpide directory where my sketch was located and in the pic32/cores/pic32 directory to get it to compile.
I was wondering where the make files are and how they determine which Board_Defs.h to use?
I also tried to use your debug instructions with the latest test version mpide-0023-windows-20120603-test and there were a couple of undefines in that compilation. This is the output of the linker.
\Users\kmansfie\AppData\Local\Temp\build2351681338862438883.tmp\core.a -LC \Users\kmansfie\AppData\Local\Temp\build2351681338862438883.tmp -lm -T C \mpide-0023-windows-20120603-test\hardware\pic32\cores\pic32/chipKIT-MAX32-application-32MX795F512L-nobootloader.ld
c:/mpide-0023-windows-20120603-test/hardware/pic32/compiler/pic32-tools/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/lib\libc.a(lib_a-signalr.o): In function _kill_r': /Users/kjason/src/ArduinoIDE/chipKIT-cxx/chipKIT-cxx-master/win32-build/newlib/pic32mx/newlib/libc/reent/../../../../../../pic32-newlib/newlib/libc/reent/signalr.c:61: undefined reference to
kill'
c:/mpide-0023-windows-20120603-test/hardware/pic32/compiler/pic32-tools/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/lib\libc.a(lib_a-signalr.o): In function _getpid_r': /Users/kjason/src/ArduinoIDE/chipKIT-cxx/chipKIT-cxx-master/win32-build/newlib/pic32mx/newlib/libc/reent/../../../../../../pic32-newlib/newlib/libc/reent/signalr.c:96: undefined reference to
getpid'
collect2: ld returned 1 exit status
I hope that helps.
Thanks Kim KMI Technology
Fri, 15 Jun 2012 22:01:46 +0000
Thanks for the report. We have a fix incoming. I haven't tried this, but you may be able to work around the issue with something along the lines of
#ifdef __cplusplus
extern "C" {
#endif
/* only one prcess support, as this is OS dependant */
#define __MYPID 1
int _exit (int);
int
kill (int pid,
int sig)
{
if(pid == __MYPID)
_exit(sig);
return 0;
}
/*
* getpid -- only one process, so just return 1.
*/
int
getpid ()
{
return __MYPID;
}
#ifdef __cplusplus
}
#endif
Just add this code to your sketch. I hope it works.