First fix your while loop.
Avr Studio is that some compiler or something?
It will crash no doubtedly if you have some faulty loop system
Also taking a look at your code right now, the condition for the while loop to run is if board_updated = 1;
But your if statement sets board_updated = 1 if vara == 1. Does this mean board_updated was never equal to 1 in the first place? If so, then your while loop would never run. If not, then make sure the function calls your making actually work so that it can exit the loop at some point after getting the correct return value from the function
it is continually crashing
any suggestions how to get in and fix it before it crashes?
Restart your system, if the program is crashing before you are doing anything, then there is some external problem.