I'm trying to configure a USB CDC device so I can use SAM-BA to program current/new firmware to my SAM3U. After running example code, the device creates a COM port but SAM-BA doesn't see it. Why is this happening? Do I need anything extra?

Your misuse of jargon makes your explanation unclear.
It's unlikely that your board has the capability to "compile" source code.
By "download the driver", are you referring to the USB negotiation and the loading (which is not the same as downloading) of the driver?
How did you arrive at the conclusion that the "device successfully installed"?
COM ports do not "open" themselves, so it's unclear what you mean.
You do not mention what OS version you're using nor version of SAM-BA, nor any details about this "COM3". From what I've seen, Windows typically reserves the first four COM numbers for UARTs at the legacy I/O port addresses, and other UARTs (e.g. on PCI bus) and USB serial devices are typically assigned higher numbers.
And finally you revert to a brief negative summation.

Regardless, you may be chasing a rainbow.
The SAM-BA utility will expect to communicate with the SAM-BA monitor (or a program that responds to that command set) on your target board.

blue_z wrote:How did you arrive at the conclusion that the "device successfully installed"?
COM ports do not "open" themselves, so it's unclear what you mean.
You do not mention what OS version you're using nor version of SAM-BA, nor any details about this "COM3". From what I've seen, Windows typically reserves the first four COM numbers for UARTs at the legacy I/O port addresses, and other UARTs (e.g. on PCI bus) and USB serial devices are typically assigned higher numbers.

OS is Windows 7, SAM-BA v2.13

First off, I appreciate the explanation on which COM port Windows will port the number to. I was switching it from COM17 to COM3 originally because I just didn't like the higher number but I understand now why the port number is so high.

Third, I know the device is successfully installed because of my Windows machine popups a dialog saying "device successfully installed". I assume this means the host has successfully attached the USB device and its descriptors.

blue_z wrote:Regardless, you may be chasing a rainbow.
The SAM-BA utility will expect to communicate with the SAM-BA monitor (or a program that responds to that command set) on your target board.

Regards

I've read the SAM-BA documentation and it says you can use JTAG or USB CDC to connect a device to download firmware. Unless I'm mistaken?? I'm using a SAM3U-EK dev board but after reading the documentation I would've thought it was possible? However, I'm gonna have to read it again just to be clearer on the subject.

blue_z wrote:And finally you revert to a brief negative summation.

Yes I will admit I'm not very knowledgeable in this COM port CDC class stuff... that's why I asked online. Obviously I don't know what to really state and that's why I'm not being super clear about all the details. You can just tell me what I need to state/what info you need to help out. I really don't think I'm saying "It's not working!!! omg"... it's just a matter of not knowing what details to give out. And yea I'll admit when giving some of the details out I'm not super clear on it either. Thanks for helping me understand what information I need to give out to detail this problem.

So I just found out by reading the documentation the USB Product ID must be 0x6124 as the USB CDC drivers that come with SAM-BA has the ID of 0x6124. In the end the USB CDC example does not account for SAM-BA USB rules as stated in SAM3U4/2/1 Boot Program of the SAM3U Documentation. My issue was never a COM port issue but a USB enumeration issue.

yun wrote:My issue was never a COM port issue but a USB enumeration issue.

I was going to suggest that you use the Device Manager to get details of the COM port, rather than simply rely on the pop-up dialog. Perhaps that would have provided a clue, e.g. the Atmel CDC driver was not associated with the device.

yun wrote:I've read the SAM-BA documentation and it says you can use JTAG or USB CDC to connect a device to download firmware. Unless I'm mistaken?? I'm using a SAM3U-EK dev board but after reading the documentation I would've thought it was possible?

The salient documentation is the boot section (i.e. SAM-BA monitor) in the SoC datasheet.