Copyright (c) 2015, Atmel Corporation All rights reserved.

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice,
  • this list of conditions and the disclaimer below.
  • Atmel's name may not be used to endorse or promote products derived from
  • this software without specific prior written permission.
  • DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL “AS IS” AND ANY EXPRESS OR
  • IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  • MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
  • DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
  • INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  • LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
  • OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  • LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  • NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  • EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Atmel SAMA5D2x Software Package

Overview

This softpack comes as an early delivery and all presented APIs are subject to change.

Each software module is provided with full source code, example of usage, and ready-to-use projects.

Supported Platforms

Windows and Linux with the gnu GCC ARM Embedded toolchain. It is downloadable at this address: https://launchpad.net/gcc-arm-embedded (Mac OS X should also work but as not been tested yet). Dependencies:

  • GNU make (from MinGW, Cygwin or GnuWin32 for Windows architectures)
  • bash (from MinGW, Cygwin for Windows architectures)

Windows with IAR Embedded Workbench. Dependencies:

  • IAR Embedded Workbench (Tested on version 7.40)
  • bash (from MinGW, Cygwin or GnuWin32) for IAR project generation
  • GNU make (from MinGW, Cygwin or GnuWin32) for IAR project generation
  • mktemp (from MinGW, Cygwin or GnuWin32) for IAR project generation

Notice: This softpack comes as an early delivery and all presented APIs are subject to change.

Contents

Directory Architecture

  • target/sama5d2 All chip and board specific source files

  • target/sama5d2/toolchain/ Linker and debugger scripts

  • scripts/ generators and build script templates (Makefiles)

  • drivers/ Driver source files

  • examples/ All examples

Examples

This release contains the following examples:

adc: Example using ADC

can: Example using CAN

crypto_aes: AES hardware computation (with and without DMA)

crypto_sha: SHA hardware computation (with and without DMA)

crypto_tdes: Triple-DES hardware computation (with and without DMA)

fifo: Test Flexcom USART FIFO

gettting-started: LED blink (uses PIT and PIO)

gmac: GMAC example using a simple IP stack

gmac_lwip: GMAC example using LWIP stack

gmac_uip_helloworld: GMAC example using UIP stack (UIP helloworld example)

gmac_uip_telnetd: GMAC example using UIP stack (UIP telnetd example)

gmac_uip_webserver: GMAC example using UIP stack (UIP webserver example)

isc: Example using ISC controller (OV7740 sensor)

lcd: Example using LCD controller

qspi_flash: Read/Write/Delete commands to a QSPI serial flash

rtc: RTC Example

spi_serialflash: Read/Write/Delete commands to an SPI serial flash

trng: Example using hardware RNG (interrupt mode)

twi_eeprom: Read/Write/Delete commands to an Two-Wire EEPROM

wdt: Example using watchdog timer

xdma: Memory-to-memory DMA transfert example

xdma_usart: Bidirectionnal Usart-memory DMA transfert example

Usage (GCC ARM Embedded)

Environment Variable

TARGET: Name of the wanted target (sama5d2-xplained for samad52 XPLAINED ULTRA boards). This variable is mandatory to launch any build.

DEBUG: Build with debug flags (default).

TRACE_LEVEL: The wanted log level, 5 correspond to full, 0 to none (default to 5)

RELEASE: Build with the release flags

only TARGET must be provided or set at each make invocation.

Build

Run:

make #or make TARGET=wanted_target # if TARGET is not set

Run and Debug (with GDB)

To run examples with gdb, first, JLinkGDBServer must be started. It can be downloaded for each platform at http://www.segger.com

A make target is provided to launch the test with the correct gdb command arguments, run:

make debug #or make TARGET=wanted_target debug # if TARGET is not set

Usage (IAR)

The Win version of this softpack release comes with pregenerated IAR projects compatible with IAR Systems Embedded Workbench for ARM version 7.40.

The C-SPY device description files and device selections files are not included and must be installed manually.

IAR Project generation

An IAR project can be generated with GNU make, run in the example directory:

make iar #or make TARGET=wanted_target iar # if TARGET is not set

All needed IAR project files will be put in the example directory, including a default workspace one.

Notice: GNU make may fail on Windows platforms if the Makefile contains UNIX line endings. You can use unix2dos on all Makefile files in scripts/ directory to fix this issue.