LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
DataflashManager.h File Reference

Detailed Description

Header file for DataflashManager.c.

Definition in file DataflashManager.h.

#include "../MassStorage.h"
#include "../Descriptors.h"
#include "USB.h"

Go to the source code of this file.

Macros

#define VIRTUAL_MEMORY_BYTES   ((uint32_t) DATAFLASH_PAGES * DATAFLASH_PAGE_SIZE * DATAFLASH_TOTALCHIPS)
 
#define VIRTUAL_MEMORY_BLOCK_SIZE   512
 
#define VIRTUAL_MEMORY_BLOCKS   (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
 

Functions

void DataflashManager_ReadBlocks (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks)
 
void DataflashManager_WriteBlocks_RAM (const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t *BufferPtr) ATTR_NON_NULL_PTR_ARG(3)
 
void DataflashManager_ReadBlocks_RAM (const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t *BufferPtr) ATTR_NON_NULL_PTR_ARG(3)
 
void DataflashManager_ResetDataflashProtections (void)
 
bool DataflashManager_CheckDataflashOperation (void)
 

Variables

*Preprocessor Checks
 
*Preprocessor const uint32_t BlockAddress
 
*Preprocessor const uint32_t
uint16_t 
TotalBlocks
 

Macro Definition Documentation

#define VIRTUAL_MEMORY_BLOCK_SIZE   512
#define VIRTUAL_MEMORY_BLOCKS   (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
#define VIRTUAL_MEMORY_BYTES   ((uint32_t) DATAFLASH_PAGES * DATAFLASH_PAGE_SIZE * DATAFLASH_TOTALCHIPS)

Function Documentation

bool DataflashManager_CheckDataflashOperation ( void  )

Performs a simple test on the attached Dataflash IC(s) to ensure that they are working.

Returns
Boolean true if all media chips are working, false otherwise

Definition at line 517 of file DataflashManager.c.

void DataflashManager_ReadBlocks ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo,
const uint32_t  BlockAddress,
uint16_t  TotalBlocks 
)

Reads blocks (OS blocks, not Dataflash pages) from the storage medium, the board Dataflash IC(s), into the pre-selected data IN endpoint. This routine reads in Dataflash page sized blocks from the Dataflash and writes them in OS sized blocks to the endpoint.

Parameters
[in]MSInterfaceInfoPointer to a structure containing a Mass Storage Class configuration and state
[in]BlockAddressData block starting address for the read sequence
[in]TotalBlocksNumber of blocks of data to read

Definition at line 203 of file DataflashManager.c.

void DataflashManager_ReadBlocks_RAM ( const uint32_t  BlockAddress,
uint16_t  TotalBlocks,
uint8_t *  BufferPtr 
)

Reads blocks (OS blocks, not Dataflash pages) from the storage medium, the board Dataflash IC(s), into the preallocated RAM buffer. This routine reads in Dataflash page sized blocks from the Dataflash and writes them in OS sized blocks to the given buffer. This can be linked to FAT libraries to read the files stored on the Dataflash.

Parameters
[in]BlockAddressData block starting address for the read sequence
[in]TotalBlocksNumber of blocks of data to read
[out]BufferPtrPointer to the data destination RAM buffer

Definition at line 412 of file DataflashManager.c.

void DataflashManager_ResetDataflashProtections ( void  )

Disables the Dataflash memory write protection bits on the board Dataflash ICs, if enabled.

Definition at line 475 of file DataflashManager.c.

void DataflashManager_WriteBlocks_RAM ( const uint32_t  BlockAddress,
uint16_t  TotalBlocks,
uint8_t *  BufferPtr 
)

Writes blocks (OS blocks, not Dataflash pages) to the storage medium, the board Dataflash IC(s), from the given RAM buffer. This routine reads in OS sized blocks from the buffer and writes them to the Dataflash in Dataflash page sized blocks. This can be linked to FAT libraries to write files to the Dataflash.

Parameters
[in]BlockAddressData block starting address for the write sequence
[in]TotalBlocksNumber of blocks of data to write
[in]BufferPtrPointer to the data source RAM buffer

Definition at line 313 of file DataflashManager.c.

Variable Documentation

* Preprocessor const uint32_t BlockAddress

Definition at line 62 of file DataflashManager.h.

* Preprocessor Checks

Definition at line 62 of file DataflashManager.h.

* Preprocessor const uint32_t uint16_t TotalBlocks

Definition at line 62 of file DataflashManager.h.