Pumpkin, Inc.

Pumpkin User Forums

Salvo - Compile Errors

If you're having difficulty installing Salvo, post it here.

Re: Salvo - Compile Errors

Postby aek » Thu Dec 21, 2006 4:28 am

Post your complete c:salvosrcmem.c here .. that's the only other thing I can think of. Or try it on another PC.

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Salvo - Compile Errors

Postby aek » Thu Dec 21, 2006 4:34 am

I suppose it also could be an updated linker problem -- I'll try v4.06 (tomorrow?).

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Salvo - Compile Errors

Postby Guru_Wanabee » Thu Dec 21, 2006 5:55 am

This is my mem.c it is the default mem.c that I downloaded with the Salvo install.

code:
/************************************************************ 
The contents of this file are subject to the Pumpkin Salvo
License (the "License"). You may not use this file except
in compliance with the License. You may obtain a copy of
the License at http://www.pumpkininc.com, or from
warranty@pumpkininc.com.

Software distributed under the License is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
or implied. See the License for specific language governing
the warranty and the rights and limitations under the
License.

The Original Code is Salvo - The RTOS that runs in tiny
places(TM). Copyright (C) 1995-2002 Pumpkin, Inc. and its
Licensor(s). All Rights Reserved.

$Source: C:\RCS\d\salvo\src\mem.c,v $
$Author: aek $
$Revision: 3.17 $
$Date: 2002-08-27 20:56:55-07 $

Global variable declarations.

************************************************************/

#ifndef __OSMEM_C
#define __OSMEM_C

#include "salvo.h"

/************************************************************
**** ****
** **
MPLAB-C18 requires an explicitly defined segment. Can only
do all-or-nothing -- that's why OSLOC_ALL cannot be used.

** **
**** ****
************************************************************/
#if OSCOMPILER == OSMPLAB_C18 && OSMPLAB_C18_LOC_ALL_NEAR
#pragma udata access OSVars
#endif

/* by placing OScTcbP as the first Salvo object, we're */
/* able to avoid problems that crop up with targets */
/* that allow placement of variables at address 0 */
/* (e.g. PIC18+MPLAB-C18, 8051+xdata, etc.). This */
/* works because we never point to OScTcbP. */
#if OSENABLE_TASKS
#include "salvoprg.h"
OSgltypeCTcbP OScTcbP;
#endif


#if OSUSE_ARRAYS
#if OSARRAY_SIZE_IS_BYTE
const OStypePrioA OSBits[8] =
{ 0x0001, 0x0002, 0x0004, 0x0008,
0x0010, 0x0020, 0x0040, 0x0080 };
#else
const OStypePrioA OSBits[16] =
{ 0x0001, 0x0002, 0x0004, 0x0008,
0x0010, 0x0020, 0x0040, 0x0080,
0x0100, 0x0200, 0x0400, 0x0800,
0x1000, 0x2000, 0x4000, 0x8000 };
#endif /* #if OSTASKS < 9 */
#endif


#if OSENABLE_TASKS
#include "salvoprg.h"
OSgltypeTcb OStcbArea[OSTASKS];
#endif

#if OSENABLE_TASKS && !OSUSE_ARRAYS
#include "salvoprg.h"
OSgltypeTcbP OSeligQP;
#endif

#if OSENABLE_TASKS && OSUSE_ARRAYS
#include "salvoprg.h"
OSgltypePrioA OSeligQP;
#endif

#if OSENABLE_EVENTS
#include "salvoprg.h"
OSgltypeEcb OSecbArea[OSEVENTS];
#endif

#if OSENABLE_SIGQ
#include "salvoprg.h"
OSgltypeSigQP OSsigQinP;
#endif

#if OSENABLE_SIGQ
#include "salvoprg.h"
OSgltypeSigQP OSsigQoutP;
#endif

