We are unable to deploy our robot code to the cRIO. There are no errors from the Windriver IDE but there are VxWorks errors displayed on cRIO bootup console.
task 0xe744b8 (t1) deleted: errno=1835009 (0x1c0001) status=1 (0x1)
Relocation value does not fit in 24 bits.
Relocation value does not fit in 24 bits.
. (There are many, many of these)
.
Relocation value does not fit in 24 bits.
…FRC_UserProgram failed to load.
Googling this error gets many hits explaining that the code is addressed too far from the VxWorks kernel. The solution: use -mlongcall. In fact, a recent post, http://www.chiefdelphi.com/forums/showthread.php?t=91896 , recommends that as a solution to code not deploying. I followed their directions to implement -mlongcall:
“In Workbench IDE, right click on the project in project explorer on the left. Select “Properties”. In the project properties dialog, click build properties on the left and click the “Build Macros” tab on the right. Make sure your Active Build Spec is “PPC603gnu”. Select the “CC_ARCH_SPEC” name and click the Edit… button. If the “-mlongcall” option is not there, append it to the end. Save it and recompile.”
I followed this solution and it had no effect. Build and Deploy went normally with no errors. However, I have a robot “no code” condition plus the cRIO errors already described.
Current versions of Windriver and cRIO image:
C++ : 20110203rev2259
cRIO : FRC_2011_v27
When the updates and reimaging were completed a couple weeks ago, the sample code was built and deployed successfully. The robot was driveable. When we added the code for our arm, pneumatics, line sensors, etc, the code was no longer deployable and gives the errors described above.
We could really use some help on this problem. Bag and tag is Tue and we have a robot code only running in RAM using “Run Kernel Task”. The code tested very well as a Kernel Task and we can drive and operate our robot. But, we can’t compete without Deploying persistent code.
Thanks from Team 1258!