由于内核中没有对应用编程中对文件的打开读写操作的函数,下面介绍一种方式来使得内核中可以对某个文件进行读写:
定义一个静态常量数组,如下:
static const UInt8 gVps_tvp5158Patch[] = {
#include "vpsdrv_tvp5158Patch_v2_03_02.h"
};
再对整个数组中变量进行操作:
Int32 Vps_tvp5158PatchDownload ( Vps_Tvp5158Obj * pObj, UInt32 devId )
{
Int32 status = FVID2_SOK;
static UInt8 regAddr[256];
UInt8 vbusStatus;
UInt32 wrSize;
UInt8 *patchAddr;
UInt32 patchSize;
Vps_VideoDecoderCreateParams *pCreateArgs;
pCreateArgs = &pObj->createArgs;
patchAddr = ( UInt8 * ) gVps_tvp5158Patch;
patchSize = sizeof ( gVps_tvp5158Patch );
.............
wrSize = sizeof ( regAddr );
while ( patchSize )
{
.......................
status = Vps_deviceWrite8 ( pCreateArgs->deviceI2cInstId,
pCreateArgs->deviceI2cAddr[devId],
regAddr, patchAddr, wrSize );
}
..........................
}