OpenOCD in Ubuntu and an ATMEL-ICE programmer were used to connect to the SAM4C32. Microchip Studio IDE in a Windows VM was used to set the security bit, although this functionality appears to be available in OpenOCD I never tested it.
When the security bit is bypassed the following commands can be run , shown with their associated output
==== at91sam4 info ==== > at91sam4 info CKGR_MOR: [0x400e0420] -> 0x00000008 MOSCXTEN: 0 [0x0000] (main xtal enabled: NO) MOSCXTBY: 0 [0x0000] (main osc bypass: NO) MOSCRCEN: 1 [0x0001] (onchip RC-OSC enabled: YES) MOSCRCF: 0 [0x0000] (onchip RC-OSC freq: 4 MHz) MOSCXTST: 0 [0x0000] (startup clks, time= 0.000000 uSecs) MOSCSEL: 0 [0x0000] (mainosc source: internal RC) CFDEN: 0 [0x0000] (clock failure enabled: NO) CKGR_MCFR: [0x400e0424] -> 0x000107a0 MAINFRDY: 1 [0x0001] (main ready: YES) MAINF: 1952 [0x07a0] (3.998 Mhz (32.768khz slowclk) CKGR_PLLAR: [0x400e0428] -> 0x00003f00 DIVA: 0 [0x0000] MULA: 0 [0x0000] PLLA Freq: (Disabled,mula = 0) CKGR_UCKR: [0x400e041c] -> 0x00000000 PMC_FSMR: [0x400e0470] -> 0x00000000 PMC_FSPR: [0x400e0474] -> 0x00000000 PMC_IMR: [0x400e046c] -> 0x00000000 PMC_MCKR: [0x400e0430] -> 0x00000001 CSS: 1 [0x0001] mainosc (3.998 Mhz) PRES: 0 [0x0000] (selected clock) Result CPU Freq: 3.998 PMC_PCK0: [0x400e0440] -> 0x00000000 PMC_PCK1: [0x400e0444] -> 0x00000000 PMC_PCK2: [0x400e0448] -> 0x00000000 PMC_PCSR: [0x400e0418] -> 0x00000000 PMC_SCSR: [0x400e0408] -> 0x00000003 PMC_SR: [0x400e0468] -> 0x00030018 CHIPID_CIDR: [0x400e0740] -> 0xa64d0ee0 Version: 0 [0x0000] EPROC: 7 [0x0007] Cortex-M4 NVPSIZE: 14 [0x000e] 2048K bytes NVPSIZE2: 0 [0x0000] none SRAMSIZE: 13 [0x000d] 256K Bytes ARCH: 100 [0x0064] SAM4CxxC (100-pin version) NVPTYP: 2 [0x0002] embedded flash memory EXTID: 1 [0x0001] (exists: YES) CHIPID_EXID: [0x400e0744] -> 0x00000000 rc-osc: 4.000 MHz mainosc: 3.998 MHz plla: 0.000 MHz cpu-freq: 3.998 MHz mclk-freq: 3.998 MHz UniqueId: 0x20000c00 0x01006df3 0x010046af 0x010046b3<br />
----