4.13. FLS Module

4.13.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

BSW

Basic Software

MCAL

Micro Controller Abstraction Layer

API

Application Programming Interface

DET

Default Error Tracer

HW

Hardware

SW

Software

FLS

Flash Driver

DMA

Direct Memory Access

MCU

Micro Controller Unit

OS

Operating System

OSPI

Octal Serial Peripheral Interference

DAC

Direct Access Mode

INDAC

Indirect Access Mode

4.13.2. Introduction

This document describes MCAL FLS Driver functionality and configuration details as per AUTOSAR version 4.3.1 .

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile, Post-build

Vendor ID

FLS_VENDOR_ID (44)

Module ID

FLS_MODULE_ID (92)

Supported Platform

AM263Px

The Flash Driver provides services for reading, writing, erasing flash memory for external Flash device.

4.13.3. Functional Overview

4.13.3.1. FLS Driver Architecture

The FLS driver has architecture as shown in below figure from the AUTOSAR specification.

FLS in AUTOSAR architecture

Fig. 4.62 FLS in AUTOSAR architecture

The below figure shows typical connection of the OSPI module to the

OSPI connected to an external flash memory

Fig. 4.63 OSPI connected to an external flash memory

4.13.3.2. Initialization

The driver FLS is initialized by calling Fls_Init() function and takes FlsConfigSet as input and Initializes Flash and OSPI. This will also make driver status to IDLE.

4.13.3.3. States

The Fls driver maintains states for:

  1. MEMIF_UNINIT -> This is the state when hardware is not initialized.

  2. MEMIF_IDLE -> when FLS driver initialized, it will go to IDLE state.

  3. MEMIF_BUSY-> In case of any on-going operation i.e., Erase OR read OR write, the state will be maintained as busy until the operation is completed.

  4. MEMIF_BUSY_INTERNAL ->This is not supported.

4.13.3.4. Assumptions

None

4.13.3.5. Constraints

  1. For read and write operation offset should be page alligned

  2. For read and write operation length of operation should be byte alligned.

  3. For interrupt mode to be enabled, indac mode should be enabled.

  4. For interrupt mode to be enabled, maxReadNormalMode and maxWriteNormalMode should be set to pagesize.

  5. For interrupt mode to be enabled, FLS_ERASE_VERIFICATION_ENABLED, FLS_WRITE_VERIFICATION_ENABLED, FLS_TIMEOUT_SUPERVISION_ENABLED macros should be STD_OFF.

4.13.3.6. Design overview

Will be available in future release.

4.13.4. Hardware Features

4.13.4.1. AUTOSAR Features supported

  • Only one OSPI instance will support

  • Perform storage mode applications
    1. Read from flash.
    2. Write to flash.
    3. Erase Flash.
    4. Cancel job is supported.
    5. Compare and Blank Check flash memory location.

  • Configure error detection (DET)

  • Only polling mode is supported.

  • DAC and INDAC mode of operation are supported.

  • Interrupt mode is supported (only in INDAC Mode)

4.13.4.2. Not supported Features

  • XIP Mode is not supported.

  • PHY Tune Module is not supported.

  • DMA mode is not supported.

4.13.4.3. IP specific Features supported

4.13.4.3.1. DAC Mode

Direct Access Controller (or DAC) refers to the operation where data interface accesses directly trigger a read or write to Flash memory. It is memory mapped and can be used to both access and directly execute code from external Flash memory. Access that use DAC do not use the embedded SRAM within the OSPI module. DAC mode does not support interrupt handling as it does not involve SRAM for data transfer.

4.13.4.3.2. INDAC Mode

Indirect Access Controller (INDAC) uses the internal SRAM of the OSPI module. Data transfers then happen between the SRAM and Flash memory or SRAM and system memory, so no memory mapping is needed. The aim of the indirect mode of operation is to transfer significant numbers of bytes to/from Flash memory. Indirect operations are controlled and triggered by software via specific read/write transfer registers. Bulk transfers take place between system and flash memory in the most efficient manner. Fewest possible write cycles carried out inside flash device to maximize life of device. INDAC supports poll and interrupt based implementation. The embedded SRAM used by INDAC provides interrupt mechanism. Interrupts are triggered when SRAM levels fall below a watermark, and also when a write/read operation finishes from within the SRAM. Design implementation is non-blocking and allows the control to return to the application (CPU) while the data is still transferring in hardware.