#if OSENABLE_EVENT_FLAGS && OSEVENT_FLAGS
#include "salvoprg.h"
OSgltypeEfcb OSefcbArea[OSEVENT_FLAGS];
#endif

#if OSENABLE_MESSAGE_QUEUES && OSMESSAGE_QUEUES
#include "salvoprg.h"
OSgltypeMqcb OSmqcbArea[OSMESSAGE_QUEUES];
#endif

#if OSENABLE_DELAYS || OSENABLE_TIMEOUTS
#include "salvoprg.h"
OSgltypeTcbP OSdelayQP;
#endif

#if OSENABLE_STACK_CHECKING
#include "salvoprg.h"
OSgltypeDepth OSstkDepth, OSmaxStkDepth;
#endif

#if OSGATHER_STATISTICS && OSENABLE_COUNTS
#include "salvoprg.h"
OSgltypeCount OSctxSws;
#endif

#if OSGATHER_STATISTICS && OSENABLE_COUNTS && OSENABLE_IDLE_COUNTER
#include "salvoprg.h"
OSgltypeCount OSidleCtxSws;
#endif

#if OSGATHER_STATISTICS && OSENABLE_TIMEOUTS
#include "salvoprg.h"
OSgltypeErr OStimeouts;
#endif

#if OSLOGGING
#include "salvoprg.h"
OSgltypeErr OSerrs, OSwarns;
#endif

#if OSLOG_MESSAGES > OSLOG_NONE
#include "salvoprg.h"
OSgltypeLogMsg OSlogMsg[80];
#endif

#if OSENABLE_TICKS
#include "salvoprg.h"
OSgltypeTick OStimerTicks;
#endif

#if OSENABLE_PRESCALAR
#include "salvoprg.h"
OSgltypePS OStimerPS;
#endif

#if OSCTXSW_METHOD == OSRTNADDR_IS_VAR
#include "salvoprg.h"
OStypeRtnAddr OSrtnAddr;
#endif

#if OSENABLE_DELAYS
#include "salvoprg.h"
OSgltypeGlStat OSglStat;
#endif

#if OSCTXSW_METHOD == OSVIA_OSDISPATCH
#include "salvoprg.h"
OStypeInt16u OSframeP;
#endif

/* eight levels are more than enough ... */
#if ( OSTARGET == OSPIC18 ) && ( OSCOMPILER == OSIAR_ICC )

#define OSLOC_SAVEPIC18INTS __nonbanked /* always */

#if OSPIC18_INTERRUPT_MASK & 0x80
#include "salvoprg.h"
OSLOC_SAVEPIC18INTS OStypeInt8u OSsavePIC18GIE;
#endif

#if OSPIC18_INTERRUPT_MASK & 0x40
#include "salvoprg.h"
OSLOC_SAVEPIC18INTS OStypeInt8u OSsavePIC18PEIE;
#endif

#undef OSLOC_SAVEPIC18INTS

#endif

#endif /* __OSMEM_C #include guard */



[This message has been edited by aek (edited December 21, 2006).]

Guru_Wanabee
 
Posts: 11
Joined: Tue Dec 19, 2006 12:00 am

Re: Salvo - Compile Errors

Postby Guru_Wanabee » Thu Dec 21, 2006 5:58 am

aek... Thank you for your ongoing dedication and support. What versions of software are you using?

Salvo?
C18?
MPLAB?

Guru_Wanabee
 
Posts: 11
Joined: Tue Dec 19, 2006 12:00 am

Re: Salvo - Compile Errors

Postby Guru_Wanabee » Thu Dec 21, 2006 7:51 am

I placed the #error in the salvocfg.h file, and as expected it halted the build with the error "Hi There!". I turned off the optimization but to no avail.

What is 'init.o' and where is it located? It seems to me that any reference to OSLostTicks is going to fail. What other functions can I make reference to that would determine if there is an issue with my installation?

TX again

Guru_Wanabee
 
Posts: 11
Joined: Tue Dec 19, 2006 12:00 am

