I have an odd problem trying to compile an old dynamic C program on my Rabbit RCM3400.
About 3 years ago I developed a board with the 3400 embedded on it.
The board uses 3 serial ports, Digital I/O and the several channels of A/D.
The board has been used successfully since then on many occassions.
The code was developed on this particular board.
I wanted to do a slight change to the code but the original code will no longer compile on the board.
The bios loads fine.
The bios seems to load an incorrect library when it boots.
That is I suspect that it thinks that the board is something different from a 3400.
It errors on variables used by the AnaIn function call.
unsigned int read_AD(char chan)
unsigned int value;
value = anaIn(chan, SINGLE, GAINSET); return value; }
It seems to recognise the AnaIn function but gives the following errors.
line 338 : WARNING TEST SERIAL.C : Too many arguments versus prototype.
line 338 : ERROR TEST SERIAL.C : Cannot assign objects of type void.
line 338 : ERROR TEST SERIAL.C : SINGLE is out of scope/ not declared.
The same problem occurs when trying to use any of the sample programs which use the analogue to Digital converter under the RCM3400 ADC sample programs. So this is not a fault with my code.
I have tried a #use RCM34xx.lib but the compiler errors
line 1 : ERROR TEST SERIAL.C : Duplicate anaIn found in file C:\DCRABBIT_8.10\LIB\RCM3400\RCM34XX.LIB (previous one ignored).
Is there a way I can use the #use statement and prevent the compiler from loading the library it thinks is correct or some other configuration I can change to get over this problem?
Thanks a heap for any help, I am a tight deadline.