View Single Post
  #8   Spotlight this post!  
Unread 18-12-2008, 11:16
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
Re: Who is Programming the cRIO with C++ and what success are you having?

Quote:
Originally Posted by Wayne C. View Post
Especially interested in your progress in getting your code to load into the unit.
Wayne,
We have a proto base up and running in C++, and we've been able to download code into FLASH (which stays there when the robot is powered off) and also run code from RAM in debug mode. So, I can tell you it is possible

I'm amazed though by how difficult the process is. The sheer number of things that need to be configured (and worse, the number of other settings that need to be left alone) is daunting. This is one particular reason that I feel the choice of Eclipse/Workbench for C++ development was a very poor one. It has ALL the bells and whistles and tools that a serious embedded software engineer needs, but most of this is unnecessary and overwhelming to high school students. I'm currently experimenting with a simpler development setup that hides a lot of the complexity; if I get something working there I'll release it for everyone to use.

We somehow ran into a problem last night where the compiled binary that was being downloaded for debugging into RAM was not the same one that got saved in FLASH when "deployed". We couldn't figure out why our robot didn't work right when we ran it from FLASH. Turns out there's 2 separate path settings in 2 different places in the IDE, and they were somehow each pointing to a different binary. That took a couple of experienced embedded software people a good half hour to find and solve. I'm not sure an average high school kid would have ever sorted that out.

The documentation is almost too extensive. It's hard to find what you need when it's buried in hundreds of pages of docs. Also, the C Programmer's Guide is pretty good for getting you going, but I dislike the order it's presented in. The stuff that you need to do first to get a project up and running is presented at the end of the document, somewhere around page 85. I find myself greatly missing the IFI docs, which were only 20 pages long or so and yet seemed to cover most of what you needed in clear, concise language.

Anyway, if you're struggling I'd recommend having your software people post questions here on CD - there's a contingent of us around slowly getting the C++ stuff to work that can probably help you out.