Re: Salvo - Compile Errors

Postby aek » Thu Dec 21, 2006 11:11 am

OK, that is the source of your error ...

Dunno where your files came from, but you should be using the files in http://www.pumpkininc.com/salvo/lite/pic/3.2 (the current release). Looking at the date of your mem.c in the header, you'll see that your file is way too old. The current header is shown below

code:
/************************************************************ 
The contents of this file are subject to the Pumpkin Salvo
License (the "License"). You may not use this file except
in compliance with the License. You may obtain a copy of
the License at http://www.pumpkininc.com, or from
warranty@pumpkininc.com.

Software distributed under the License is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
or implied. See the License for specific language governing
the warranty and the rights and limitations under the
License.

The Original Code is Salvo - The RTOS that runs in tiny
places(TM). Copyright (C) 1995-2002 Pumpkin, Inc. and its
Licensor(s). All Rights Reserved.

$Source: C:\RCS\d\salvo\src\mem.c,v $
$Author: aek $
$Revision: 3.28 $
$Date: 2003-07-24 15:18:23-07 $

Global variable declarations.

************************************************************/


So please delete your entire c:salvo tree, then download the current version and patches (3.2.3.exe and the various patches), install them, verify that your mem.c matches the header above, and you should be OK.

Here's a listing of the current download directory:

code:
Index of /salvo/lite/pic/3.2

Name Last modified Size Description

[DIR] Parent Directory 05-Oct-2006 14:18 -
[ ] salvo-lite-pic-3.2.3-a.zip 28-Dec-2003 20:23 161k
[ ] salvo-lite-pic-3.2.3-b.zip 16-Feb-2005 20:17 2.4M
[ ] salvo-lite-pic-3.2.3-c.zip 30-Oct-2005 19:00 1.1M
[ ] salvo-lite-pic-3.2.3-d.zip 14-Apr-2006 14:44 1.1M
[ ] salvo-lite-pic-3.2.3-e.zip 27-Nov-2006 18:38 2.9M
[ ] salvo-lite-pic-3.2.3.exe 27-Nov-2006 18:36 9.4M
[TXT] versions.txt 27-Nov-2006 18:36 2k


------------------

[This message has been edited by aek (edited December 21, 2006).]

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Salvo - Compile Errors

Postby aek » Thu Dec 21, 2006 11:23 am

So that you understand what was happening ... when you built a project, it was comprised of your main (calling Salvo services), an older Salvo mem.c (which did not include the global OSlostTicks variable), and the newer Salvo library (which referenced OSlostTicks via OSInit() in init.c).

Salvo's v3.2.3 installer replaces any files that are older then the new ones in the installer ... but if the file (e.g. mem.c) has changed (e.g. by editing it, giving it a recent file date) then the installer would have left it there instead of replacing it with a newer mem.c.

So when you have "smart" installer that replaces older files with newer ones (which is necessary when you have multiple distributions that all reference the same file), things can get screwed up if a file that was originally quite old has its date updated to be newer than a released version. The only way to clean all that up is to delete the entire tree, then re-install everything via the installers. This will work if you take an old Salvo for PIC installer and then later add in a newer Salvo for AVR and MegaAVR distribution, for example. The installer will make sure that the latest version of each file (e.g. mem.c) is what ends up on the disk (and which is what you want).

------------------

[This message has been edited by aek (edited December 21, 2006).]

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Salvo - Compile Errors

Postby Guru_Wanabee » Fri Dec 22, 2006 3:06 am

Thank you... I replaced the salvo installation with the exe that you pointed to. I updated the lib files with the -c.zip contents and all is well in my world.

Once again thank you very much and have a great holiday season (politically correct?)

Guru_Wanabee
 
Posts: 11
Joined: Tue Dec 19, 2006 12:00 am

Previous

Return to Installation

Who is online

Users browsing this forum: No registered users and 2 guests

cron