亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? load.c

?? 自動聯想命令行處理代碼
?? C
字號:
#if !BASIC_BIOS

#include <stdio.h>
#include "bios.h"
#include "cli.h"
#include "rtc.h"
#include "uart.h"
#include "xmodem.h"

static CommandNode CLI_NAME_LOAD =
{
    "load",                 // node command hint pointer
    "加載類",               // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_PROG =
{
    "program",              // node command hint pointer
    "加載程序",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_PROGTFTP =
{
    "tftp",                 // node command hint pointer
    "網口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_IP,        // node type
    CLI_LOADTFTP            // node command value
};

static CommandNode CLI_NAME_PROGNAME =
{
    "filename",             // node command hint pointer
    "文件名稱",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_STRING,    // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_PROGXMODEM =
{
    "xmodem",               // node command hint pointer
    "串口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADXMODEM          // node command value
};


static CommandNode CLI_NAME_PATCH =
{
    "patch",                // node command hint pointer
    "加載補丁",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_PATTFTP =
{
    "tftp",                 // node command hint pointer
    "網口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_IP,        // node type
    CLI_LOADPATTFTP         // node command value
};
/*
static CommandNode CLI_NAME_PATNAME =
{
    "filename",             // node command hint pointer
    "文件名稱",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_STRING,    // node type
    NULL                    // node command value
};
*/
static CommandNode CLI_NAME_PATXMODEM =
{
    "xmodem",               // node command hint pointer
    "串口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADPATXMODEM       // node command value
};

/*
static CommandNode CLI_NAME_TO =
{
    "to",                   // node command hint pointer
    "加載地址",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_HEX,       // node type
    NULL                    // node command value
};
*/

static CommandNode CLI_NAME_BASIC =
{
    "basic-bios",           // node command hint pointer
    "基本BIOS",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_EXTEND =
{
    "extend-bios",          // node command hint pointer
    "擴展BIOS",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_BASICXMODEM =
{
    "xmodem",               // node command hint pointer
    "串口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADBASICXMODEM     // node command value
};

static CommandNode CLI_NAME_BASICTFTP =
{
    "tftp",                 // node command hint pointer
    "網口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADBASICTFTP       // node command value
};

static CommandNode CLI_NAME_EXTENDXMODEM =
{
    "xmodem",               // node command hint pointer
    "串口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADECTENDXMODEM    // node command value
};

static CommandNode CLI_NAME_EXTENDTFTP =
{
    "tftp",                 // node command hint pointer
    "網口加載",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_KEY,       // node type
    CLI_LOADEXTENDTFTP      // node command value
};
/*
static CommandNode CLI_NAME_EXTENDNAME =
{
    "filename",             // node command hint pointer
    "文件名稱",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_STRING,    // node type
    NULL                    // node command value
};

static CommandNode CLI_NAME_BASICNAME =
{
    "filename",             // node command hint pointer
    "文件名稱",             // node command help pointer
    NULL,                   // node current input buffer pointer
    NULL,                   // down leaf pointer
    NULL,                   // right leaf pointer
    COMMAND_TYPE_STRING,    // node type
    NULL                    // node command value
};
*/
CommandNode *CLI_LoadTftp[] =
{
    &CLI_NAME_LOAD,       // load
    &CLI_NAME_PROG,       // program
    &CLI_NAME_PROGTFTP,   // tftp
    &CLI_NAME_PROGNAME,   // filename
    NULL
};

CommandNode *CLI_LoadXmodem[] =
{
    &CLI_NAME_LOAD,       // load
    &CLI_NAME_PROG,       // program
    &CLI_NAME_PROGXMODEM, // xmodem
    NULL
};

CommandNode *CLI_LoadPatTftp[] =
{
    &CLI_NAME_LOAD,       // load
    &CLI_NAME_PATCH,      // patch
    &CLI_NAME_PATTFTP,    // tftp
    &CLI_NAME_PROGNAME,   // filename
    NULL
};

CommandNode *CLI_LoadPatXmodem[] =
{
    &CLI_NAME_LOAD,       // load
    &CLI_NAME_PATCH,      // patch
    &CLI_NAME_PATXMODEM,  // xmodem
    NULL
};

CommandNode *CLI_LoadBasicBiosXmodem[] =
{
	&CLI_NAME_LOAD,
	&CLI_NAME_BASIC,
	&CLI_NAME_BASICXMODEM,
	NULL
};

CommandNode *CLI_LoadBasicBiosTftp[] =
{
	&CLI_NAME_LOAD,
	&CLI_NAME_BASIC,
	&CLI_NAME_BASICTFTP,
	&CLI_NAME_PROGNAME,
	NULL
};

CommandNode *CLI_LoadExtendBiosXmodem[] =
{
	&CLI_NAME_LOAD,
	&CLI_NAME_EXTEND,
	&CLI_NAME_EXTENDXMODEM,
	NULL	
};

CommandNode *CLI_LoadExtendBiosTftp[] =
{
	&CLI_NAME_LOAD,
	&CLI_NAME_EXTEND,
	&CLI_NAME_EXTENDTFTP,
	&CLI_NAME_PROGNAME,
	NULL
};

void CLI_LoadProc( unsigned char key )
{
    switch( key )
    {
        case CLI_LOADTFTP:
            CLI_LoadProgTftpProc();
            break;

        case CLI_LOADXMODEM:
            CLI_LoadProgXmodemProc();
            break;

        case CLI_LOADPATTFTP:
            CLI_LoadPatchTftpProc();
            break;

        case CLI_LOADPATXMODEM:
            CLI_LoadPatchXmodemProc();
            break;

        case CLI_LOADBASICXMODEM:
        	CLI_LoadBasicXmodemProc();
        	break;

        case CLI_LOADBASICTFTP:
        	CLI_LoadBasicTftpProc();
        	break;
        	
        case CLI_LOADECTENDXMODEM:
        	CLI_LoadExtendXmodemProc();
        	break;

        case CLI_LOADEXTENDTFTP:
	        CLI_LoadExtendTftpProc();
	        break;

        default:
            break;
    }
}

void CLI_LoadProgXmodemProc( void )
{
    unsigned long size = 0;

	UART_Printf("\r\n");

    size = XMODEM_Load( (unsigned char*)SDRAM_BUFFER_ADDR, FLASH_PROGRAM_SIZE );

	UART_Printf( "\r\nDownload 0X%X (%d) bytes to address 0X%X",
                              (int)size, (int)size, SDRAM_BUFFER_ADDR );
                              
    BurnFlash( (unsigned short*)FLASH_PROGRAM_START_ADDR, (unsigned short*)SDRAM_BUFFER_ADDR, size );
}

void CLI_LoadPatchXmodemProc( void )
{
}

void CLI_LoadBasicXmodemProc( void )
{
    unsigned long size = 0;

	UART_Printf("\r\n");

    size = XMODEM_Load( (unsigned char*)SDRAM_BUFFER_ADDR, FLASH_BASIC_BIOS_SIZE );

	UART_Printf( "\r\nDownload 0X%X (%d) bytes to address 0X%X",
                              (int)size, (int)size, SDRAM_BUFFER_ADDR );
                              
    BurnFlash( (unsigned short*)FLASH_BASIC_BIOS_ADDR, (unsigned short*)SDRAM_BUFFER_ADDR, size );
}

void CLI_LoadExtendXmodemProc( void )
{
    unsigned long size = 0;

	UART_Printf("\r\n");

    size = XMODEM_Load( (unsigned char*)SDRAM_BUFFER_ADDR, FLASH_EXTEND_BIOS_SIZE );

	UART_Printf( "\r\nDownload 0X%X (%d) bytes to address 0X%X",
                              (int)size, (int)size, SDRAM_BUFFER_ADDR );
                              
    BurnFlash( (unsigned short*)FLASH_EXTEND_BIOS_ADDR, (unsigned short*)SDRAM_BUFFER_ADDR, size );
}

void CLI_LoadProgTftpProc( void )
{
}

void CLI_LoadPatchTftpProc( void )
{
}

void CLI_LoadBasicTftpProc( void )
{
}

void CLI_LoadExtendTftpProc( void )
{
}

unsigned long CLI_LoadToRam( unsigned char *p )
{
    unsigned long i,size = 0;
    unsigned char sec, data, start = 0;
    struct reltime time;

    RTC_GetTime( &time );
    sec = time.second;

	UART_Printf( "\r\n1. BIN Download" );
	UART_Printf( "\r\n2. XModem Download" );
	UART_Printf( "\r\nSelect one to proceed......." );
    UART_Printf( "\b%d", BIOS_CLI_SECECT_TIME );

	for( i = 0; i < BIOS_CLI_SECECT_TIME; )
	{
	    RTC_GetTime( &time );
	    if( sec != time.second )
	    {
            sec = time.second;
	        i++;

            if( start == 0 )
            {
                UART_Printf( "\b%d", BIOS_CLI_SECECT_TIME-i );
            }
	    }

	    if( UART_kbhit( COM0 ) )
	    {
            data = (unsigned char)UART_getchar( COM0 );
	    }
	    else
	    {
	        continue;
	    }

	    if( start == 0 )
	    {
	        switch( data )
	        {
	            case '1':
                    UART_Printf( "\r\nYou have selected BIN download, please send file now.\r\n" );
	                size = CLI_LoadBin( p, 1048*1048 );
	                i = BIOS_CLI_SECECT_TIME;
	                break;

	            case '2':
                    UART_Printf( "\r\nYou have selected XModem download, please send file now.\r\n" );
                    size = XMODEM_Load( p, 1048*1048 );
                    i = BIOS_CLI_SECECT_TIME;
	                break;
	        }
	    }
	}

	if( size != 0 )
	{
        if( size == 0xffffffff )
        {
            UART_Printf( "\r\nDownload TOO large" );
        }
        else
        {
            UART_Printf( "\r\nDownload 0X%X (%d) bytes , address 0X%X to 0X%X",
                              size, size, p, p + size );
        }
    }

    return size;
}

unsigned long CLI_LoadBin( unsigned char *start_addr, unsigned long dwAllowedMem )
{
	unsigned long start = 0, size = 0;
	unsigned char data, i, sec;
	unsigned char *p = start_addr;
    struct reltime time;

    RTC_GetTime( &time );
    sec = time.second;

    UART_Printf( "%-2d", BIOS_CLI_CONFIRM_TIME );
	for( i = 0; i < BIOS_CLI_CONFIRM_TIME; )
	{
	    RTC_GetTime( &time );
	    if( sec != time.second )
	    {
            sec = time.second;
	        i++;

            if( start == 0 )
            {
                UART_Printf( "\b\b%-2d", BIOS_CLI_CONFIRM_TIME-i );
            }
	    }

	    if( UART_kbhit( COM0 ) )
	    {
            data = (unsigned char)UART_getchar( COM0 );
	    }
	    else
	    {
	        continue;
	    }

	    start = 1;

        i = BIOS_CLI_CONFIRM_TIME - BIOS_CLI_TERM_TIME;
        *p++ = data;
        size++;

        if( size >= dwAllowedMem )
        {
            return 0xffffffff;
        }

        if( size % 1024 == 0 )
        {
            UART_Printf(".");
        }
	}

	return size;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产综合久久久久久| 中文字幕不卡在线观看| 国产精品全国免费观看高清| 性久久久久久久久| av影院午夜一区| 精品国产一区二区精华| 亚洲v日本v欧美v久久精品| 成人18精品视频| 精品91自产拍在线观看一区| 日韩黄色小视频| 色综合久久中文字幕| 国产亚洲1区2区3区| 久久99精品国产麻豆婷婷洗澡| 91久久国产综合久久| 国产精品久久久久精k8| 国产精品18久久久久久久久久久久| 7777精品伊人久久久大香线蕉最新版| 欧美激情综合在线| 国产一区视频导航| 国产精品三级电影| 精品一区二区三区在线观看| 欧美军同video69gay| 午夜久久久久久| 在线观看国产日韩| 亚洲成人激情自拍| 欧美日韩电影一区| 视频在线观看国产精品| 精品视频一区三区九区| 亚洲午夜久久久久久久久电影网 | 日韩国产欧美三级| 欧美日韩成人一区二区| 午夜精品福利在线| 7777精品伊人久久久大香线蕉完整版| 亚洲一区二区三区四区在线观看 | 97久久精品人人做人人爽| 国产精品视频一二三| www.av亚洲| 亚洲视频每日更新| 亚洲黄色性网站| 在线亚洲+欧美+日本专区| 一区二区三区欧美日| 欧美日韩一级片在线观看| 日韩国产欧美三级| 337p粉嫩大胆色噜噜噜噜亚洲| 国产曰批免费观看久久久| 国产亚洲视频系列| 不卡av在线免费观看| 一个色在线综合| 欧美剧情电影在线观看完整版免费励志电影| 亚洲国产日日夜夜| 日韩精品中文字幕一区| 久久66热偷产精品| 国产午夜精品福利| 一本久久综合亚洲鲁鲁五月天| 亚洲一区二区三区中文字幕| 3atv一区二区三区| 国产电影一区在线| 亚洲最新视频在线观看| 日韩一二三区不卡| proumb性欧美在线观看| 日韩在线观看一区二区| 国产欧美一区二区精品秋霞影院 | 国产老肥熟一区二区三区| 国产欧美一区二区三区沐欲 | 成人动漫一区二区| 亚洲一二三区不卡| 精品国产91久久久久久久妲己| jlzzjlzz亚洲女人18| 日韩成人dvd| 国产精品夫妻自拍| 精品欧美久久久| 色网站国产精品| 极品少妇一区二区三区精品视频| 国产精品福利影院| 久久夜色精品国产欧美乱极品| 91麻豆免费看片| 狠狠色伊人亚洲综合成人| 亚洲欧美一区二区三区国产精品| 欧美福利视频导航| 成人av在线网站| 蜜桃视频一区二区| 亚洲国产三级在线| 日韩理论在线观看| 国产欧美一二三区| 26uuu精品一区二区三区四区在线| 色综合中文字幕| 亚洲视频在线一区二区| 欧美α欧美αv大片| 91传媒视频在线播放| 国产91精品免费| 毛片av一区二区| 一区二区在线免费| 国产精品国产三级国产aⅴ入口| 日韩欧美一区二区视频| 欧美精品色综合| 91福利在线观看| av不卡在线播放| 成人永久aaa| 国产超碰在线一区| 国产精品一区二区黑丝| 捆绑调教一区二区三区| 日本麻豆一区二区三区视频| 伊人色综合久久天天| 亚洲精品日产精品乱码不卡| 亚洲欧洲精品一区二区三区不卡| 久久综合999| 欧美精品一区二区久久久| 日韩一级高清毛片| 精品国产sm最大网站免费看| 日韩欧美二区三区| 欧美一二三四在线| 欧美一区二区福利视频| 欧美日韩综合色| 欧美精品免费视频| 欧美一区二区三区在线观看| 91精品国产品国语在线不卡| 欧美男人的天堂一二区| 欧美剧情电影在线观看完整版免费励志电影 | 国产大片一区二区| 国产自产v一区二区三区c| 激情综合五月婷婷| 国产成人在线免费观看| 成人免费三级在线| 91麻豆6部合集magnet| 在线视频欧美精品| 欧美日韩在线播放一区| 欧美一区二视频| www国产成人| 国产嫩草影院久久久久| 成人欧美一区二区三区1314| 亚洲男人的天堂一区二区| 亚洲国产精品久久人人爱 | 国产麻豆日韩欧美久久| 岛国av在线一区| 色婷婷狠狠综合| 欧美福利视频导航| 久久精品人人爽人人爽| 亚洲欧美成人一区二区三区| 天涯成人国产亚洲精品一区av| 久久99精品一区二区三区| 成人在线综合网| 欧美色手机在线观看| 久久综合给合久久狠狠狠97色69| 国产精品区一区二区三区| 一区二区三区在线播| 精品一区精品二区高清| jizzjizzjizz欧美| 欧美一区二区三区影视| 日本一区二区在线不卡| 午夜精品免费在线观看| 国产成人午夜高潮毛片| 欧美日韩在线综合| 久久精品亚洲乱码伦伦中文| 亚洲在线观看免费视频| 国产一区二区三区免费| 91精品91久久久中77777| 精品国产一区久久| 亚洲主播在线播放| 国产精品一品二品| 在线播放国产精品二区一二区四区| 久久蜜桃av一区二区天堂| 夜夜夜精品看看| 国产激情精品久久久第一区二区 | 91在线观看一区二区| 91精品国产福利| 亚洲精品第1页| 国产aⅴ精品一区二区三区色成熟| 欧美日韩在线不卡| 亚洲精品美腿丝袜| 成人精品小蝌蚪| 精品国产乱码久久久久久图片| 一区二区三区精品视频| 成人免费高清视频| 久久人人超碰精品| 免费看精品久久片| 欧美日韩电影在线| 亚洲福利视频一区| 91久久精品一区二区| 中文字幕欧美一区| 国产91富婆露脸刺激对白| 精品成人私密视频| 午夜精品久久久久影视| 一本一道综合狠狠老| 国产精品精品国产色婷婷| 国产二区国产一区在线观看| 久久午夜羞羞影院免费观看| 免费观看日韩av| 日韩三级视频中文字幕| 日韩二区三区四区| 777久久久精品| 日韩av一区二区在线影视| 欧美精品一二三| 午夜精彩视频在线观看不卡| 欧美性猛交一区二区三区精品| 亚洲免费资源在线播放| 一本到不卡精品视频在线观看| 亚洲男人的天堂网| 日本韩国一区二区| 一区二区三区在线观看动漫| 欧美性生活影院|