General Suggestions and Guidelines
Here are a few suggestions that if followed should ease things a bit.
Design First. Design your code before you start typing. The compile-download loop is longer for embedded systems. “Trial and error” coding doesn't work well. It just leads to frustration and poor productivity.
Work incrementally. Write small functions and test them as you go. Do not write a bunch of code and then compile it and test it. It is much harder to debug that way. Coding incrementally means that you are focusing on a smaller amount of code when debugging. This is always a good thing.
Start Right Away. It is amazing how much faster you can find bugs when you are rested. Also, taking a break when you are faced with a difficult problem usually makes it easier to ultimately find the bug. Starting fresh the next day is also helpful. The worst possible situation is trying to find a bug at the last minute, especially when you wait until the last minute to code things up. When the pressure hits, IQ points seem to dissipate…