4.13.4.3.3. STIG

Software Triggered Instruction Generator - While DAC and INDAC are used for data transfer, STIG is used to access the volatile and non-volatile configuration registers, status registers, and for erase functions. This Flash Driver Module Write, Read, Erase, BlankCheck and Compare APIs are asynchronous such that control will return to the application after the job from one of the APIs has been accepted. A “job” describes the action that will perform actual transactions to the hardware. The driver’s Fls_MainFunction () API will do the job processing internally, after the APIs have been called and the job has been accepted. During job processing, the module will perform the programming of the flash device, and will make data transfers between system and flash device.

The below figure shows typical connection of the OSPI module to the flash memory

OSPI connected to an external flash memory

Fig. 4.64 OSPI connected to an external flash memory

4.13.4.4. Non compliance

4.13.4.4.1. Deviations to requirements (Requirement Traceability)

4.13.4.4.1.1. Deviation of requirements against AUTOSAR specification requirements

Will be updated in next release

4.13.5. Source files

Static source C Files are defined below

📦AM263Px
┣ 📂build
┣ 📂mcal
┃ ┣ 📂Fls
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜Fls.h : Contains the APIs of the FLS driver to be used by upper layers.
┃ ┃ ┃ ┣ 📜Fls_Cbk.h : Contains the callback functions.
┃ ┃ ┃ ┗ 📜Fls_Irq.h : Contains ISR function declarations.
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜Fls.c : Contains the pre-complier switches.
┃ ┃ ┃ ┗ 📜Fls_Irq.c : Contains ISR function definitions..
┃ ┃ ┣ 📂V2
┃ ┃ ┃ ┣ 📜Fls_Brd_Nor.h : Contains internal functions and data structures.
┃ ┃ ┃ ┗ 📜Fls_Brd_Nor_Ospi.c : Contains internal functions and data structures.
┃ ┃ ┃ ┣ 📜Fls_Nor_config.c : Contains flash specific commands
┃ ┃ ┃ ┣ 📜Fls_Nor_config.h : Contains device specific configuration parameters.
┃ ┃ ┃ ┣ 📜Fls_Ospi.c : Contains internal functions definitions.
┃ ┃ ┃ ┗ 📜Fls_Ospi.h : Contains internal functions definitions and data structures.
structures.*
┃ ┃ ┗ 📜Makefile
┣ 📂mcal_config
┣ 📂mcal_docs
┗ 📜README.txt

Plugin files are defined below in the table.

Plugin Files

Description

Fls_Cfg.h

Contains the Precompile switches

Fls_PBcfg.c

Contains all Post-Build Configured parameters

Fls_Cfg.c

Contains all Pre-Compile Configured parameters

FLS header file include structure

Fig. 4.65 FLS header file include structure

4.13.6. Module requirements

Will be updated in future release

4.13.6.1. Memory Mapping

Memory Mapping Sections

Compiler Abstraction Definitions

FLS_CODE

FLS_CODE_ISR

FLS_VAR_NO_INIT

FLS_CFG

FLS_START_SEC_ISR_CODE (.text)

x

FLS_STOP_SEC_ISR_CODE

FLS_START_SEC_VAR_NO_INIT_UNSPECIFIED (.data)

x

FLS_STOP_SEC_VAR_NO_INIT_UNSPECIFIED

FLS_START_SEC_CODE (.text)

x

FLS_START_SEC_CODE

FLS_START_SEC_CONFIG_DATA (.data)

x

FLS_STOP_SEC_CONFIG_DATA

4.13.6.2. Scheduling

4.13.6.2.1. SchM

This implementation requires one level of exclusive access to guard critical sections. Invokes SchM_Enter_Fls_FLS_EXCLUSIVE_AREA_0 (), SchM_Exit_Fls_FLS_EXCLUSIVE_AREA_0 () to enter critical section and exit.

