📄 app_dol1function_cpu.c
字号:
/*++
Copyright (c) 2001 Sunplus Technology Co., Ltd.
Module Name:
L1_DoFunction.c
Abstract:
Select the corresponding L1 L2 Function for USB vendor command
Environment:
Keil C51 Compiler
Revision History:
11/12/2001 YPWang created
--*/
//=============================================================================
//Header file
//=============================================================================
#include "general.h"
#include "App.h"
#include "main.h"
//=============================================================================
//Symbol
//=============================================================================
//-----------------------------------------------------------------------------
//Constant
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//Variable
//-----------------------------------------------------------------------------
//=============================================================================
//Program
//=============================================================================
//-----------------------------------------------------------------------------
//App_DoL1Function_PC
//-----------------------------------------------------------------------------
/*
routine description:
Do specified PC L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_PC(UCHAR L1_FuncID, ULONG* ArgBuf)
{
switch(L1_FuncID)
{
case 0xf1:
L1_DownloadISP(ArgBuf[0], ArgBuf[1], ArgBuf[2], (USHORT)ArgBuf[3]);
break;
case 0xf2:
L1_UploadFromDRAM(ArgBuf[0], ArgBuf[1]);
break;
case 0xf3:
L1_DownloadToDRAM(ArgBuf[0], ArgBuf[1]);
break;
case 0x90:
//PRINT_APP("OK\n");
break;
default:
break;
}
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_System
//-----------------------------------------------------------------------------
/*
routine description:
Do specified System L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_System(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_Preview
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Preview L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_Preview(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_Audio
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Audio L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_Audio(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_FileSystem
//-----------------------------------------------------------------------------
/*
routine description:
Do specified FileSystem L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_FileSystem(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_Playback
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Playback L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_Playback(UCHAR L1_FuncID, ULONG *ArgBuf)
{
ULONG *temp1 = ArgBuf;
if(L1_FuncID==0x20) L1_PBOne();
else if(L1_FuncID==0x22) L1_PBNine();
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_OSD
//-----------------------------------------------------------------------------
/*
routine description:
Do specified OSD L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_OSD(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
L1_GOSDDemo();
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_Test
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Test L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_Test(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR temp0 = L1_FuncID;
ULONG *temp1 = ArgBuf;
return L2K_SUCCESS;
}
//-----------------------------------------------------------------------------
//App_DoL1Function_Storage (07)
//-----------------------------------------------------------------------------
/*
routine description:
Do specified Storage L1 Function
arguments:
L1_FuncID - L1 Function ID
ArgBuf - Pointer to the argument buffer
return value:
0x00 - success
*/
UCHAR App_DoL1Function_Storage(UCHAR L1_FuncID, ULONG *ArgBuf)
{
UCHAR ByteData;
switch(L1_FuncID)
{
case 0x00:
L1_ReadNandID(&ByteData,&ByteData);
//PRINT_APP("L1 0700 finish\n");
break;
case 0x01:
L1_EraseNandBlock((UCHAR)ArgBuf[0],ArgBuf[1],&ByteData);
//PRINT_APP("L1 0701 finish\n");
break;
case 0x02:
L1_DMAWrNAND((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],ArgBuf[2],(UCHAR)ArgBuf[3],(USHORT)ArgBuf[4]);
//PRINT_APP("L1 0702 finish\n");
break;
case 0x03:
L1_DMARdNAND((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],ArgBuf[2],(UCHAR)ArgBuf[3],(USHORT)ArgBuf[4]);
//PRINT_APP("L1 0703 finish\n");
break;
case 0x10:
L1_DMAWrCFIDE((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],(USHORT)ArgBuf[6]);
//PRINT_APP("L1 0710 finish\n");
break;
case 0x11:
L1_DMARdCFIDE((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],(USHORT)ArgBuf[6]);
//PRINT_APP("L1 0711 finish\n");
break;
case 0x12:
L1_DMAWrCFMEM((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],(USHORT)ArgBuf[6]);
//PRINT_APP("L1 0712 finish\n");
break;
case 0x13:
L1_DMARdCFMEM((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],(USHORT)ArgBuf[6]);
//PRINT_APP("L1 0713 finish\n");
break;
case 0x80: // CFIDE reset
L2_FlashMode(3,1,2);
L2_CFInit(1,0x09,0x09);
L2_CFReset(1);
//PRINT_APP("L1 0780 finish\n");
break;
case 0x81:
L2_SetDRAMDMA(ArgBuf[0]);
L1_DMAWrCFIDE(0,(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],ArgBuf[6]);
//PRINT_APP("L1 0781 finish\n");
break;
case 0x82:
L2_SetDRAMDMA(ArgBuf[0]);
L1_DMARdCFIDE(0,(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2],(UCHAR)ArgBuf[3],(UCHAR)ArgBuf[4],ArgBuf[5],ArgBuf[6]);
//PRINT_APP("L1 0782 finish\n");
break;
case 0xff:
//PRINT_APP(" Storage L1 OK\n");
break;
default:
break;
}
return L2K_SUCCESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -