SPRT764A August   2023  – February 2024 AM2431 , AM2432 , AM2434

 

  1.   1
  2.   2

Introduction

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 AM243x device during both boot operation and application execution.

Flash memory can be utilized two different ways in the user system:

  • Memory is used as boot media; the application image is stored in the Flash memory and used as bootloader source.
  • 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 system-on-chip (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 flash region can be utilized starting at "0x0_0000 + SBL Size Image" to 0xE_FFFF for product-specific data.

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

Acronyms Used in This Document

SBL - Secondary Boot loader

MCU – Microcontroller Unit

QSPI – Quad Serial Peripheral Interface

OSPI – Octal Serial Peripheral Interface

ROM – Read-only memory

SoC – System on a Chip

SDK – Software Development Package

UART – Universal Asynchronous Receiver-Transmitter

ROM Boot Requirements

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

  • Flash device must operate in either 1.8V or the 3.3V vicinity, because AM243x supports dual voltage rail
  • In OSPI boot mode, the flash must support Octal Output Fast Read (opcode 0x8B) and the 1S-1S-8S transfer protocol
  • In QSPI boot mode, the flash must support Quad Output Fast Read (opcode 0x6B) and the 1S-1S-4S transfer protocol
  • 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
  • Flash must not boot in octal mode by default

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 AM243x compatibility requirements.

Application Requirements

Application-specific requirements tend to be more lenient then the ROM code execution requirements as 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 1.8V or 3.3V vicinity.
  • 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, AM243x only supports up to 4-byte addressing communication mode. As a result, any address requiring over 32 bits to reach is virtually inaccessible.

Additional Usage Factors

Consider the following items when deciding on what flash part to use for the application:

  • What is the flash required for? Some applications require more flash storage than others depending on whether of not 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 external storage is being 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 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, then please follow these 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 AM243x Sitara MCU as per the information contained in the device-specific data sheets. Use this list for reference only:

  • S25HS02GT, S25HS04GT, S25HL02GT, S25HL04GT
    • Manufacturer: Infineon
  • W25Q series
    • Manufacturer: Winbond
  • GD25 series
    • Manufacturer: GigaDevice
  • IS25LE, IS25LP Series
    • Manufacturer: ISSI
  • MT35XU512ABA, MT25Q
    • Manufacturer: Micron

Note: For information on physical connections between SoC and external flash, see the OSPI Environment section in the AM64x/AM243x Technical Reference Manual.