View Single Post
  #8   Spotlight this post!  
Unread 27-04-2014, 13:06
Fletch1373's Avatar
Fletch1373 Fletch1373 is offline
Registered User
AKA: Fletch
FRC #3181 (Panthers)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2004
Location: Rochester, NY
Posts: 251
Fletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud ofFletch1373 has much to be proud of
Re: Quick Reboot - is it possible?

Quote:
Originally Posted by Aaron.Graeve View Post
For 99.9% of FRC teams, a quick re-loading of the code is not possible. This is due to the user code running in kernal space in VxWorks (the operating system for the cRIO). For thise not familliar with the term, the kernal is the core section of the operating system that mediates between software applications and hardware/drivers. Whenever the user code changes and needs to be restarted, the whole kernal needs to be removed from memory and reloaded. That takes time. It is the equivalent of rebooting your computer everytime you want to start Steam. This is not the best way, and is probably not the the smartest way, but it is the only way as of now. Rumor from the roboRIO alpha testers says the reboot time is very low now. Chatting with Greg McKaskle from NI a few months ago, he mentioned there was some thought of moving the user code from kernal space to user space (reloading only the robot code instead of the whole kernal everytime a code change ocurrs). My guess is that change is what is decreasing the reload time.

For the .1% the reboot is not nesessary. I trust some team(s) have figured out how to have a script file on the cRIO that contains the logic thand IO configuration they want to run in the robot. It would get a bit wierd with the FPGA and encoder inputs, but it would be possible. For these teams, changing code would be as easy as changing the file, FTP transfering it over to the cRIO, and sending a command to the cRIO to read the file and use the logic contained within.

This is just what I know. If any of the software giants of CD wish to elaborate on, correct, or discuss this post, feel free.

I did not expect the post to grow this large. My apologies about that.
As a CSA at champs, I had plenty of opportunities to play with the roboRIO that NI had set up. One of these tests was a boot time test. With a stopwatch app, we discovered that it still takes approximately 22 secs to boot to a state where the networking process is running, and an additional 3-4 seconds(totalling ~25s) for user code to finish loading. This was done with 2014 cRIO firmware ported to the roboRIO, and as such, isnt a perfect representation of how it will work next year.
__________________
Student:
<04: FRC0213> <05-08: FRC1373>
Mentor:
<09-10: FRC0809> <11-12: FRC3555> <12-14: FRC0073> <15-??: FRC3181>
Volunteer:
<FTAA> <CSA> <Defense Coordinator> <Scorekeeper> <Robot Inspector> <Official Scorer>
2016 Tour:
CTWAT [DefCoord] > Pittsburgh[Mentor/DefCoord] > TVR[FTAA] > FLR[CSA] > NE DCMP[CSA] > CMP[CSA]
Reply With Quote