4.13.6.2.2. Critical Sections

There is only one critical section in this driver. Within these sections all read /modify / write accesses to internal FLS status variables must be protected. Therefore, switching to tasks that also access FLS must be avoided and all FLS interrupts must be suspended. This is managed internally by Fls Driver

4.13.6.3. Error handling

4.13.6.3.1. DET Errors

The errors reported to DET module are described in the following table:

Type of Error

Related Error code

Value (Hex)

API service called with wrong parameter

FLS_E_PARAM_CONFIG

0x01

API service called with wrong parameter

FLS_E_PARAM_ADDRESS

0x02

API service called with wrong parameter

FLS_E_PARAM_LENGTH

0x03

API service called with wrong parameter

FLS_E_PARAM_DATA

0x04

API service used without module initialization

FLS_E_UNINIT

0x05

API called when module is busy

FLS_E_BUSY

0x06

API called with a Null Pointer

FLS_E_PARAM_POINTER

0x0A

The run time errors reported to DET module are described in the following table:

Type of Error

Related Error code

Value (Hex)

Erase verification (blank check) failed

FLS_E_VERIFY_ERASE_FAILED

0x07

Write verification (compare) failed

FLS_E_VERIFY_WRITE_FAILED

0x08

AUTOSAR requires that API functions check the validity of their parameters. The check in below table shows the various Development Error Reporting: Assignment of checks to services are internal parameter checks of the API functions. These checks are for development error reporting and can be enabled or disabled. The following table shows which parameter checks are performed on which services:

Check Services

FLS_E_PARAM_CONFIG

FLS_E_PARAM_ADDRESS

FLS_E_PARAM_LENGTH

FLS_E_PARAM_DATA

FLS_E_UNINIT

FLS_E_BUSY

FLS_E_PARAM_POINTER

Fls_Init

x

x

Fls_Erase

x

x

x

x

Fls_Read

x

x

x

x

x

Fls_Write

x

x

x

x

x

Fls_Compare

x

x

x

x

x

Fls_BlankCheck

x

x

x

x

Fls_GetJobResult

x

Fls_GetVersionInfo

x

Fls_MainFunction

x

Fls_Cancel

x

4.13.7. Used resources

4.13.7.1. Interrupt Handling

Will be updated in the next release

4.13.8. Integration description

4.13.8.1. Dependent modules

4.13.8.1.1. MCU

The Fls Modules expects the MCU modules to enable the OSPI clock through the configuration. Required parameter for clock enabling:

  1. Module ID: MCU_CLKSRC_MODULE_ID_OSPI

  2. Source ID: MCU_CLKSRC_4

  3. Divider value: 2

4.13.8.1.2. PORT

The Fls Modules expects that pinmux is set correctly to configure the Data line, Chip select and Clock pins for OSPI module. This is done by the PORT driver.

4.13.8.1.3. MemIf

This implementation depends on MemIf module and uses its imported types such as MemIf_JobResultType, MemIf_ModeType and MemIf_StatusType.

4.13.8.1.4. Fee

This implementation depends on Fee module for callback notification to notify the module environment about job end and job error.

4.13.8.1.5. DET

The module FLS depends on the DET (by default) in order to report development errors.

The following table represents the service IDs:

Service ID

Code

Service

FLS_SID_INIT

0x00

Fls_Init

FLS_SID_ERASE

0x01

Fls_Erase

FLS_SID_WRITE

0x02

FLS_Write()

FLS_SID_CANCEL

0x03

FLS_Cancel()

FLS_SID_GET_STATUS

0x04

FLS_GetStatus()

FLS_SID_GET_JOB_RESULT

0x05

Fls_GetJobResult()

FLS_SID_READ

0x07

FLS_Read()

FLS_SID_COMPARE

0x08

FLS_Compare()

FLS_SID_GET_VERSION_INFO

0x10

Fls_GetVersionInfo()

FLS_SID_BLANK_CHECK

0x0A

FLS_BlankCheck()

FLS_SID_MAIN_FUNCTION

0x06

FLS_MainFunction()

4.13.8.1.6. DEM

FLS modules does not report DEM errors.

