as this is my first topic in the ARM-channel of the community I want to introduce myself. I blundered two years ago into the microcontroller world and started with an Arduino. Soon I switched to the other ATmegas using Atmel Studio and the Dragon. In this summer the switch to a 32 bit architecture was made by getting my hands on an AVR32 and since one month there is an SAM D20 Xplained Pro board too. I myself have an engineering background. I learned C# about 5 years ago and I estimate my skills as sufficient for the purpose of the application.
Since I now have a more detailed view on microcontrollers and their potential, I want to improve my skills as well. As you can imagine, someone who is used to C# and lush storage and computing powers experiences a deep cut facing the limitations given by the microcontoller and C/C++ as programming language. My programs for the microcontrollers do the job, but they aren't good. So my first question is: Is there any literatue, a comprehensive work (preferably a book) that covers this topic?
My second point is USB. Of course I'm familiar with the serial port and the FTDI chips and I'm using them for communication with the PC. But the AVR32 and the SAM feature USB as well and so I want to use it in future projects. Is there any website or book you can recommend? Especially developing a protocol is struggeling me.
So if you have any advice for me, I would be very grateful