199 lines
4.8 KiB
ReStructuredText
199 lines
4.8 KiB
ReStructuredText
.. _atsaml21_xpro:
|
||
|
||
SAM L21 Xplained Pro Evaluation Kit
|
||
###################################
|
||
|
||
Overview
|
||
********
|
||
|
||
The SAM L21 Xplained Pro evaluation kit is ideal for evaluation and
|
||
prototyping with the SAM L21 Cortex®-M0+ processor-based
|
||
microcontrollers. The kit includes Atmel’s Embedded Debugger (EDBG),
|
||
which provides a full debug interface without the need for additional
|
||
hardware.
|
||
|
||
.. image:: img/atsaml21-xpro.jpg
|
||
:align: center
|
||
:alt: ATSAML21-XPRO
|
||
|
||
Hardware
|
||
********
|
||
|
||
- ATSAML21J18 ARM Cortex-M0+ processor at 48 MHz
|
||
- 32.768 kHz crystal oscillator
|
||
- 256 KiB flash memory, 32 KiB of SRAM, 8KB Low Power SRAM
|
||
- One yellow user LED
|
||
- One mechanical user push button
|
||
- One reset button
|
||
- On-board USB based EDBG unit with serial console
|
||
|
||
Supported Features
|
||
==================
|
||
|
||
The atsaml21_xpro board configuration supports the following hardware
|
||
features:
|
||
|
||
.. list-table::
|
||
:header-rows: 1
|
||
|
||
* - Interface
|
||
- Controller
|
||
- Driver / Component
|
||
* - NVIC
|
||
- on-chip
|
||
- nested vector interrupt controller
|
||
* - Flash
|
||
- on-chip
|
||
- Can be used with LittleFS to store files
|
||
* - SYSTICK
|
||
- on-chip
|
||
- systick
|
||
* - WDT
|
||
- on-chip
|
||
- Watchdog
|
||
* - GPIO
|
||
- on-chip
|
||
- I/O ports
|
||
* - PWM
|
||
- on-chip
|
||
- Pulse Width Modulation
|
||
* - USART
|
||
- on-chip
|
||
- Serial ports
|
||
* - I2C
|
||
- on-chip
|
||
- I2C ports
|
||
* - SPI
|
||
- on-chip
|
||
- Serial Peripheral Interface ports
|
||
* - TRNG
|
||
- on-chip
|
||
- True Random Number Generator
|
||
|
||
Other hardware features are not currently supported by Zephyr.
|
||
|
||
The default configuration can be found in the Kconfig
|
||
``boards/arm/atsaml21_xpro/atsaml21_xpro_defconfig``.
|
||
|
||
Pin Mapping
|
||
===========
|
||
|
||
The SAM L21 Xplained Pro evaluation kit has 2 GPIO controllers. These
|
||
controllers are responsible for pin muxing, input/output, pull-up, etc.
|
||
|
||
For mode details please refer to `SAM L21 Family Datasheet`_ and the `SAM L21
|
||
Xplained Pro Schematic`_.
|
||
|
||
.. image:: img/atsaml21-xpro-pinout.jpg
|
||
:align: center
|
||
:alt: ATSAML21-XPRO-pinout
|
||
|
||
Default Zephyr Peripheral Mapping:
|
||
----------------------------------
|
||
- SERCOM0 SPI MISO : PA04
|
||
- SERCOM0 SPI MOSI : PA06
|
||
- SERCOM0 SPI SCK : PA07
|
||
- SERCOM1 USART TX : PA18
|
||
- SERCOM1 USART RX : PA19
|
||
- SERCOM2 I2C SDA : PA08
|
||
- SERCOM2 I2C SCL : PA09
|
||
- SERCOM3 USART TX : PA22
|
||
- SERCOM3 USART RX : PA23
|
||
- SERCOM4 USART TX : PB08
|
||
- SERCOM4 USART RX : PB09
|
||
- SERCOM5 SPI MISO : PB16
|
||
- SERCOM5 SPI MOSI : PB22
|
||
- SERCOM5 SPI SCK : PB23
|
||
- USB DP : PA25
|
||
- USB DM : PA24
|
||
- GPIO SPI CS : PB17
|
||
- GPIO/PWM LED0 : PB10
|
||
|
||
System Clock
|
||
============
|
||
|
||
The SAML21 MCU is configured to use the 32.768 kHz external oscillator
|
||
with the on-chip PLL generating the 48 MHz system clock.
|
||
|
||
Serial Port
|
||
===========
|
||
|
||
The SAML21 MCU has six SERCOM based USARTs with two configured as USARTs in
|
||
this BSP. SERCOM3 is the default Zephyr console.
|
||
|
||
- SERCOM1 115200 8n1 - connected to EXT2 and EXT3
|
||
- SERCOM3 115200 8n1 - connected to the onboard Atmel Embedded Debugger (EDBG)
|
||
- SERCOM4 115200 8n1 - connected to EXT1
|
||
|
||
PWM
|
||
===
|
||
|
||
The SAML21 MCU has 3 TCC based PWM units with up to 4 outputs each and a period
|
||
of 24 bits or 16 bits. If :code:`CONFIG_PWM_SAM0_TCC` is enabled then LED0 is
|
||
driven by TCC0 instead of by GPIO.
|
||
|
||
SPI Port
|
||
========
|
||
|
||
The SAML21 MCU has 6 SERCOM based SPIs, with two configured as SPI in this BSP.
|
||
|
||
- SERCOM0 - connected to EXT1
|
||
- SERCOM5 - connected to EXT2 and EXT3
|
||
|
||
Programming and Debugging
|
||
*************************
|
||
|
||
The SAM L21 Xplained Pro comes with a Atmel Embedded Debugger (EDBG). This
|
||
provides a debug interface to the SAML21 chip and is supported by
|
||
OpenOCD.
|
||
|
||
Flashing
|
||
========
|
||
|
||
#. Build the Zephyr kernel and the ``hello_world`` sample application:
|
||
|
||
.. zephyr-app-commands::
|
||
:zephyr-app: samples/hello_world
|
||
:board: atsaml21_xpro
|
||
:goals: build
|
||
:compact:
|
||
|
||
#. Connect the SAM L21 Xplained Pro to your host computer using the USB debug
|
||
port.
|
||
|
||
#. Run your favorite terminal program to listen for output. Under Linux the
|
||
terminal should be :code:`/dev/ttyACM0`. For example:
|
||
|
||
.. code-block:: console
|
||
|
||
$ picocom -b 115200 /dev/ttyACM0
|
||
|
||
- Speed: 115200
|
||
- Data: 8 bits
|
||
- Parity: None
|
||
- Stop bits: 1
|
||
|
||
#. To flash an image:
|
||
|
||
.. zephyr-app-commands::
|
||
:zephyr-app: samples/hello_world
|
||
:board: atsaml21_xpro
|
||
:goals: flash
|
||
:compact:
|
||
|
||
You should see "Hello World! atsaml21_xpro" in your terminal.
|
||
|
||
References
|
||
**********
|
||
|
||
.. target-notes::
|
||
|
||
.. _Microchip website:
|
||
https://www.microchip.com/en-us/development-tool/atsaml21-xpro-b
|
||
|
||
.. _SAM L21 Family Datasheet:
|
||
https://ww1.microchip.com/downloads/en/DeviceDoc/SAM_L21_Family_DataSheet_DS60001477C.pdf
|
||
|
||
.. _SAM L21 Xplained Pro Schematic:
|
||
https://ww1.microchip.com/downloads/en/DeviceDoc/SAML21-Xplained-Pro_Design-Documentation.zip
|