nvm3_hal_extflash.c File Reference

Non-Volatile Memory Wear-Leveling driver HAL implementation.

License

Copyright 2018 Silicon Laboratories Inc. www.silabs.com

The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.

Definition in file nvm3_hal_extflash.c.

#include <stdbool.h>
#include <string.h>
#include "nvm3.h"
#include "nvm3_hal_extflash.h"
#include "em_system.h"
#include "em_msc.h"
#include "api/btl_interface.h"

Macros

#define CACHE_ADR_INVALID   (void *)(-1)
 
#define CACHE_SIZE   (64)
 

Functions

static void halExtFlashClose (void)
 
static Ecode_t halExtFlashGetInfo (nvm3_HalInfo_t *halInfo)
 
static Ecode_t halExtFlashOpen (nvm3_HalPtr_t nvmAdr, size_t flashSize)
 
static Ecode_t halExtFlashPageErase (nvm3_HalPtr_t nvmAdr)
 
Ecode_t halExtFlashReadWords (nvm3_HalPtr_t nvmAdr, void *dst, size_t wordCnt)
 
static Ecode_t halExtFlashWriteWords (nvm3_HalPtr_t nvmAdr, void const *src, size_t wordCnt)
 
static void nvm3_halExtFlashAccess (nvm3_HalNvmAccessCode_t access)
 

Variables

static BootloaderInformation_t btlInfo
 Bootloader information.
 
static BootloaderStorageInformation_t btlStorageInfo
 Bootloader storage information.
 
static void * cacheAdr
 
static uint8_t cacheBuf [CACHE_SIZE]
 
const nvm3_HalHandle_t nvm3_halExtFlashHandle