The SAM3X chip has a ROM with a pre-burned bootloader called SAM-BA. You have no way to change it, and it runs by default after an hardware "erase" (done by pushing the erase button on the board).
Arduino IDE uses SAM-BA bootloader to upload the sketch, and a tool called bossac that is the "avrdude-equivalent" for SAM chip.
https://github.com/shumatech/BOSSAI did a lot of patches on bossac with the active collaboration of bossac's author Scott Shumate. The patched version can be found on the "arduino" branch of the project
https://github.com/shumatech/BOSSA/tree/arduinosaid that, you have two ways to program the chip (besides JTAG):
1) Upload through UART using SAM-BA protocol
2) Upload through USB_CDC_ACM using SAM-BA protocol
SAM-BA automatically detects if an USB host is connected and chooses method 1 or 2.
If you don't want to use bossac, you can try with the official sam-ba uploader software from Atmel:
http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx