AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
ntv2spiinterface.cpp File Reference

Implementation of CNTV2AxiSpiFlash class. More...

#include "ntv2spiinterface.h"
#include <cmath>
#include <algorithm>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include "ntv2registersmb.h"
#include "ntv2mcsfile.h"
Include dependency graph for ntv2spiinterface.cpp:

Go to the source code of this file.

Macros

#define wait_for_flash_status_ready()   { uint8_t fs=0x00; do { FlashReadStatus(fs); } while(fs & 0x1); }
 

Functions

static bool verify_vectors (const std::vector< uint8_t > &dataWritten, const std::vector< uint8_t > &dataRead, bool verbose=(0))
 
void print_flash_status (const string &label, uint32_t curValue, uint32_t maxValue, uint32_t &lastPercentage)
 
void print_flash_status_final (const string &label)
 
bool has_4k_start_sectors (const uint32_t reportedSectorSize)
 
static uint32_t size_for_sector_number (const uint32_t reportedSectorSize, const uint32_t sector)
 
static uint32_t erase_cmd_for_sector (const uint32_t reportedSectorSize, const uint32_t sector)
 
static uint32_t sector_for_address (uint32_t sectorSizeBytes, uint32_t address)
 
static uint32_t address_for_sector (uint32_t sectorSizeBytes, uint32_t sector)
 
ProgramState programstate_for_address (uint32_t address, int mode)
 
uint32_t make_spi_ready (CNTV2Card &device)
 

Variables

const uint32_t CYPRESS_FLASH_READ_STATUS_COMMAND = 0x05
 
const uint32_t CYPRESS_FLASH_WRITEENABLE_COMMAND = 0x06
 
const uint32_t CYPRESS_FLASH_READFAST_COMMAND = 0x0C
 
const uint32_t CYPRESS_FLASH_PAGE_PROGRAM_COMMAND = 0x12
 
const uint32_t CYPRESS_FLASH_READBANK_COMMAND = 0x16
 
const uint32_t CYPRESS_FLASH_WRITEBANK_COMMAND = 0x17
 
const uint32_t CYPRESS_FLASH_SECTOR4K_ERASE_COMMAND = 0x21
 
const uint32_t CYPRESS_FLASH_READ_CONFIG_COMMAND = 0x35
 
const uint32_t CYPRESS_FLASH_READ_JEDEC_ID_COMMAND = 0x9F
 
const uint32_t CYPRESS_FLASH_SECTOR_ERASE_COMMAND = 0xDC
 

Detailed Description

Implementation of CNTV2AxiSpiFlash class.

Definition in file ntv2spiinterface.cpp.

Macro Definition Documentation

◆ wait_for_flash_status_ready

#define wait_for_flash_status_ready ( )    { uint8_t fs=0x00; do { FlashReadStatus(fs); } while(fs & 0x1); }

Definition at line 192 of file ntv2spiinterface.cpp.

Function Documentation

◆ address_for_sector()

static uint32_t address_for_sector ( uint32_t  sectorSizeBytes,
uint32_t  sector 
)
static

Definition at line 150 of file ntv2spiinterface.cpp.

◆ erase_cmd_for_sector()

static uint32_t erase_cmd_for_sector ( const uint32_t  reportedSectorSize,
const uint32_t  sector 
)
static

Definition at line 115 of file ntv2spiinterface.cpp.

◆ has_4k_start_sectors()

bool has_4k_start_sectors ( const uint32_t  reportedSectorSize)
inline

Definition at line 96 of file ntv2spiinterface.cpp.

◆ make_spi_ready()

uint32_t make_spi_ready ( CNTV2Card device)
inline

Definition at line 185 of file ntv2spiinterface.cpp.

◆ print_flash_status()

void print_flash_status ( const string &  label,
uint32_t  curValue,
uint32_t  maxValue,
uint32_t &  lastPercentage 
)
inline

Definition at line 62 of file ntv2spiinterface.cpp.

◆ print_flash_status_final()

void print_flash_status_final ( const string &  label)
inline

Definition at line 75 of file ntv2spiinterface.cpp.

◆ programstate_for_address()

ProgramState programstate_for_address ( uint32_t  address,
int  mode 
)
inline

Definition at line 171 of file ntv2spiinterface.cpp.

◆ sector_for_address()

static uint32_t sector_for_address ( uint32_t  sectorSizeBytes,
uint32_t  address 
)
static

Definition at line 123 of file ntv2spiinterface.cpp.

◆ size_for_sector_number()

static uint32_t size_for_sector_number ( const uint32_t  reportedSectorSize,
const uint32_t  sector 
)
static

Definition at line 107 of file ntv2spiinterface.cpp.

◆ verify_vectors()

static bool verify_vectors ( const std::vector< uint8_t > &  dataWritten,
const std::vector< uint8_t > &  dataRead,
bool  verbose = (0) 
)
static

Definition at line 21 of file ntv2spiinterface.cpp.

Variable Documentation

◆ CYPRESS_FLASH_PAGE_PROGRAM_COMMAND

const uint32_t CYPRESS_FLASH_PAGE_PROGRAM_COMMAND = 0x12

Definition at line 87 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_READ_CONFIG_COMMAND

const uint32_t CYPRESS_FLASH_READ_CONFIG_COMMAND = 0x35

Definition at line 92 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_READ_JEDEC_ID_COMMAND

const uint32_t CYPRESS_FLASH_READ_JEDEC_ID_COMMAND = 0x9F

Definition at line 93 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_READ_STATUS_COMMAND

const uint32_t CYPRESS_FLASH_READ_STATUS_COMMAND = 0x05

Definition at line 84 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_READBANK_COMMAND

const uint32_t CYPRESS_FLASH_READBANK_COMMAND = 0x16

Definition at line 89 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_READFAST_COMMAND

const uint32_t CYPRESS_FLASH_READFAST_COMMAND = 0x0C

Definition at line 86 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_SECTOR4K_ERASE_COMMAND

const uint32_t CYPRESS_FLASH_SECTOR4K_ERASE_COMMAND = 0x21

Definition at line 91 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_SECTOR_ERASE_COMMAND

const uint32_t CYPRESS_FLASH_SECTOR_ERASE_COMMAND = 0xDC

Definition at line 94 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_WRITEBANK_COMMAND

const uint32_t CYPRESS_FLASH_WRITEBANK_COMMAND = 0x17

Definition at line 90 of file ntv2spiinterface.cpp.

◆ CYPRESS_FLASH_WRITEENABLE_COMMAND

const uint32_t CYPRESS_FLASH_WRITEENABLE_COMMAND = 0x06

Definition at line 85 of file ntv2spiinterface.cpp.