==== Arduino Due ====
{{boards:arduino-due.jpg?100}}
The Due is a larger form factor Arduino board containing a ATSAM3X8E ARM Cortex-M3 processor
running at 84MHz.
There are two USB connectors on this board. One is labelled the native port which is
a direct connection to the processor. This allows the MCU to become a USB device in
its own right. The other port called the programming port connects to a serial
bridge for updating the firmware and it also allows regular UART communication.
===Programming===
==SAM BA==
{{:boards:due.jpg?200}}
SAM BA is the ROM based bootloader found on the processor and
is connected to via the programming port.
[[tools:bossa|BOSSA]]
==JTAG==
{{:tools:jlinkedu.jpg?100}}
\\ \\
{{:interfaces:usbocdh.jpg?200}}
JTAG utilises the miniature header and can be used with the [[tools:segger|JLink EDU Mini]].
With an adapter the [[interfaces:usbocdh|Olimex UCD USB H]] can also be utilised.
openocd -f "interface/ftdi/olimex-arm-usb-ocd-h.cfg" -c "adapter speed 4000" -c "transport select jtag" -f "target/at91sam3XXX.cfg"
Open On-Chip Debugger 0.12.0-rc2+dev-00012-g4e077fdda (2022-11-12-16:05)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 4000 kHz
jtag
cortex_m reset_config sysresetreq
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 500 kHz
Info : JTAG tap: sam3.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x4)
Info : [sam3.cpu] Cortex-M3 r2p0 processor detected
Info : [sam3.cpu] target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for sam3.cpu on 3333
Info : Listening on port 3333 for gdb connections
gdb-multiarch
(gdb) set architecture armv7
(gdb) target extended-remote localhost:3333
(gdb) info registers
r0 0x1ff 511
r1 0x8000000 134217728
r2 0x1 1
r3 0x20070e38 537333304
r4 0x3e8 1000
r5 0x2711 10001
r6 0x81d8c 531852
r7 0x93cdc71 154983537
r8 0x2007002c 537329708
r9 0xd844d7c0 -666576960
r10 0x2358288a 592980106
r11 0x314f2ac3 827271875
r12 0xa8 168
sp 0x20087fd8 0x20087fd8
lr 0x8090b 526603
pc 0x8090a 0x8090a
xPSR 0x81000000 -2130706432
msp 0x20087fd8 0x20087fd8
psp 0x4921e0e0 0x4921e0e0
primask 0x0 0
basepri 0x0 0
faultmask 0x0 0
control 0x0 0
===Resources==
[[https://playground.arduino.cc/Bootloader/DueBootloaderExplained/|Due bootloader]]
[[https://www.microchip.com/en-us/product/ATSAM3X8E|Microchip ATSAM3X8E]]