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

📄 app_dol1function_cpu.c

📁 台湾凌阳方案300万数码相机源代码
💻 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 + -