4.13.8.1.7. Callback Functions

The FLS driver does not provide any callback functions.

4.13.8.1.8. Main Functions

The function Fls_MainFunction perform the processing of the flash read, write, erase and compare jobs. When a job has been initiated, the FLS module’s environment shall call the function Fls_MainFunction cyclically until the job is finished.

4.13.8.1.9. Fls Set Erase Function

This function is called from example app based on the macros enabled in application itself. Implementation of this function is done to allow user to select one or more erase types based on the requirement. The function Fls_SetEraseType sets the parameters like data size, data_value, erase type(sector/block/chip), “typeoferase” for Fls_DrvObj, based on the erase type parameter passed to this function while calling from example app. These parameters are required in example app.

4.13.8.1.10. Callback Notification

This implementation depends on Fee module for callback notification to notify the module environment about job end and job error

4.13.8.2. Multi-core and Resource allocator

Will be updated in the next release

4.13.9. Configuration

The Fls can be configured as Post-Build or Pre-Compile variant, using EB tresos tool.

Variants

Configured Files

PostBuild

Fls_PBcfg.c , Fls_Cfg.h

Pre-Compile

Fls_Cfg.c , Fls_Cfg.h

4.13.9.1. Parameter Description

4.13.9.1.1. Standard Configuration

Standard Parameters

Description

Default Value

Range

Unit

FlsJobEndNotification

Mapped to the job end notification routine provided by some upper layer module, typically the Fee module.

NA

NA

FUNCTION-NAME

FlsJobErrorNotification

Mapped to the job error notification routine provided by some upper layer module, typically the Fee module.

NA

NA

FUNCTION-NAME

FlsMaxReadNormalMode

The maximum number of bytes to read or compare in one cycle of the flash driver’s job processing function in normal mode.

768

0 .. 4294967295

INTEGER

FlsMaxWriteNormalMode

The maximum number of bytes to write in one cycle of the flash driver’s job processing function in normal mode.

768

0 .. 4294967295

INTEGER

FlsNumberOfSectors

Number of continuous sectors with identical configuration

32

0..65535

INTEGER

FlsPageSize

Size of one page of this sector.

256

0 .. 4294967295

INTEGER

FlsSectorSize

Size of this sector.

4096

0 .. 4294967295

INTEGER

FlsSectorStartaddress

Start address of this sector.

0

0 .. 4294967295

INTEGER

FlsBlankCheckApi

Compile switch to enable/disable the Fls_BlankCheck function.

FALSE

TRUE

FALSE

BOOLEAN

FlsCancelApi

Compile switch to enable and disable the Fls_Cancel function. Cancel API currently not supported.

TRUE

TRUE

FALSE

BOOLEAN

FlsCompareApi

Compile switch to enable and disable the Fls_Compare function.

TRUE

TRUE

FALSE

BOOLEAN

FlsDevErrorDetect

Switches the development error detection and notification on or off.

FALSE

TRUE

FALSE

BOOLEAN

FlsDriverIndex

Index of the driver, used by FEE.

0

0..254

INTEGER

FlsEraseVerificationEnabled

Compile switch to enable erase verification. Currently not supported.

FALSE

TRUE

FALSE

BOOLEAN

FlsGetJobResultApi

Compile switch to enable and disable the Fls_GetJobResult function.

TRUE

TRUE

FALSE

BOOLEAN

FlsGetStatusApi

Compile switch to enable and disable the Fls_GetStatus function.

TRUE

TRUE

FALSE

BOOLEAN

FlsSetModeApi

Compile switch to enable and disable the Fls_SetMode function. Not relevant as only one mode supported.

FALSE

TRUE

FALSE

BOOLEAN

FlsTimeoutSupervisionEnabled

Compile switch to enable timeout supervision. Currently, not supported.

FALSE

TRUE

FALSE

BOOLEAN

FlsUseInterrupts

Job processing triggered by hardware interrupt.

FALSE

TRUE

FALSE

BOOLEAN

FlsVersionInfoApi

Pre-processor switch to enable / disable the API to read out the modules version information.

FALSE

TRUE

FALSE

BOOLEAN

