SAMD20: Fixes the problem introduced with the SAML21 integration

This commit is contained in:
Gregory Nutt
2015-05-25 10:13:06 -06:00
parent 5e1759455f
commit 63ece47790
2 changed files with 32 additions and 21 deletions
+23 -21
View File
@@ -1,5 +1,5 @@
README README
^^^^^^ ======
This README discusses issues unique to NuttX configurations for the This README discusses issues unique to NuttX configurations for the
Atmel SAMD20 Xplained Pro development board. This board features the Atmel SAMD20 Xplained Pro development board. This board features the
@@ -14,9 +14,9 @@ The SAMD20 Xplained Pro Starter Kit may be bundled with three modules:
logic). logic).
Contents Contents
^^^^^^^^ ========
- STATUS - STATUS/ISSUES
- Modules - Modules
- Development Environment - Development Environment
- GNU Toolchain Options - GNU Toolchain Options
@@ -28,11 +28,12 @@ Contents
- SAMD20 Xplained Pro-specific Configuration Options - SAMD20 Xplained Pro-specific Configuration Options
- Configurations - Configurations
STATUS/ISSUES: STATUS/ISSUES
=============
1. The FLASH waitstates is set to 2 (see include/board.h). According to 1. The FLASH wait states is set to 2 (see include/board.h). According to
the data sheet, it should work at 1 but I sometimes see crashes when the data sheet, it should work at 1 but I sometimes see crashes when
the waitstates are set to one (about half of the time) (2014-2-18). the wait states are set to one (about half of the time) (2014-2-18).
2. Garbage appears on the display sometimes after a reset (maybe 20% of 2. Garbage appears on the display sometimes after a reset (maybe 20% of
the time) or after a power cycle (less after a power cycle). I don't the time) or after a power cycle (less after a power cycle). I don't
@@ -62,13 +63,9 @@ Contents
4. OLED1 module is untested. These instructions were just lifted from 4. OLED1 module is untested. These instructions were just lifted from
the SAM4L Xplained Pro README.txt file. the SAM4L Xplained Pro README.txt file.
5. As of 20154-05-24, this SAMD20 configurations are broken. This
seems to have occurred as a consequence of the SAML21 integration
between NuttX-7.9 and NuttX-7.10. Hence, I expect that the problem
is trivial but nevertheless real.
Modules Modules
^^^^^^^ =======
The SAMD20 Xplained Pro Starter Kit is bundled with four modules: The SAMD20 Xplained Pro Starter Kit is bundled with four modules:
I/O1 I/O1
@@ -270,7 +267,7 @@ Modules
There is no built-in support for the PROTO1 module. There is no built-in support for the PROTO1 module.
Development Environment Development Environment
^^^^^^^^^^^^^^^^^^^^^^^ =======================
Either Linux or Cygwin on Windows can be used for the development environment. Either Linux or Cygwin on Windows can be used for the development environment.
The source has been built only using the GNU toolchain (see below). Other The source has been built only using the GNU toolchain (see below). Other
@@ -278,7 +275,7 @@ Development Environment
environment. environment.
GNU Toolchain Options GNU Toolchain Options
^^^^^^^^^^^^^^^^^^^^^ =====================
The NuttX make system can be configured to support the various different The NuttX make system can be configured to support the various different
@@ -334,7 +331,7 @@ GNU Toolchain Options
MKDEP = $(TOPDIR)/tools/mknulldeps.sh MKDEP = $(TOPDIR)/tools/mknulldeps.sh
IDEs IDEs
^^^^ ====
NuttX is built using command-line make. It can be used with an IDE, but some NuttX is built using command-line make. It can be used with an IDE, but some
effort will be required to create the project. effort will be required to create the project.
@@ -366,7 +363,7 @@ IDEs
startup object needed by an IDE. startup object needed by an IDE.
NuttX EABI "buildroot" Toolchain NuttX EABI "buildroot" Toolchain
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ================================
A GNU GCC-based toolchain is assumed. The files */setenv.sh should A GNU GCC-based toolchain is assumed. The files */setenv.sh should
be modified to point to the correct path to the Cortex-M0 GCC toolchain (if be modified to point to the correct path to the Cortex-M0 GCC toolchain (if
@@ -403,7 +400,8 @@ NuttX EABI "buildroot" Toolchain
building a Cortex-M0 toolchain for Cygwin under Windows. building a Cortex-M0 toolchain for Cygwin under Windows.
LEDs LEDs
^^^^ ====
There is one yellow LED available on the SAM D20 Xplained Pro board that There is one yellow LED available on the SAM D20 Xplained Pro board that
can be turned on and off. The LED can be activated by driving the connected can be turned on and off. The LED can be activated by driving the connected
PA14 I/O line to GND. PA14 I/O line to GND.
@@ -427,7 +425,7 @@ LEDs
2Hz, then a fatal error has been detected and the system has halted. 2Hz, then a fatal error has been detected and the system has halted.
Serial Consoles Serial Consoles
^^^^^^^^^^^^^^^ ===============
SERCOM4 SERCOM4
------ ------
@@ -462,28 +460,32 @@ Serial Consoles
PA25 SERCOM3 / USART RXD PA25 SERCOM3 / USART RXD
Atmel Studio 6.1 Atmel Studio 6.1
^^^^^^^^^^^^^^^^ ================
Loading Code into FLASH: Loading Code into FLASH:
----------------------- -----------------------
Tools menus: Tools -> Device Programming. Tools menus: Tools -> Device Programming.
Debugging the NuttX Object File Debugging the NuttX Object File
------------------------------- -------------------------------
1) Rename object file from nutt to nuttx.elf. That is an extension that 1) Rename object file from nutt to nuttx.elf. That is an extension that
will be recognized by the file menu. will be recognized by the file menu.
2) File menu: File -> Open -> Open object file for debugging 2) File menu: File -> Open -> Open object file for debugging
- Select nuttx.elf object file - Select nuttx.elf object file
- Select AT91SAMD20J18 - Select AT91SAMD20J18
- Select files for symbols as desired - Select files for symbols as desired
- Select debugger - Select debugger
3) Debug menu: Debug -> Start debugging and break 3) Debug menu: Debug -> Start debugging and break
- This will reload the nuttx.elf file into FLASH - This will reload the nuttx.elf file into FLASH
SAMD20 Xplained Pro-specific Configuration Options SAMD20 Xplained Pro-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ==================================================
CONFIG_ARCH - Identifies the arch/ subdirectory. This should CONFIG_ARCH - Identifies the arch/ subdirectory. This should
be set to: be set to:
@@ -600,7 +602,7 @@ SAMD20 Xplained Pro-specific Configuration Options
CONFIG_USARTn_2STOP - Two stop bits CONFIG_USARTn_2STOP - Two stop bits
Configurations Configurations
^^^^^^^^^^^^^^ ==============
Each SAMD20 Xplained Pro configuration is maintained in a sub-directory and Each SAMD20 Xplained Pro configuration is maintained in a sub-directory and
can be selected as follow: can be selected as follow:
+9
View File
@@ -16,6 +16,7 @@ Contents
- LEDs and Buttons - LEDs and Buttons
- Serial Consoles - Serial Consoles
- Atmel Studio 6.1 - Atmel Studio 6.1
- JTAG
- SAML21 Xplained Pro-specific Configuration Options - SAML21 Xplained Pro-specific Configuration Options
- Configurations - Configurations
@@ -491,6 +492,14 @@ Atmel Studio 6.1
3) Debug menu: Debug -> Start debugging and break 3) Debug menu: Debug -> Start debugging and break
- This will reload the nuttx.elf file into FLASH - This will reload the nuttx.elf file into FLASH
JTAG
====
I did all of the debug of the SAML21 Xplained using a Segger J-Link
connected to the micro JTAG connector on board the SAML21 Xplained.
I used an Olimex ARM-JTAG 20-10 Adapter to connect the J-Link to
the SAML21 Xplained.
SAML21 Xplained Pro-specific Configuration Options SAML21 Xplained Pro-specific Configuration Options
================================================== ==================================================