[Help Needed] Setting up WindRiver - Step by Step

Hi there,

Our team has probably spent about 12 hours total now trying to get code onto the cRio and running. Before you instantly close this tab and/or flame us for not updating, imaging, etc please read our procedures so far.

Development PC: (it’s a completely new installation of XP so there’s no old things on it)
~Set IP to
~Downloaded the following updates (maybe we’re missing some - I don’t think so though)

The classmate and development laptops both have all these updates and show the v19 cRio Image. The cRio has been loaded (twice) with the image using the LabView cRio Imager (might not be called that exactly, I don’t have it right now sorry).

So opening WindRiver we right click on the sidebar and create a remote target. We set the IP to and the kernel file correctly (path/vxWorks). We press Apply/Ok and it connects, we have a list of the files currently on the cRio.

From here we have tried:
Window->Preferences->FIRST Downloaded and setting our team number + executable from the project. Result: Sometimes downloads, never runs any new code

Right Click on the Remote Target, run as kernel/debug as kernel and select the FIRST_Init module or which ever it is (again sorry, I’m not at the development laptop) and select or executable.

None of these have worked really well and we’re all getting frustrated. Could somebody please outline step-by-step how to deploy code onto the cRio to make it run upon the cRio’s boot. Thank you all, we appreciated your efforts to help us

EDIT: We’ve read quite a few manuals, all seem to be inconsistent and half the code in their doesn’t work.
EDIT 2: Yes, our custom code builds and generates an executable.

Did you originally install WindRiver in the default directory, or did you pick one of your own choosing? The ThunderChickens’ findings in this thread might be useful:

Default - C:\windriver

On monday we’re going to debug and log error messages.

It sounds like you’re trying to run the code in debug mode rather than burn it to the cRio. If you run it through debug, then the code will be on the RAM but will not stay on once you turn off the cRio. Try running FIRST->Download when connected to the cRio in Windriver (although burning code through FIRST->Download hasn’t been working for out team either… but that’s another issue entirely)

Also, did you install the update for the driver station according to the following post: http://www.chiefdelphi.com/forums/showpost.php?p=899969&postcount=44

Finally, how do you have your connections set up? Are you directly connected to the cRio by ethernet, through the gaming adapter, or through the wireless bridge?

>> We’ve tried both methods, FIRST->Download (and of course setting the right option in Window->Preferences->FIRST Downloader…

>> We did not install it in that order as far as I know, on Monday we’ll try this approach.

>> We’ve been imaging it via ethernet and programming via the wireless setup. We are pretty certain that the connections are set up correctly, the IP’s are correct and we’re getting a connected status under the Remote Target

I understand your frustration with Wind River. This is our second year using it and we are still learning some of it quirks. Especially when it comes to debugging. This year it seems like we had to relearn the necessary steps to perform debug operations. Here are some things that we have learned through hours of pain. I hope these tips are helpful.

  1. When in doubt reboot the cRIO and or Windriver.
  2. When unsure if you have com PING everything and perform an IPCONFIG.
  3. Right click the project and select Rebuild or clean build.
  4. Ensure that you have the correct .out file and team number WINDOW->PREFERENCES->FIRST DOWN LOADER PREFERENCES
  5. After building a project you need to check the Build Console and ensure that the .out file built for your current project.

There is a list of other steps that can be performed. I know that you have performed some of these already. It will be easier to assist you more when you post the error messages. One last thing that you should always do after loading code for release onto the cRIO is perform a power cycle or reboot. Do not perform this step if you are debugging as it will clear the code out of ram. Unfortunately it is difficult to provide you with an exact answer to your issues. There are so many ways that failure occurs and most of them are not documented but found via trial and error. This new system is very powerful and fast and provides the option to use a variety of software tools. Is it the correct solution for FIRST? In my opinion absolutely not. The pre 2009 control system had its limitations but at least a team could get code loaded and executing in less than 1 day. We only have 6 weeks, every minute of every day is of value. We are a veteran team who is software strong. We have mentors that develope software for both embedded and OS based systems. Even they spend the first few days just trying to get the tools to work. This is unacceptable and needs to change. Normally I do not post my opinion about these kinds of things I leave that to my brother, but in these last few days we have been experiencing more software tool related delays and I had been planning to post my concerns on CD to see if anyone else felt the same way as me.

I hope you get these problems solved and if you don’t feel free to PM me and maybe we can assist you with your problem over the phone.

Unfortunately we have tried all of this to no success. Thanks for your advice, hopefully tomorrows debug logs will help.

Turns out we don’t have an RS232-USB adapter here to run diagnostic logs. Will get back to you guys anytime - any other suggestions?

Can somebody outline the proper method of creating a new project so we’re sure? We seem to be able to get the SimpleTemplate on there

Its in http://first.wpi.edu/Images/CMS/First/GettingStartedWithC.pdf

but breifly File>New>Example Select middle one, FRC Simple Template. then Modify the code in the main cpp file (MyRobot.cpp) to do what you want it to. look at the above PDF for details

We’ve known about this way, but we wanted something a little more use of orthogonality.

Anyways, we’ve now created a guide on proper project creation that builds.

We fixed the previous errors, an update was not properly installed on the classmate causing problems. The real error? Team communication. Anyways, thanks for everyone’s help!