4.13.9.1.2. IP Specific Configuration

Standard Parameters

Description

Default Value

Range

Unit

OspiInstanceId

Instance Id of OSPI. In this variant only one is supported

0

0

INTEGER

FlsBaudRateDiv

To Select the baud rate divider values

0

0..4294967295

INTEGER

FlsOspiCtrlBaseAddr

This parameter used to select the OSPI base Address

1400930304

0..4294967295

INTEGER

FlsOsCounterRef

This parameter contains a reference to the OsCounter, which is used by the FLS driver.

NA

ASPathDataOfSchema:/AUTOSAR/EcucDefs/Os/OsCounter

REFERENCE

FlsIrqType

Type of Isr function: void functionname(void) CAT1 see description in oil tool : interrupt void func(void) CAT2 see description in oil tool : ISR(func)

FLS_ISR_CAT1

FLS_ISR_VOID

FLS_ISR_CAT1

FLS_ISR_CAT2

ENUMERATION

FlsDefaultOSCounterId

Default Os Counter Id if node reference to OsCounter ref FlsOsCounterRef is not set

0

0..16

INTEGER

FlsDeviceVariant

Select required Device Variant

AM263Px

AM263Px

ENUMERATION

FlsBaseAddress

The flash memory start address (see also SWS_Fls_00208 and SWS_Fls_00209).

3321888768

0..4294967295

INTEGER

FlsTotalSize

The total amount of flash memory in bytes (see also SWS_Fls_00208 and SWS_Fls_00209).

1073741824

0 .. 4294967295

INTEGER

FlsWriteVerificationEnabled

Compile switch to enable write verification. Currenly, not supported.

FALSE

TRUE / FALSE

BOOLEAN

FlsErasedValue

The contents of an erased flash memory cell.

255

0 .. 4294967295

INTEGER

FlsEraseTime

Maximum time to erase one complete flash sector.

1000

0..INFINITY

FLOAT

FlsExpectedHwId

Unique identifier of the hardware device that is expected by this driver (the device for which this driver has been implemented).

23322

STRING

FlsSpecifiedEraseCycles

Number of erase cycles specified for the flash device (usually given in the device data sheet).

0

0..4294967295

INTEGER

FlsWriteTime

Maximum time to program one complete flash page.

1000

0..INFINITY

FLOAT

FlsDacEnable

The driver shall enable Direct Access Mode for OSPI

TRUE

TRUE / FALSE

BOOLEAN

FlsOspiClkSpeed

The driver shall specify the OSPI Clk speed to be used

133333333

NA

INTEGER

FlsPhyEnable

The driver shall enable Phy Speed mode for DAC

FALSE

TRUE / FALSE

BOOLEAN

4.13.9.2. Configuration rules and constraints to enable plausibility checks

Will be updated in next release

4.13.9.3. Configuration changes with DMA mode

  1. Flash configuration should include Cdd_Dma in module configurations to use DMA.

FLS Module Configurations

Fig. 4.66 FLS Module Configurations

  1. Flash DMA handler is required for Flash DMA support in DMA configurations and CDD_TRANSFER_MODE_CHAINING should be used in Flash DMA Handler.

FLS Handler in Cdd_Dma configuration

Fig. 4.67 FLS Handler in Cdd_Dma configuration

  1. Flash Dma Handler should have two channels because it uses CDD_TRANSFER_MODE_CHAINING mode.

FLS Handler Channels in Cdd_Dma configuration

Fig. 4.68 FLS Handler Channels in Cdd_Dma configuration

  1. Flash configuration should enable Memmap mode and Interrupt mode to use DMA.

Dma, Memmap in FLS configuration (FlsConfigSet)

Fig. 4.69 Dma, Memmap in FLS configuration (FlsConfigSet)

Interrupt in FLS configuration (FlsGeneral)

Fig. 4.70 Interrupt in FLS configuration (FlsGeneral)

4.13.9.3.1. Program changes with DMA mode

For DMA mode support, DMA TPCC0 Interrupt aggregation (INTR) line number 72 gets used to register ISR (CDD_EDMA_lld_transferCompletionMasterIsrFxn) with EDMA and Cache invalidation on destination buffers should happen using Mcal_CacheP_inv APIs before using Flash DMA support for read.

