138 lines
4.7 KiB
C
138 lines
4.7 KiB
C
|
|
/**************************************************************************************************
|
|||
|
|
Filename: osal_snv.h
|
|||
|
|
Revised: $Date: 2013-02-15 10:12:26 -0800 (Fri, 15 Feb 2013) $
|
|||
|
|
Revision: $Revision: 33143 $
|
|||
|
|
|
|||
|
|
Description: This module defines the OSAL simple non-volatile memory functions.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Copyright 2009-2013 Texas Instruments Incorporated. All rights reserved.
|
|||
|
|
|
|||
|
|
IMPORTANT: Your use of this Software is limited to those specific rights
|
|||
|
|
granted under the terms of a software license agreement between the user
|
|||
|
|
who downloaded the software, his/her employer (which must be your employer)
|
|||
|
|
and Texas Instruments Incorporated (the "License"). You may not use this
|
|||
|
|
Software unless you agree to abide by the terms of the License. The License
|
|||
|
|
limits your use, and you acknowledge, that the Software may not be modified,
|
|||
|
|
copied or distributed unless embedded on a Texas Instruments microcontroller
|
|||
|
|
or used solely and exclusively in conjunction with a Texas Instruments radio
|
|||
|
|
frequency transceiver, which is integrated into your product. Other than for
|
|||
|
|
the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
|||
|
|
works of, modify, distribute, perform, display or sell this Software and/or
|
|||
|
|
its documentation for any purpose.
|
|||
|
|
|
|||
|
|
YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
|||
|
|
PROVIDED <EFBFBD>AS IS<EFBFBD> WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
|||
|
|
INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
|||
|
|
NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
|||
|
|
TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
|||
|
|
NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
|||
|
|
LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|||
|
|
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
|||
|
|
OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
|||
|
|
OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|||
|
|
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|||
|
|
|
|||
|
|
Should you have any questions regarding your right to use this Software,
|
|||
|
|
contact Texas Instruments Incorporated at www.TI.com.
|
|||
|
|
**************************************************************************************************/
|
|||
|
|
|
|||
|
|
#ifndef OSAL_SNV_H
|
|||
|
|
#define OSAL_SNV_H
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C"
|
|||
|
|
{
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* INCLUDES
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#include "hal_types.h"
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* CONSTANTS
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* MACROS
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* TYPEDEFS
|
|||
|
|
*/
|
|||
|
|
#ifdef OSAL_SNV_UINT16_ID
|
|||
|
|
typedef uint16 osalSnvId_t;
|
|||
|
|
typedef uint16 osalSnvLen_t;
|
|||
|
|
#else
|
|||
|
|
typedef uint8 osalSnvId_t;
|
|||
|
|
typedef uint8 osalSnvLen_t;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* GLOBAL VARIABLES
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* FUNCTIONS
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* @fn osal_snv_init
|
|||
|
|
*
|
|||
|
|
* @brief Initialize NV service.
|
|||
|
|
*
|
|||
|
|
* @return SUCCESS if initialization succeeds. FAILURE, otherwise.
|
|||
|
|
*/
|
|||
|
|
extern uint8 osal_snv_init( void );
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* @fn osal_snv_read
|
|||
|
|
*
|
|||
|
|
* @brief Read data from NV.
|
|||
|
|
*
|
|||
|
|
* @param id - Valid NV item Id.
|
|||
|
|
* @param len - Length of data to read.
|
|||
|
|
* @param *pBuf - Data is read into this buffer.
|
|||
|
|
*
|
|||
|
|
* @return SUCCESS if successful.
|
|||
|
|
* Otherwise, NV_OPER_FAILED for failure.
|
|||
|
|
*/
|
|||
|
|
extern uint8 osal_snv_read( osalSnvId_t id, osalSnvLen_t len, void *pBuf);
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* @fn osal_snv_write
|
|||
|
|
*
|
|||
|
|
* @brief Write a data item to NV.
|
|||
|
|
*
|
|||
|
|
* @param id - Valid NV item Id.
|
|||
|
|
* @param len - Length of data to write.
|
|||
|
|
* @param *pBuf - Data to write.
|
|||
|
|
*
|
|||
|
|
* @return SUCCESS if successful, NV_OPER_FAILED if failed.
|
|||
|
|
*/
|
|||
|
|
extern uint8 osal_snv_write( osalSnvId_t id, osalSnvLen_t len, void *pBuf);
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
* @fn osal_snv_compact
|
|||
|
|
*
|
|||
|
|
* @brief Compacts NV if its usage has reached a specific threshold.
|
|||
|
|
*
|
|||
|
|
* @param threshold - compaction threshold
|
|||
|
|
*
|
|||
|
|
* @return SUCCESS if successful,
|
|||
|
|
* NV_OPER_FAILED if failed, or
|
|||
|
|
* INVALIDPARAMETER if threshold invalid.
|
|||
|
|
*/
|
|||
|
|
extern uint8 osal_snv_compact( uint8 threshold );
|
|||
|
|
|
|||
|
|
/*********************************************************************
|
|||
|
|
*********************************************************************/
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif /* OSAL_SNV.H */
|