AM261x MCU+ SDK: APIs for FSS

| AM261x MCU+ SDK 26.00.00 |

Data Structures | Functions | Typedefs | Macros
APIs for FSS
APIs for SOC Specific Device Drivers

## Introduction

Contains API to configure Bootseg and ECCM IP.

## Data Structures
struct | FSS_ECCRegionConfig
struct | FSS_Config

## Functions
int32_t | FSS_addressBitMask (FSS_Handle handle, uint32_t bitMask, uint8_t segment)
| Mask the address bits. More...
int32_t | FSS_disableAddressRemap (FSS_Handle handle)
| Disable remap. More...
int32_t | FSS_selectRegionA (FSS_Handle handle)
| Map region A of flash to initial position. More...
int32_t | FSS_selectRegionB (FSS_Handle handle)
| Map region N of flash to initial position. More...
uint32_t | FSS_getBootRegion (FSS_Handle handle)
| Which boot region is been selected. More...
void | FSS_enableECC (void)
| Enable ECC for Flash. More...
void | FSS_disableECC (void)
| Disable ECC. More...
void | FSS_setECCRegionSize (uint32_t regionIndex, uint32_t size_in_bytes)
| Set size of an ECCM region. More...
void | FSS_setECCRegionStart (uint32_t regionIndex, uint32_t ecc_reg_start)
| Set start address of an ECCM region. More...
int32_t | FSS_configECCMRegion (FSS_ECCRegionConfig *parameter)
| Configure en ECCM Region. More...
int32_t | FSS_ConfigEccm (uint32_t numRegion, FSS_ECCRegionConfig *parameter)
| Configure ECCM hardware. More...

## Typedefs
typedef void * | FSS_Handle

## Macros
#define | Region_Index_0 ((uint32_t)(0))
| Index for ECCM region 0. More...
#define | Region_Index_1 ((uint32_t)(1))
| Index for ECCM region 1. More...
#define | Region_Index_2 ((uint32_t)(2))
| Index for ECCM region 2. More...
#define | Region_Index_3 ((uint32_t)(3))
| Index for ECCM region 3. More...

## Macro Definition Documentation

## ◆ Region_Index_0

#define Region_Index_0 ((uint32_t)(0))

Index for ECCM region 0.

## ◆ Region_Index_1

#define Region_Index_1 ((uint32_t)(1))

Index for ECCM region 1.

## ◆ Region_Index_2

#define Region_Index_2 ((uint32_t)(2))

Index for ECCM region 2.

## ◆ Region_Index_3

#define Region_Index_3 ((uint32_t)(3))

Index for ECCM region 3.

## Typedef Documentation

## ◆ FSS_Handle

typedef void* FSS_Handle

## Function Documentation

## ◆ FSS_addressBitMask()

int32_t FSS_addressBitMask | ( | FSS_Handle | handle,
|  | uint32_t | bitMask,
|  | uint8_t | segment
| ) |  |

Mask the address bits.

Use this function to remap external flash. Lower 12 bits cannot be masked.

The address that will be sent to external flash will be (address & bitMask) | ((bitMask + 1) * segment)

Suppose external flash is 32MB and it is required to map upper 16MB to address 0 so that read from address 0 would automatically translar to 16MB read. In this case the bitMask would be 0xffffff and segment would be 1. address that would be sent to flash is (0xffffff * address) | 0x1000000

Parameters

  handle | handle to FSS instance
  bitMask | bit mask
  segment | segment

Returns
  SystemP_SUCCESS on successfull execution

## ◆ FSS_disableAddressRemap()

int32_t FSS_disableAddressRemap | ( | FSS_Handle | handle | ) |

Disable remap.

Parameters

  handle | handle to FSS instance

Returns
  SystemP_SUCCESS on successfull execution

## ◆ FSS_selectRegionA()

int32_t FSS_selectRegionA | ( | FSS_Handle | handle | ) |

Map region A of flash to initial position.

Parameters

  handle | handle to FSS instance

Returns
  SystemP_SUCCESS on successfull execution

## ◆ FSS_selectRegionB()

int32_t FSS_selectRegionB | ( | FSS_Handle | handle | ) |

Map region N of flash to initial position.

Parameters

  handle | handle to FSS instance

Returns
  SystemP_SUCCESS on successfull execution

## ◆ FSS_getBootRegion()

uint32_t FSS_getBootRegion | ( | FSS_Handle | handle | ) |

Which boot region is been selected.

Parameters

  handle | handle to FSS instance.

Returns
  selected boot region.

## ◆ FSS_enableECC()

void FSS_enableECC | ( | void |  | ) |

Enable ECC for Flash.

This function enabled ECC for the data that is stored in flash. For every 32 Bytes of data, 4 bytes of ECC is assumed. Make sure the data is in flash is prepared at compile time.

## ◆ FSS_disableECC()

void FSS_disableECC | ( | void |  | ) |

Disable ECC.

## ◆ FSS_setECCRegionSize()

void FSS_setECCRegionSize | ( | uint32_t | regionIndex,
|  | uint32_t | size_in_bytes
| ) |  |

Set size of an ECCM region.

Parameters

  regionIndex | region ID
  size_in_bytes | size of region in bytes

## ◆ FSS_setECCRegionStart()

void FSS_setECCRegionStart | ( | uint32_t | regionIndex,
|  | uint32_t | ecc_reg_start
| ) |  |

Set start address of an ECCM region.

Parameters

  regionIndex | region ID
  ecc_reg_start | start address

## ◆ FSS_configECCMRegion()

int32_t FSS_configECCMRegion | ( | FSS_ECCRegionConfig * | parameter | ) |

Configure en ECCM Region.

Parameters

  parameter | parameters for the region

Returns
  int32_t

## ◆ FSS_ConfigEccm()

int32_t FSS_ConfigEccm | ( | uint32_t | numRegion,
|  | FSS_ECCRegionConfig * | parameter
| ) |  |

Configure ECCM hardware.

Parameters

  numRegion | region ID
  parameter | region config data