programming and bootloading atmega328p-au

I've been working with some atmega328p-au chips, and I've had a really hard time uploading to them and bootloading them. Can anyone reccomend a good troubleshooting guide to explain the output of the compiler and what has to be changed to have succes when uploading?

I suggest read this over and see if it helps. Not really a troubleshooting guide, but it may help with overall understanding.

It's slightly old, but I think most of it still applies.

If you're having trouble with uploading and bootloading, that is a separate topic than compiler output. Compiler is what is used to make the sketch ready and convert it to machine code in a hex file. Uploading or bootloading is the process of using the avrdude command to actually put that hex file onto the MCU chip on your Arduino.

If you continue to have trouble, just ask your questions here. Be as thorough and clear as possible, use code tags where needed to preserve the text of what you're trying to show us so some of the code doesn't turn into emoticons.