LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
DataflashManager.h
Go to the documentation of this file.
1
/*
2
* Copyright(C) NXP Semiconductors, 2012
3
* All rights reserved.
4
*
5
* Software that is described herein is for illustrative purposes only
6
* which provides customers with programming information regarding the
7
* LPC products. This software is supplied "AS IS" without any warranties of
8
* any kind, and NXP Semiconductors and its licensor disclaim any and
9
* all warranties, express or implied, including all implied warranties of
10
* merchantability, fitness for a particular purpose and non-infringement of
11
* intellectual property rights. NXP Semiconductors assumes no responsibility
12
* or liability for the use of the software, conveys no license or rights under any
13
* patent, copyright, mask work right, or any other intellectual property rights in
14
* or to any products. NXP Semiconductors reserves the right to make changes
15
* in the software without notification. NXP Semiconductors also makes no
16
* representation or warranty that such application will be suitable for the
17
* specified use without further testing or modification.
18
*
19
* Permission to use, copy, modify, and distribute this software and its
20
* documentation is hereby granted, under NXP Semiconductors' and its
21
* licensor's relevant copyrights in the software, without fee, provided that it
22
* is used in conjunction with NXP Semiconductors microcontrollers. This
23
* copyright, permission, and disclaimer notice must appear in all copies of
24
* this code.
25
*/
26
27
28
34
#ifndef _DATAFLASH_MANAGER_H_
35
#define _DATAFLASH_MANAGER_H_
36
/* Includes: */
37
#include "../MassStorage.h"
38
#include "../Descriptors.h"
39
#include "
USB.h
"
40
41
/* Preprocessor Checks: */
42
#if (DATAFLASH_PAGE_SIZE % 16)
43
#error Dataflash page size must be a multiple of 16 bytes.
44
#endif
45
46
/* Defines: */
48
#define VIRTUAL_MEMORY_BYTES ((uint32_t)DATAFLASH_PAGES * DATAFLASH_PAGE_SIZE * DATAFLASH_TOTALCHIPS)
49
53
#define VIRTUAL_MEMORY_BLOCK_SIZE 512
54
58
#define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
59
60
/* Function Prototypes: */
61
void
DataflashManager_WriteBlocks
(
USB_ClassInfo_MS_Device_t
*
const
MSInterfaceInfo,
62
const
uint32_t
BlockAddress,
63
uint16_t TotalBlocks);
64
void
DataflashManager_ReadBlocks
(
USB_ClassInfo_MS_Device_t
*
const
MSInterfaceInfo,
65
const
uint32_t
BlockAddress,
66
uint16_t TotalBlocks);
67
void
DataflashManager_WriteBlocks_RAM
(
const
uint32_t
BlockAddress,
68
uint16_t TotalBlocks,
69
uint8_t* BufferPtr)
ATTR_NON_NULL_PTR_ARG
(3);
70
void
DataflashManager_ReadBlocks_RAM
(
const
uint32_t
BlockAddress,
71
uint16_t TotalBlocks,
72
uint8_t* BufferPtr)
ATTR_NON_NULL_PTR_ARG
(3);
73
void
DataflashManager_ResetDataflashProtections
(
void
);
74
bool
DataflashManager_CheckDataflashOperation
(
void
);
75
76
#endif
77
applications
lpc18xx_43xx
examples
LPCUSBlib
lpcusblib_MassStorageDevice
Lib
DataflashManager.h
Generated on Fri Nov 16 2012 13:36:36 for LPCOpen Platform by
1.8.2