Page 2 of 2

Re: Function declared implicit

PostPosted: Tue May 17, 2005 10:11 am
by aek
Hi Gavin.

All of the stuff we're covering here is in the various Salvo manuals ...

Right now, the library "callout" in your salvocfg.h does not match the library you're linking to ... hence objects in salvosrcmem.o that the library is looking for are not present. That's because the entire Salvo build is driven from salvocfg.h, and it "controls" which parts of salvosrcmem.c are compiled, etc.

My guess is that OSLIBRARY_CONFIG in your salvocfg.h is not set to OSA ...

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


Re: Function declared implicit

PostPosted: Wed May 18, 2005 5:54 am
by GavinS
Howdy. Ok this is my last attempt to get this working. I'm using the sfp40amb library (ie multitasking only and variant b) and I believe I've got the salvocfg.h setting correct (see listing below).

When I compile now I just get a list of "Overflow" errors (See paste below). I've searched through all the manuals and app-notes, but this error or it's cause isn't explained anywhere.

-Cheers,
GavinS


#define SYSA 1
#define MAKE_WITH_FREE_LIB 1

#if defined(MAKE_WITH_FREE_LIB)
/* */
/* Salvo Lite build */
/* */
#define OSUSE_LIBRARY TRUE
#define OSLIBRARY_TYPE OSF
#define OSLIBRARY_CONFIG OSM
#define OSLIBRARY_VARIANT OSB
#define OSEVENTS 0 /* multitasking only */
#define OSEVENT_FLAGS 0
#define OSMESSAGE_QUEUES 0
#define OSTASKS 3
#define OSTARGET OSPIC16

Executing: C:PICCLITEBINPICL.EXE -Q -MPLAB -C -Emain.cce -16F84A main.c -Omain.obj -Ic:picmyrtos -Ic:salvoinc -G
Executing: C:PICCLITEBINPICL.EXE -Q -MPLAB -C -Emem.cce -16F84A mem.c -Omem.obj -Ic:picmyrtos -Ic:salvoinc -G
Executing: C:PICCLITEBINPICL.EXE -Q -MPLAB -EFirstRTOS.lde -16F84A C:picMyRTOSmain.obj C:salvosrcmem.obj C:salvolibhtpiccsfp40amb.lib -MFIRSTR~1.MAP -FAKELOCAL -OFirstRTOS.cof
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x736 (0x734+2), size 1, value 0x93)
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x738 (0x734+4), size 1, value 0x92)
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x73A (0x734+6), size 1, value 0x94)
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x73C (0x734+8), size 1, value 0x95)
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x73E (0x734+10), size 1, value 0x96)
Error[000] C:salvolibhtpiccsfp40amb.lib(init.obj) 13 : Fixup overflow in expression (loc 0x740 (0x734+12), size 1, value 0x97)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7AA (0x7A0+10), size 1, value 0x93)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7AC (0x7A0+12), size 1, value 0x92)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7AE (0x7A0+14), size 1, value 0x92)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7B4 (0x7A0+20), size 1, value 0x93)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7BC (0x7A0+28), size 1, value 0x93)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7C0 (0x7A0+32), size 1, value 0x92)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7DE (0x7A0+62), size 1, value 0x92)
Error[000] C:salvolibhtpiccsfp40amb.lib(sched.obj) 16 : Fixup overflow in expression (loc 0x7F4 (0x7A0+84), size 1, value 0x92)
BUILD FAILED: Thu May 19 11:07:16 2005


Re: Function declared implicit

PostPosted: Fri May 20, 2005 5:10 am
by aek
Hi Gavin.

Your modified salvocfg.h looks fine -- you don't need the OSTARGET entry, but it doesn't hurt, either.

I'm not sure why you're getting the fixup errors. Did you download and install the -a.zip patch? It's specifically for the 'F84.

The issue with the 'F84 (as opposed to chips that are more popular with Salvo, like the 'F877, etc.) is that the 'F84 has very little RAM in the lower two banks. If you overfill the banks, you'll get fixup errors.

Assuming your main() is just the calls to Init(), OSInit() and OSSched(), then I'm not really sure as to why you're getting the fixup errors.

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


Re: Function declared implicit

PostPosted: Fri May 20, 2005 5:21 am
by aek
Hi Gavin.

After installing Salvo Lite v3.2.3 (no patches) I changd tu4lite to use the 'F84 and it failed.

I then installed the -a.zip patch file from the Salvo Lite PIC download directory and it built nicely:

code:
Deleting intermediary files... done.
Executing: "C:HT-PICinpicc.exe" -C -E"mem.cce" "mem.c" -O"mem.obj" -I"salvo ut u4sysa" -I"salvo ut u4sysa.... u1"
-I"salvo ut u4sysa......inc" -Zg9 -O -DSYSA -DMAKE_WITH_FREE_LIB -Q -MPLAB -16F84
Serial number: HCPIC-0XXXX
Licensed to : ANDREW KALMAN
Executing: "C:HT-PICinpicc.exe" -C -E"main.cce" "main.c" -O"main.obj" -I"salvo ut u4sysa" -I"salvo ut u4sysa.... u1"
-I"salvo ut u4sysa......inc" -Zg9 -O -DSYSA -DMAKE_WITH_FREE_LIB -Q -MPLAB -16F84
Serial number: HCPIC-0XXXX
Licensed to : ANDREW KALMAN
Executing: "C:HT-PICinpicc.exe" -E"tu4lite.lde" "C:salvosrcmem.obj" "C:salvo ut u4main.obj" "C:salvolibhtpiccsfp40aeb.lib"
-M"tu4lite.map" -W-9 -O"tu4lite.cof" -Q -MPLAB -16F84
Serial number: HCPIC-0XXXX
Licensed to : ANDREW KALMAN

Memory Usage Map:

Program ROM $0000 - $0027 $0028 ( 40) words
Program ROM $0239 - $03FF $01C7 ( 455) words
$01EF ( 495) words total Program ROM

Bank 0 RAM $000C - $0018 $000D ( 13) bytes
Bank 0 RAM $002C - $002D $0002 ( 2) bytes
$000F ( 15) bytes total Bank 0 RAM

Bank 1 RAM $0019 - $002B $0013 ( 19) bytes total Bank 1 RAM


Program statistics:

Total ROM used 495 words (48.3%)
Total RAM used 34 bytes (50.0%)

Loaded C:salvo ut u4sysa u4lite.cof
BUILD SUCCEEDED: Fri May 20 06:19:57 2005


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


[This message has been edited by aek (edited May 20, 2005).]

[This message has been edited by aek (edited May 20, 2005).]


Re: Function declared implicit

PostPosted: Mon May 23, 2005 6:09 am
by GavinS
Hi There,
Well it may have taken years and cost millions of lives, but I've finally got it working. I've created some code with a couple of task and it appears to run well on a 16F84.

Thanks for all your help.

Regards
GavinS


Re: Function declared implicit

PostPosted: Mon May 23, 2005 8:22 am
by aek
I'm gad it's working.

Unfortunately for you , you picked one of the hardest parts to work on, simply becuase the 'F84 has so little memory to work with. A bigger PIC16 part -- or a PIC18 -- would have been easier to get up and running.

Anyway, thanks for persevering.

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