This is a question specifically pertaining to Atmel UC3B microcontroller configuration:
I recently bought an evaluation kit for Atmel's UC3 series 32-bit microcontrollers because I want to see if it will be useful for an upcoming project, and because I want to learn how to use micros outside of the Arduino world. I know it's not for the faint of heart, but I am willing to learn. I also picked up an AVR Dragon for programming/debugging, and it seems to support breaking pretty well within Studio 6.
As a programmer (who isn't very used to C), I am trying to understand the structure of the system with regards to interrupts, data transfers, and the higher level program that is my application. There is a whole lot of code that I have been sifting through and pouring over for the last 2 weeks, and while I do see what functions are doing (shutting off interrupts, writing to buffers, calling callback functions for receive events), it is difficult for me to conceptualize the order in which things are taking place, even with breakpoints and debugging.
I want to create a simple application that will echo back to me the characters I enter in a USB virtual COM port fashion via something like Putty. From there I can figure out a lot more. However the closest example for the EVK1101 evaluation board that comes with AVR Studio 6 is a USB CDC Example which merely bridges a Serial COM port to a USB virtual COM port via things like a USART and DMA with components including a USB Device Driver and Device Interface and so on. I do not see how these elements are all interacting, even when I do understand the concept of what each is supposed to do in general. I can see calls from one component to another, but I can't tell if one is implementing the other, or they're different layers in some kind of logical hierarchy like a protocol stack, or what.
I've tried looking at the block diagram in the full documentation (page 4), located here:
http://www.atmel.com/Images/doc32059.pdf(I have been reading a lot of that document)
However it has not helped me understand where I should be looking to change the USB CDC example to communicate ONLY over USB. I want to remove any components that I don't need (does the UART only affect the serial port connection in the example?). I essentially want to do all communication over USB to the virtual COM port that is already set up. At
some point in the code, I should be able to find the final, highest level function for receiving data and be able to follow it with a write of some kind. I know it will require re-configuring some things at lower levels, but that is the goal. Anyone familiar with the EVK1101 or Atmel 32-bit micros that can give me a few pointers?
The behavior I want to generate is this (with incredibly generalized names):
when we receive a character typed into virtual COM port
acknowledge we received the character, so the terminal doesnt freeze up in long operations
echo the character back out through the same COM port
and do whatever else we want to do (handling text commands and such)
Additional Info:
The uC is Atmel's AT32UC3B0256
I can provide code, but it's spread across many source files. I am curious if anyone is already familiar with this.