4.13.10. Examples

4.13.10.1. Overview

Will be updated in the next release

4.13.10.2. Hardware Software Setup and Tools

None

4.13.10.3. Steps to build and run example

  1. FLS example application demonstrating the MCAL Fls driver features is in folder <MCAL_ROOT>/examples/Fls.

  2. This application can be built from the root folder by giving gmake –s fls_app PLATFORM=am263px.

  3. after the build is completed we get a binary file,which is loaded in our controller and executed.

4.13.10.4. Example Logs


 FlsApp: Sample Application - STARTS !!!
 FLS_APP: Variant - Pre Compile being used !!!
 FLS MCAL version info:9.1.0
 FLS MCAL Module/Driver:92.44 
 FLS_APP:Executing Sector configuration number :  1 
 FLS_APP:Number of sector/blocks to erase/read/write: 1 
 FLS_APP:Total data size: 0x1000 
 FLS_APP:Offset is 0x0 
 FLS_APP: Erasing 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: Blank Checking 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: Writing 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: Reading 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: Write Compare 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: Read Compare 
 FLS_APP: Job Processing in Progress.
 FLS_APP: Job Ends: SUCCESS
 FLS_APP: 
 FLS_APP: Job Cancel 
 FLS_APP:         1. Writing 
 FLS_APP:         2. Canceling 
 FLS_APP: Job Canceled (SUCCESS) ! 
 FLS_APP: 
 FLS_APP: 
 FLS_APP: ---------- FLS Sample application Done !! ----------  
 FLS_APP:
      

4.13.10.5. File Structure

📦AM263Px
┣ 📂build
┣ 📂mcal
┃ ┣ 📂examples
┃ ┃ ┣ 📂Fls
┃ ┃ ┃ ┣ 📂soc
┃ ┃ ┃ ┣ 📜Flsapp.c : Contains Fls test example
┃ ┃ ┃ ┗ 📜Makefile
┃ ┣ 📂examples_config
┃ ┃ ┣ 📂Fls_Demo_Cfg
┃ ┃ ┃ ┗ 📂soc
┃ ┃ ┃ ┃ ┣ 📂am263px
┃ ┃ ┃ ┃ ┃ ┗ 📂r5f0_0
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗📜Fls_Cfg.h : Contains the configuration parameters
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂src
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣📜Fls_Cfg.c : Contains all Pre-Compile Configured parameters
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜Fls_PBcfg.c : contains all Post build configured parameters
┃ 📂mcal_config
┃ 📂mcal_docs
┗ 📜README.txt

4.13.11. FAQ’s

Q1. What if some flashes also support write enable for non-volatile registers?

Before writing to any register in flash, write enable command is issued to the flash. The Write enable can be issued to both volatile and non volatile registers depending on what the flash supports. Currently the existing flash in the device supports write enable to volatile registers. In case any external flash (e.g. S25FL064LABMFB01X) supports write enable to both volatile and non volatile registers, the user can issue write enable command for non volatile registers using Nor_OspiCmdWrite API. User can also update the fls_config_sfdp_1.cmdWren parameter in Flash_sfdpParams_init API in V2/Fls_Nor_config.c file by following the flash datasheet.

Q2. How to enable interrupt mode in Flash?

To enable interrupt mode, FLS_USE_INTERRUPTS should be set to STD_ON. INDAC mode should be enabled in interrupt mode as ospi controller uses SRAM level to trigger interrupt and INDAC mode of operation uses SRAM for data transfer. Also maxReadNormalMode and maxWriteNormalMode should be set to page size of the flash. Further, FLS_ERASE_VERIFICATION_ENABLED,FLS_WRITE_VERIFICATION_ENABLED and FLS_TIMEOUT_SUPERVISION_ENABLED should be disabled in interrupt mode.

4.13.12. Test Report

Please refer AM26x FLS Driver Test Case Report as part of CSP provided in the release package.

4.13.13. References

AUTOSAR_SWS_FlashDriver
Technical Reference Manual