⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcl_gdi_eeprom.h

📁 用一个Flash的两个扇区虚拟一个Eeprom
💻 H
字号:
/**********************************************************************************

File Name   : TCL_GDI_Eeprom.h

Description : eeprom 驱动头文件

COPYRIGHT (C) 

Date               Modification                                             Name
----------------------------------------------------------------------------------
20070712        Created                                                 JokQu
***********************************************************************************/
#ifndef __TCL_GDI_EEPROM_H__
#define __TCL_GDI_EEPROM_H__

#include <stdio.h>
#include <string.h>
#include <math.h>
#include "stddefs.h"        

#include "testtool.h"
#include "sttbx.h"

#include "TCL_Common.h"

#ifdef __cplusplus
extern "C" {
#endif

/* eeprom 信息*/
typedef struct _TCL_EEPROM_INFO_
{
	TCL_UINT32	uSize;
	TCL_UINT32	uStartAddress;
	TCL_BOOL	bUseVirtualEeprom;
}TCL_GDI_EEPROM_INFO;

/* eeprom 驱动返回值*/
typedef enum 
{
	TCL_GDI_EEPROM_INIT_FAILURE =TCL_RETURN_EEPROM_BASE,	/* 初始化eeprom 失败*/
	TCL_GDI_EEPROM_NO_ENOUGH_MEM,				/* 分配内存失败*/
	TCL_GDI_EEPROM_OEPN_FAILURE,					/* 打开eeprom 失败*/
	TCL_GDI_EEPROM_OSP_ERROR,					/* OS 错误*/	
	TCL_GDI_EEPROM_ERASE_FLASH_FAILURE,			/* 擦除flash 失败*/	
	TCL_GDI_EEPROM_WRITE_FLASH_FAILURE,		/* 写flash 失败*/	
	TCL_GDI_EEPROM_READ_FLASH_FAILURE,			/* 读flash 失败*/	
	TCL_GDI_EEPROM_FLASH_ADDRESS_ERROR,		/* flash 地址不对*/
	TCL_GDI_EEPROM_WRITE_FAILURE,				/* 写eeprom 失败*/	
	TCL_GDI_EEPROM_READ_FAILURE,					/* 读eeprom 失败*/	
	TCL_GDI_EEPROM_INIT_BUFFER_FAILURE,			/* 初始化buffer 失败*/
	TCL_GDI_EEPROM_NOT_INITIALIZED,				/* 没有初始化 */
	TCL_GDI_EEPROM_ALREADY_INITIALIZED,			/* 已经初始化*/
	TCL_GDI_EEPROM_PARAMTER_INVALID,			/* 参数无效*/

	TCL_GDI_EEPROM_RETURN_AMOUNT
} TCL_GDI_EEPROM_RETURN_VALUE;

/* Eeprom 使用分配 */
/* 节目属性首地址 */
#define TCL_GDI_EEPROM_CM_ADDR			(0)
#define TCL_GDI_EERPOM_CM_SIZE 			(0x800)

/* 系统参数首地址 */
#define TCL_GDI_EEPROM_PARAM_ADDR		(TCL_GDI_EEPROM_CM_ADDR + TCL_GDI_EERPOM_CM_SIZE)
#define TCL_GDI_EEPROM_PARAM_SIZE		(0x100)

/* APPLOADER 参数首地址 */
#define TCL_GDI_APPLOADER_PARAM_ADDR	(TCL_GDI_EEPROM_PARAM_ADDR + TCL_GDI_EEPROM_PARAM_SIZE)
#define TCL_GDI_APPLOADER_PARAM_SIZE		(0x30)

/* BookTimer 参数首地地址和大小*/
#define TCL_GDI_BOOKTIMER_PARAM_ADDR	(TCL_GDI_APPLOADER_PARAM_ADDR + TCL_GDI_APPLOADER_PARAM_SIZE)
#define TCL_GDI_BOOKTIMER_PARAM_SIZE		(0x1300)


/******************************************************************************
* Function:            TCL_GDI_Eeprom_Init
* Description:        eeprom 驱动初始化
* Calls:            	omit
* Called By: 		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		none
* Output:              	none
* Return:        	TCL_NO_ERROR 	- 成功
				其它- 请参考TCL_GDI_EEPROM_RETURN_VALUE 定义
* Others: 	
	this function should be call before  used virtual eeprom driver system 
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070712						create
******************************************************************************/
TCL_UINT32 TCL_GDI_Eeprom_Init(TCL_VOID);


/******************************************************************************
* Function:		TCL_GDI_Eeprom_IsInit
* Description:		Eeprom 模块是否已初始化
* Calls:			omit
* Called By:		omit
* Table Accessed:	none
* Table Updated:	none
* Input:			none
* Output:			none
* Return:			TCL_TRUE - 已初始化
				TCL_FALSE - 未初始化
* Others:								
* Note:
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070716						create
*******************************************************************************/
TCL_BOOL TCL_GDI_Eeprom_IsInit(TCL_VOID);


/******************************************************************************
* Function:            TCL_GDI_Eeprom_Write
* Description:        写eeprom
* Calls:            	omit
* Called By: 		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		TCL_UINT32 auAddr	- 写地址		
				TCL_UINT8 *pBuff		- 写buffer(不能为NULL)
				TCL_UINT32 auLength	- 写字节数(不能<= 0)	
* Output:              	TCL_UINT32 *auAlreadyWriteLen - 实际写成功的字节数
* Return:        	TCL_NO_ERROR - 操作成功
				其它- 参考TCL_GDI_EEPROM_RETURN_VALUE 定义
* Others: 			
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070712						create
******************************************************************************/
TCL_UINT32 TCL_GDI_Eeprom_Write(TCL_UINT32 auAddr,TCL_UINT32 auWriteLen,TCL_UINT8 *pBuff,TCL_UINT32 *auAlreadyWriteLen);



/******************************************************************************
* Function:            TCL_GDI_Eeprom_Read
* Description:        读eeprom
* Calls:            	omit
* Called By: 		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		TCL_UINT32 auAddr 	- 读地址
				TCL_UINT8 *pBuff 		- 读buffer(不能为NULL)
				TCL_UINT32 auLength 	- 读字节数(不能<= 0)	
* Output:              	TCL_UINT32 *auAlreadyReadLen - 实际读成功的字节数
* Return:        	TCL_NO_ERROR - 操作成功
				其它- 参考TCL_GDI_EEPROM_RETURN_VALUE 定义
* Others: 			
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070712						create
******************************************************************************/
TCL_UINT32 TCL_GDI_Eeprom_Read(TCL_UINT32 auAddr,TCL_UINT32 auReadLen,TCL_UINT8 *pBuff,TCL_UINT32 *auAlreadyReadLen);


/******************************************************************************
* Function:            TCL_GDI_Eeprom_GetInfo
* Description:        获取eeprom 相关信息
* Calls:            	omit
* Called By: 		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		none
* Output:              	none
* Return:              TCL_NO_ERROR - 操作成功
				其它- 参考TCL_GDI_EEPROM_RETURN_VALUE 定义
* Arithmetic
* Others: 			
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070712						create
******************************************************************************/
TCL_VOID TCL_GDI_Eeprom_GetInfo(TCL_GDI_EEPROM_INFO *pEepromInfo);


/******************************************************************************
* Function:          	TCL_GDI_Eeprom_PrintInfo
* Description:		打印eeprom 模块相应信息
* Calls:			omit
* Called By:		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		none
* Output: 		none
* Return:			TCL_VOID
* Others: 			
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070912						create
*******************************************************************************/
TCL_VOID TCL_GDI_Eeprom_PrintInfo(TCL_VOID);


/******************************************************************************
* Function:            TCL_GDI_Eeprom_GetVersion
* Description:        获取eeprom 驱动版本号
* Calls:            	omit
* Called By: 		omit
* Table Accessed:	none
* Table Updated:	none
* Input:   		none
* Output:              	none
* Return:               eeprom 驱动版本号
* Arithmetic
* Others: 			
* Note:			
*		Author			Date								Purpose	
*----------------------------------------------------------------------------
*		JokQu			20070712						create
******************************************************************************/
const TCL_CHAR *TCL_GDI_Eeprom_GetVersion(TCL_VOID);

#ifdef __cplusplus
}
#endif

#endif /* __TCL_GDI_EEPROM_H__*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -