SPRAD95 june   2023 AM2732 , AM2732-Q1

 

  1.   1
  2.   2

There are a few things to consider when choosing a flash part for application purposes. This document covers some of the basic requirements that a specific flash memory must support to be compatible with the AM273x device during both boot operation and application execution.

Introduction

The QSPI flash memory can be utilized two different ways in the user system:

  1. Memory is used as boot media; the application image is stored in the flash memory and used as bootloader source.
  2. Memory is used as a storage media during application.

When picking a flash memory IC, the device must comply with all boot requirements of the SoC. If the memory is used as boot media, some guidelines must be followed to work efficiently as a storage device during application.

Figure 1 depicts the flash memory organization once the secondary bootloader (SBL) image and valid application image are present.

GUID-5FB48CA8-4A18-40BB-9CAF-F44E88CBFAC4-low.png Figure 1 QSPI Flash Memory Map
Note: The user can utilize flash region starting at "0x0_0000 + SBL Size Image" to 0xE_FFFF for product specific data.
Note: Maximum SBL size with redundant image present is 256KB and 952KB without a redundant image present.

Figure 2 shows the Boot Flow process where the flash usage is put into perspective, assuming a valid image is already present in flash.

GUID-4B4154B6-9E96-44E3-824B-34A4E8858240-low.png Figure 2 General Boot Flow

ROM Boot Requirements

As Figure 2 illustrates, the boot flow process is a sequence adopted by AM273x that starts upon power-on. ROM code is already set to work in a certain way and expects specific instructions from the flash and also expects specific timing and framing configurations for establishing communication. For the AM273x device, ROM code expects the following support:

  • Flash device must operate in the 3.3 V vicinity (typical range 2.3 V to 3.6 V)
  • Flash must be able to support Quad Output Fast Read (opcode 0x6B)
  • Flash must be able to support Fast Read in Single Mode (opcode 0x0B)
  • Device must allow 8 dummy clock cycles for setting up the initial address during the previously-mentioned read operations
  • Flash must support 3-byte (24-bit) addressing mode by default
  • Flash memory size - 4MB is recommended as a minimum

All of this information is available in the data sheet of the flash device being evaluated. A flash device must support all of the points mentioned above to meet AM273x compatibility requirements.

Application Requirements

Application-specific requirements tend to be more lenient then the ROM code execution requirements because improper configuration and lack of support do not result in system boot failure. The following requirements must be met for general flash applications:

  • Flash device must operate in the 3.3 V vicinity (typical range 2.3 V to 3.6 V).
  • If the flash memory is larger than 16MB (128Mb), then a flash device package with support for a RESET signal is required to prevent a device warm reset from affecting ROM code execution.
Note: Even though there is not a hard limit imposed on the flash memory that can be used, the AM273x only supports up to 4-byte addressing communication mode. As a result, any address requiring over 32 bits to reach is virtually inaccessible.
Note: In SFI mode, the external flash support of the AM273x is limited to 8MB. For more information on SFI operation, see the quad serial peripheral interface section of the AM273x Technical Reference Manual.

Additional Usage Factors

The following list includes a few things to consider when deciding on what flash part to use for the application:

  • For what is the flash required? Some applications require more flash storage than others depending if the memory is used for booting or storage.
  • Is the entirety of the memory be used? A smaller and lower-cost flash device can be used if a large storage space is not needed.
  • Is the application heavily flash dependent? Typically, 8MB to 16MB is enough for an application, but this varies depending on how heavily the external storage is to be used.
  • Does the flash part support a RESET signal? If at any point of the application 4-byte addressing mode must be used, then a RESET signal is required so as to prevent booting problems upon reset.

Flash Support in MCU PLUS SDK

The MCU PLUS SDK comes with default flash software support for specific flash memories in the library. If the evaluated flash meets requirements but does not have compatible software drivers in the SDK, use the following link for instructions on how to add support for the flash memory.

Compatible Flash Devices

The following list shows devices that meet the requirements for correct operation with the Sitara MCU AM273x devices as per the information contained in their data sheets. This list is be used for reference only:

  • S25FL128S and S25FL256S family of devices
    • Manufacturer: Infineon
  • W25Q series
    • Manufacturer: Winbond
  • GD25 series
    • Manufacturer: GigaDevice
  • MX25xxx35 series
    • Manufacturer: Macronix

Note: For information on physical connections between SoC and external flash, see the QSPI environment section of the AM273x Technical Reference Manual.

Terminologies

MCU – Microcontroller Unit

QSPI – Quad Serial Peripheral Interface

SoC – System on a Chip

UART – Universal Asynchronous Receiver-Transmitter

SBL - Secondary Boot loader

ROM – Read-only memory

SFI – Serial Flash Interface

SDK – Software Development Package