summaryrefslogtreecommitdiff
path: root/nuttx/configs/sama5d4-ek/README.txt
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-06-14 13:11:42 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-06-14 13:11:42 -0600
commitcb2ec42f057e8816db2f7a45d4967e06d7452bee (patch)
treebb72e99349e24e87a3a254b2bedf3c27cb2d4fe3 /nuttx/configs/sama5d4-ek/README.txt
parent05bf748f7ddaf18ddc50300e8de2c0c7bfff2548 (diff)
downloadpx4-nuttx-cb2ec42f057e8816db2f7a45d4967e06d7452bee.tar.gz
px4-nuttx-cb2ec42f057e8816db2f7a45d4967e06d7452bee.tar.bz2
px4-nuttx-cb2ec42f057e8816db2f7a45d4967e06d7452bee.zip
SAMA5D4-EK: Add an SDRAM test configuration
Diffstat (limited to 'nuttx/configs/sama5d4-ek/README.txt')
-rw-r--r--nuttx/configs/sama5d4-ek/README.txt154
1 files changed, 47 insertions, 107 deletions
diff --git a/nuttx/configs/sama5d4-ek/README.txt b/nuttx/configs/sama5d4-ek/README.txt
index 360576ae4..b9515c76b 100644
--- a/nuttx/configs/sama5d4-ek/README.txt
+++ b/nuttx/configs/sama5d4-ek/README.txt
@@ -75,7 +75,6 @@ Contents
- SDRAM Support
- NAND Support
- I2C Tool
- - CAN Usage
- SAMA5 ADC Support
- SAMA5 PWM Support
- RTC
@@ -2170,90 +2169,6 @@ I2C Tool
Address 0x1a is the WM8904. Address 0x39 is the SIL9022A. I am not sure
what is at address 0x3d and 0x60
-CAN Usage
-=========
- I planned to verify CAN using the IXXAT USB-to-CAN Compact. This section
- provides miscellaneous CAN-related notes, mostly to myself but perhaps of
- interest to others.
-
- [Unfortunately, as of this writing, I still do not have a proper CAN test
- bed to verify the CAN driver.]
-
- CAN Configuration
- -----------------
-
- The following steps illustrate how to enable CAN0 and/or CAN1 in the NuttX
- configuration:
-
- System Type -> SAMA5 Peripheral Support
- CONFIG_SAMA5_CAN0=y : Select CAN0 and/or CAN1
- CONFIG_SAMA5_CAN1=y
-
- Device Drivers -> CAN Driver Support
- CONFIG_CAN=y : (Automatically selected)
- CONFIG_CAN_EXTID=y : For extended, 29-bit CAN IDs
-
- System Type -> CAN Drive Support
- CONFIG_SAMA5_CAN0_BAUD=250000 : Select some BAUD for CAN0 (if enabled)
- CONFIG_SAMA5_CAN0_NRECVMB=1 : Select number of receive mailboxes (see below)
- CONFIG_SAMA5_CAN1_BAUD=250000 : Select some BAUD for CAN1 (if enabled)
- CONFIG_SAMA5_CAN1_NRECVMB=1 : Select number of receive mailboxes (see below)
-
- Receive Mailboxes and Address Filtering
- ---------------------------------------
-
- The SAMA5 CAN0 peripheral supports 8 mailboxes that can be used for sending
- and receiving messages. Note that the number of dedicated receive mailboxes
- (CONFIG_SAMA5_CANn_NRECVMB) was set to one in the above configuration. This
- could be set to any value from 1 to 3 (the upper limit of 3 is purely
- arbrary and can be increased with some minor code enhancement). The
- remainder can be configured dynamically to send CAN messages.
-
- Why would you want to use more than one receive mailbox? There are two
- reasons. Multiple receive mailboxes might needed to either (1) receive
- bursts of messages, or (2) to support multiple groups of messages filtered
- on message ID.
-
- You must also specify the address filtering for each dedicated receive mailbox:
-
- System Type -> CAN Drive Support
- CONFIG_SAMA5_CAN0_ADDR0 and CONFIG_SAMA5_CAN0_MASK0 : If CONFIG_SAMA5_CAN0_NRECVMB >= 1
- CONFIG_SAMA5_CAN0_ADDR1 and CONFIG_SAMA5_CAN0_MASK1 : If CONFIG_SAMA5_CAN0_NRECVMB >= 2
- CONFIG_SAMA5_CAN0_ADDR2 and CONFIG_SAMA5_CAN0_MASK2 : If CONFIG_SAMA5_CAN0_NRECVMB >= 3
- CONFIG_SAMA5_CAN1_ADDR0 and CONFIG_SAMA5_CAN1_MASK0 : If CONFIG_SAMA5_CAN1_NRECVMB >= 1
- CONFIG_SAMA5_CAN1_ADDR1 and CONFIG_SAMA5_CAN1_MASK1 : If CONFIG_SAMA5_CAN1_NRECVMB >= 2
- CONFIG_SAMA5_CAN1_ADDR2 and CONFIG_SAMA5_CAN1_MASK2 : If CONFIG_SAMA5_CAN1_NRECVMB >= 3
-
- Only messages that have IDs that match the CONFIG_SAMA5_CANn_ADDRn when both
- the received and the configured address are masked by CONFIG_SAMA5_CANn_MASKn
- will be accepted. For example, if the mask is all ones, then only messasges
- with exact address matches will be accepted; if the mask is all zeroes than
- any address will be accepted.
-
- CAN connectors
- --------------
-
- CAN1 and CAN2 are available via RJ-11 connectors on the SAMA4D4-EK. Each
- is wired as follows. Also shown below is the matching pins if you want connect
- the CAN to a device that uses an DB-9 connector (Such as the IXXAT USB-to-CAN
- Compact). Both connector types (as well as RJ-45) are common.
-
- +----------+ RJ-11 DB-9
- | O | ----------- --------------
- +------------+ | | Pin 1 3v3 Pin 1 N/C
- | +--+ | | o5 | Pin 2 5v Pin 2 CANL
- | | | | | o9 | Pin 3 N/C Pin 3 GND
- | +-+ +-+ | | o4 | Pin 4 CANL Pin 4 N/C
- | | | | | o8 | Pin 5 CANH Pin 5 N/C
- | |654321| | | o3 | Pin 6 N/C Pin 6 N/C
- | |oooooo| | | o7 | Pin 7 CANH
- | +------+ | | o2 | Pin 8 N/C
- +------------+ | o6 | Pin 9 CANV+ (N/C on IXXAT) RJ-11 Female | x1 |
- | |
- | O |
- +----------+
- DB-9 Male
-
SAMA5 ADC Support
=================
@@ -2721,8 +2636,6 @@ SAMA4D4-EK Configuration Options
CONFIG_SAMA5_ISI - Image Sensor Interface
CONFIG_SAMA5_SSC0 - Synchronous Serial Controller 0
CONFIG_SAMA5_SSC1 - Synchronous Serial Controller 1
- CONFIG_SAMA5_CAN0 - CAN controller 0
- CONFIG_SAMA5_CAN1 - CAN controller 1
CONFIG_SAMA5_SHA - Secure Hash Algorithm
CONFIG_SAMA5_AES - Advanced Encryption Standard
CONFIG_SAMA5_TDES - Triple Data Encryption Standard
@@ -2900,6 +2813,10 @@ Configurations
demo configuration. The nsh configuration is, however, bare bones.
It is the simplest possible NSH configuration and is useful as a
platform for debugging and integrating new features in isolation.
+ ramtest: This is a stripped down version of NSH that runs out of
+ internal SRAM. It configures SDRAM and supports only the RAM test
+ at apps/examples/ramtest. This configuration is useful for
+ bringing up SDRAM.
There may be issues with some of these configurations. See the details
before of the status of individual configurations.
@@ -2908,15 +2825,13 @@ Configurations
nsh:
- This configuration directory provide the NuttShell (NSH). There are
- two NSH configurations: nsh and demo. The difference is that nsh is
- intended to be a very simple NSH configuration upon which you can build
- further functionality. The demo configuration, on the other hand, is
- intended to be a rich configuration that shows many features all working
- together.
+ This configuration directory provide the NuttShell (NSH). This is a
+ very simple NSH configuration upon which you can build further
+ functionality.
NOTES:
- 1. This configuration uses the default DBGU serial console. That
+ 1. This configuration uses the the USART3 for the serial console
+ which is available at the "DBGU" RS-232 connector (J24). That
is easily changed by reconfiguring to (1) enable a different
serial peripheral, and (2) selecting that serial peripheral as
the console device.
@@ -2950,11 +2865,11 @@ Configurations
4. This configuration has support for NSH built-in applications enabled.
However, no built-in applications are selected in the base configuration.
- 5. This configuration has support for the FAT file system built in. However,
- by default, there are no block drivers initialized. The FAT file system can
- still be used to create RAM disks.
+ 5. This configuration has support for the FAT file system built in.
+ However, by default, there are no block drivers initialized. The FAT
+ file system can still be used to create RAM disks.
- 6. The SAMA5D4-EK includes for an At25 serial DataFlash. Support for that
+ 6. The SAMA5D4-EK includes for an AT25 serial DataFlash. Support for that
serial FLASH can be enabled by modifying the NuttX configuration as
described above in the paragraph entitled "AT25 Serial FLASH".
@@ -2992,14 +2907,42 @@ Configurations
that it provides /dev/random. See the section entitled "TRNG and
/dev/random" above for detailed configuration information.
- 16. See also the sections above for additional configuration options:
- "CAN Usage", "SAMA5 ADC Support", "SAMA5 PWM Support", "I2S Audio
- Support"
-
STATUS:
See the To-Do list below
- 2014-4-3: Delay loop calibrated: CONFIG_BOARD_LOOPSPERMSEC=65775
+ ramtest
+ This is a stripped down version of NSH that runs out of
+ internal SRAM. It configures SDRAM and supports only the RAM test
+ at apps/examples/ramtest. This configuration is useful for
+ bringing up SDRAM.
+
+ NOTES:
+ 1. This configuration uses the the USART3 for the serial console
+ which is available at the "DBGU" RS-232 connector (J24). That
+ is easily changed by reconfiguring to (1) enable a different
+ serial peripheral, and (2) selecting that serial peripheral as
+ the console device.
+
+ 2. By default, this configuration is set up to build on Windows
+ under either a Cygwin or MSYS environment using a recent, Windows-
+ native, generic ARM EABI GCC toolchain (such as the CodeSourcery
+ toolchain). Both the build environment and the toolchain
+ selection can easily be changed by reconfiguring:
+
+ CONFIG_HOST_WINDOWS=y : Windows operating system
+ CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
+ CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
+
+ If you are running on Linux, make *certain* that you have
+ CONFIG_HOST_LINUX=y *before* the first make or you will create a
+ corrupt configuration that may not be easy to recover from. See
+ the warning in the section "Information Common to All Configurations"
+ for further information.
+
+ 3. This configuration executes out of internal SRAM flash and is
+ loaded into SRAM by the boot ROM SDRAM from NAND, Serial
+ DataFlash, SD card or from a TFTPC sever via the Boot ROM.
+ Data also is positioned in SDRAM.
To-Do List
==========
@@ -3010,10 +2953,7 @@ To-Do List
2) HSCMI TX DMA support is currently commented out.
-3) GMAC has only been tested on a 10/100Base-T network. I don't have a
- 1000Base-T network to support additional testing.
-
-4) Some drivers may require some adjustments if you intend to run from SDRAM.
+3) Some drivers may require some adjustments if you intend to run from SDRAM.
That is because in this case macros like BOARD_MCK_FREQUENCY are not constants
but are instead function calls: The MCK clock frequency is not known in
advance but instead has to be calculated from the bootloader PLL configuration.