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

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

?? dm642_cli.c

?? dsp DM642 pci 詳細的開發例程
?? C
?? 第 1 頁 / 共 3 頁
字號:
// dm642_cli.c
//////////////////////////////////////////////////////////////////////////////
////
////  Copyright (c) 2003, Valley Technologies, Inc.
////  All rights reserved.
////
//////////////////////////////////////////////////////////////////////////////
////
////  $Header $
////
////  $ReleaseClass: src $
////
////  Original Author                 : ebersole
////  Most Recent Contributing $Author: ebersole $
////
//////////////////////////////////////////////////////////////////////////////
////
////  This file contains the CLI's entry point (main()), along with the
////  routines to manage its two highest-level menus.  It also contains
////  various menu-related routines that did not fit well anywhere else.
////  [ie, the file is a catch-all for CLI routines].
////  The low-level dirty work is done by the LED part of the DM642 Library.
////
//////////////////////////////////////////////////////////////////////////////


//############################################################################


// Includes
#include <stdio.h>
#include <dm642_lib.h>
#include "Dm642Cli.h"


//############################################################################


// Globals
int   gnBoardsFound = 2;
DWORD g_dwBoardNum  = -1;

// input command from user
static char line[256];


//############################################################################
//                            Start of Functions
//############################################################################


//////////////////////////////////////////////////////////////////////////////
////
////  Name: main
////
////  Purpose:  The entry point into the CLI program.
////            Initializes the DM642 library, device driver, etc.
////            Runs the top-level menu (the main CLI menu is a sub-menu
////            of this one).
////
////  Input Parameters:
////      argc - number of inputs to the program, plus 1.
////             <= 2
////      argv - the inputs to the program, in "string" form.
////
////  Output Parameters: none
////
////  Return Value(s)  :
////      0 - in ALL cases.
////
//////////////////////////////////////////////////////////////////////////////

int main(int argc, char *argv[])
{
    DM642_HANDLE hDM642           = NULL;
    DWORD        dwAction         = 0;
    BOOL         fRegisteredEvent = FALSE;


    printf ("DM642 diagnostic utility.\n");

    // Setup the debug values
    if ((2 == argc) && (0 == strcmp (argv [1], "off")))
    {
        DM642SetDebug (FALSE);
    }
    else
    {
        DM642SetDebug (TRUE);
    }

    // Check for active driver
    if(FALSE == DM642IsDeviceDriverPresent())
    {
        printf("Error no Device Driver present!\n");

        // Exit on Error
        return 0;
    }

    // Initialize all of the boards
    DM642Init();

    //-------------------------------------------------------------
    // Open one of the boards, defaulting to board #0 if only one
    // board is present
    //-------------------------------------------------------------
    ChangeBoard(&hDM642, DM642_DEFAULT_VENDOR_ID, DM642_DEFAULT_DEVICE_ID);

    //************************************************************************

    //=-=-=-=-=-=-=-=-=-=-=-=-=
    // Run the top-level menu
    //=-=-=-=-=-=-=-=-=-=-=-=-=

    DM642RunMainCLIMenu (&hDM642);


    if (hDM642)
    {
        DM642Close(hDM642);
    }

    return (0);

}       // END main()




//////////////////////////////////////////////////////////////////////////////
////
////  Name: DM642PrintCLIMenu
////
////  Purpose: Displays the main/primary CLI Menu to the screen.
////
////  Input Parameters:
////      hDM642 - Handle of the currently-open DM642 board/card
////
////  Output Parameters: none
////
////  Return Value(s)  : none
////
//////////////////////////////////////////////////////////////////////////////

void DM642PrintCLIMenu(DM642_HANDLE hDM642)
{
    char   sLine [80];
    int    nBoardType = 0;


    gnBoardsFound = DM642CountCards(DM642_DEFAULT_VENDOR_ID,
                                    DM642_DEFAULT_DEVICE_ID);

    gnBoardsFound = gnBoardsFound;

    sprintf(sLine, "                                     | %s\n",
            ((gnBoardsFound > 1) ? "c:  Change board #" : ""));

    printf ("\n");
    printf ("************************** Main Menu ************************\n");
    printf ("\n");
    printf ("Using board #%d (EVM-DM642)\n", g_dwBoardNum);
    printf ("\n");
    printf (" 1: Read  FPGA Version Reg           | 20: LED        Sub-Menu        \n");
    printf (" 2: Read  Flash Page Reg             | 21: SDRAM      Sub-Menu        \n");
    printf (" 3: Write Flash Page Reg             | 22: Flash      Sub-Menu        \n");
    printf ("                                     | 23: PCI-EEPROM Sub-Menu        \n");
    printf (" 4: Read  PCI config space           | 24: DMA        Sub-Menu        \n");
    printf (" 5: Write PCI config space           | 25: Interrupts Sub-Menu        \n");
    printf ("                                     |                                \n");
    printf (" 6: Read  memory                     |                                \n");
    printf (" 7: Write memory                     | 26: Execute (Program in Mem)   \n");
    printf (" 8: Fill  memory                     | 27: Warm Reset (DSP-chip only) \n");
    printf ("                                     | 28: Setup EMIF                 \n");
    printf (" 9: Read mem to ASC file             |                                \n");
    printf ("10: Read mem to BIN file             | 30. Scan PCI bus               \n");
    printf ("                                     |                                \n");
    printf ("11: Write mem from  ASC file         |                                \n");
    printf ("12: Write mem from  BIN file         |                                \n");
    printf ("13: Write mem from .hex file         |                                \n");
    printf ("14: Reset & Write mem from .hex file |                                \n");
    printf (sLine);
    printf ("                                     | q:  Quit                       \n");
    printf ("\n");
    printf (">> ");

}       // END DM642PrintCLIMenu()




//////////////////////////////////////////////////////////////////////////////
////
////  Name: DM642RunMainCLIMenu
////
////  Purpose:  Displays the Main CLI Menu.  Gets the user's choice
////            from said menu.  Processes that choice.
////
////  Input Parameters:
////      phDM642 -- POINTER to the handle of the currently-open DM642
////
////  Output Parameters:
////      phDM642 -- POINTER to the handle of the (recently opened) DM642
////
////  Return Value(s)  : none
////
//////////////////////////////////////////////////////////////////////////////

void DM642RunMainCLIMenu( DM642_HANDLE *phDM642 )
{
    char         sChoice [80];
    unsigned int nVal1  = 0;
    unsigned int nVal2  = 0;
    DM642_HANDLE hDM642 = *phDM642;


    //=-=-=-=-=-=-=-=-=
    // Run the CLI
    //=-=-=-=-=-=-=-=-=
    while (TRUE)
    {
        //--------------------------------------------------------
        // Each time thru the loop, print out the CLI Menu ...
        //--------------------------------------------------------
        DM642PrintCLIMenu(hDM642);

        //--------------------------------------------------------
        // ... then wait for the user to make his/her choice ...
        //--------------------------------------------------------
        scanf ("%s", sChoice);
        printf("\n");

        //---------------------------------------------
        // ... and finally process that choice ....
        //---------------------------------------------

        //------------------------------------------
        //  FPGA access routines
        //------------------------------------------

        if (0 == strcmp(sChoice, "1"))
        {
            // Read FPGA Version Register
            menuReadFpgaVersionReg(hDM642);
        }

        if (0 == strcmp(sChoice, "2"))
        {
            // Show/Display Flash Page Register
            showFlashPageReg(hDM642);
        }

        if (0 == strcmp(sChoice, "3"))
        {
            // Set Flash Page Register
            menuWriteFlashPageReg(hDM642);
        }

        //------------------------------------------------
        // DSP-Config-Space related routines/choices ...
        //------------------------------------------------

        if (0 == strcmp(sChoice, "4"))
        {
            // Read DSP config space
            menuReadDSPConfigSpace(hDM642);
        }

        if (0 == strcmp(sChoice, "5"))
        {
            // Write DSP config space
            menuWriteDSPConfigSpace(hDM642);
        }

        //--------------------------------------------
        // (Main) Memory-related routines/choices ...
        //--------------------------------------------

        if (0 == strcmp(sChoice, "6"))
        {
            // Read DSP Memory
            menuReadDSPMem(hDM642);
        }

        if (0 == strcmp(sChoice, "7"))
        {
            // Write DSP Memory
            menuWriteDSPMem(hDM642);
        }

        if (0 == strcmp(sChoice, "8"))
        {
            // Fill Memory
            fillMemory(hDM642);
        }

        //----------------------------------------
        // File I/O related routines/choices ...
        //----------------------------------------

        if (0 == strcmp(sChoice, "9"))
        {
            // Copy values from memory to an ASCII file
            // FALSE sets output file to ASCII
            readMemToFile(hDM642, FALSE);
        }

        if (0 == strcmp(sChoice, "10"))
        {
            // Copy values from memory to a Binary file
            // TRUE sets output file to Binary
            readMemToFile(hDM642, TRUE);
        }

        if (0 == strcmp(sChoice, "11"))
        {
            // Copy values from an ASCII file to memory
            // FALSE sets input file to ASCII
            writeMemFromFile(hDM642, FALSE);
        }

        if (0 == strcmp(sChoice, "12"))
        {
            // Copy values from an Binary file to memory
            // TRUE sets input file to Binary
            writeMemFromFile(hDM642, TRUE);
        }

        if (0 == strcmp(sChoice, "13"))
        {
            // Loads a .hex file to memory
            // Note: Does not write to Flash memory
            loadDotHexFile(hDM642);
        }

        if (0 == strcmp(sChoice, "14"))
        {
            // Resets the DSP, then loads a .hex file to memory
            // Note: Does not write to Flash memory
            resetAndLoadDotHexFile(hDM642);
        }

        //-------------------------------------
        // LED-related routines/choices ...
        //-------------------------------------

        if (0 == strcmp(sChoice, "20"))
        {
            // Display Led Menu
            RunLedSubMenu(hDM642);
        }

        //-------------------------------------
        // SDRAM-related routines/choices ...
        //-------------------------------------

        if (0 == strcmp(sChoice, "21"))
        {
            // Display SDRAM Menu
            RunSdramSubMenu(hDM642);
        }

        //-------------------------------------
        // FLASH-related routines/choices ...
        //-------------------------------------

        if (0 == strcmp(sChoice, "22"))
        {
            // Display Flash Menu
            RunFlashSubMenu(hDM642);
        }

        //-------------------------------------
        // PCI EEPROM-related routines/choices ...
        //-------------------------------------
        if (0 == strcmp(sChoice, "23"))
        {
            // Display PCI EEPROM Menu
            RunPciEEPROMSubMenu(hDM642);
        }

        //-------------------------------------
        // DMA-related routines/choices ...
        //-------------------------------------

        if (0 == strcmp (sChoice, "24"))
        {
            // Display DMA Menu
            RunDMASubMenu (hDM642);
        }

        //-----------------------------------------------
        // Board Interrupt-related routines/choices ...
        //-----------------------------------------------

        if (0 == strcmp (sChoice, "25"))
        {
            // Display Interrupt Menu
            RunInterruptsSubMenu(hDM642);
        }

        //---------------------------------------
        // Board Exec/Cntl routines/choices ...
        //---------------------------------------

        if (0 == strcmp(sChoice, "26"))
        {
            // Execute program
            DM642Execute(hDM642);
        }

        if (0 == strcmp(sChoice, "27"))
        {
            // Perform a DSP Warm Reset
            DM642WarmReset(hDM642);
        }

        if (0 == strcmp(sChoice, "28"))
        {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av动漫在线| 国产日产欧美一区二区三区| 精品国产伦理网| 亚洲激情图片一区| 国产精品一区一区三区| 欧美色男人天堂| 中文字幕国产一区| 久久成人麻豆午夜电影| 欧美另类久久久品| 中文字幕一区日韩精品欧美| 国产在线播放一区三区四| 欧美日韩一区二区不卡| 中文字幕一区二区三| 激情小说欧美图片| 欧美一区二区在线免费播放| 一区二区成人在线视频| 91在线视频播放| 国产三级精品三级在线专区| 久久国产视频网| 欧美高清视频在线高清观看mv色露露十八| 国产精品久久久久久户外露出| 毛片av一区二区三区| 欧美一区二区三区四区久久| 亚洲伊人伊色伊影伊综合网| 97久久超碰国产精品电影| 国产精品美女久久久久aⅴ | www.在线成人| 国产拍欧美日韩视频二区| 国产一区二区h| 久久尤物电影视频在线观看| 韩国v欧美v日本v亚洲v| 久久亚洲免费视频| 国产一区二区在线影院| 国产亚洲一本大道中文在线| 国内精品免费在线观看| 国产亚洲欧美一区在线观看| 国产精品一区三区| 中文文精品字幕一区二区| 国产99久久久国产精品免费看 | 一区二区三区在线免费播放| 色狠狠桃花综合| 午夜精品一区二区三区电影天堂| 欧美日韩午夜精品| 美女爽到高潮91| 久久嫩草精品久久久久| 成人精品gif动图一区| 中文字幕中文乱码欧美一区二区| 99久久亚洲一区二区三区青草| 国产精品卡一卡二| 在线观看亚洲a| 免费观看在线综合色| 久久精品无码一区二区三区| 国产福利一区在线| 一区二区三区中文字幕| 制服丝袜亚洲精品中文字幕| 精品一区二区三区在线播放| 国产区在线观看成人精品| 91蜜桃网址入口| 亚洲成人午夜电影| 久久精品在线免费观看| 99综合影院在线| 日韩专区欧美专区| 国产欧美精品日韩区二区麻豆天美| 91丨porny丨蝌蚪视频| 天堂影院一区二区| 国产精品久久久久影院色老大| 在线免费精品视频| 国产一区二区不卡在线| 综合久久久久久| 欧美精品 日韩| av综合在线播放| 全部av―极品视觉盛宴亚洲| 中文字幕一区二| 精品免费99久久| 日本大香伊一区二区三区| 精彩视频一区二区三区| 亚洲综合精品久久| 欧美激情一区不卡| 日韩视频在线观看一区二区| 97久久精品人人爽人人爽蜜臀| 久色婷婷小香蕉久久| 亚洲品质自拍视频| 久久久99精品免费观看不卡| 91成人国产精品| 成人美女在线观看| 日本最新不卡在线| 亚洲美女偷拍久久| 国产欧美日韩在线观看| 欧美一级夜夜爽| 91黄色小视频| 99久久精品免费看国产 | 亚洲一区二区三区自拍| 国产亚洲制服色| 日韩欧美中文一区| 欧美日韩一区在线| 色婷婷综合久久久中文一区二区| 国产美女在线精品| 麻豆91精品91久久久的内涵| 亚洲成人你懂的| 亚洲影视在线播放| 一级日本不卡的影视| 综合电影一区二区三区| 亚洲手机成人高清视频| 久久久久久久久伊人| 欧美精品一区二区三区一线天视频 | 石原莉奈在线亚洲二区| 亚洲一卡二卡三卡四卡无卡久久| 国产精品视频一二三区| 国产亚洲va综合人人澡精品| 精品久久久久久久久久久院品网| 91精品蜜臀在线一区尤物| 欧美老肥妇做.爰bbww| 欧美曰成人黄网| 欧洲视频一区二区| 欧美无砖砖区免费| 欧美在线观看视频在线| 欧美在线一二三四区| 欧美日韩国产影片| 91精品久久久久久久91蜜桃| 欧美成人aa大片| 欧美大片一区二区| 久久九九久精品国产免费直播| 久久综合成人精品亚洲另类欧美| 精品久久久网站| 国产日韩三级在线| 亚洲欧美日韩久久精品| 亚洲影院久久精品| 蜜臂av日日欢夜夜爽一区| 久久69国产一区二区蜜臀| 国产精品一二二区| 成人av网站大全| 在线国产电影不卡| 正在播放一区二区| 久久久一区二区三区捆绑**| 亚洲国产精品激情在线观看| 亚洲精品成人悠悠色影视| 亚洲成人免费在线观看| 黄色成人免费在线| 99久久免费视频.com| 欧美精三区欧美精三区| 亚洲精品一区二区三区99| 中文字幕一区av| 青青青爽久久午夜综合久久午夜| 久久99久久久久| 99re66热这里只有精品3直播| 欧美日韩午夜在线| 国产欧美中文在线| 一区二区在线观看不卡| 毛片不卡一区二区| 91丨九色丨蝌蚪丨老版| 精品美女在线播放| 一区二区三区精品在线| 精彩视频一区二区| 欧美午夜精品一区二区蜜桃| www国产精品av| 亚洲成人一区二区在线观看| 国产成人av资源| 欧美视频在线不卡| 国产偷国产偷亚洲高清人白洁| 亚洲精品精品亚洲| 国产乱对白刺激视频不卡| 欧美在线观看视频一区二区| 国产日韩精品视频一区| 石原莉奈在线亚洲三区| 色综合久久综合中文综合网| 久久婷婷国产综合精品青草| 亚洲伊人色欲综合网| 成人成人成人在线视频| 精品久久久久久亚洲综合网| 亚洲成人1区2区| 一本到不卡精品视频在线观看| 精品国产乱码久久久久久久久 | 午夜在线电影亚洲一区| 成人av免费在线播放| 欧美精品一区二区久久久| 亚洲一区二区欧美| 92精品国产成人观看免费 | 国产精品系列在线| 激情国产一区二区 | 欧美午夜影院一区| 国产嫩草影院久久久久| 美女诱惑一区二区| 欧美精品vⅰdeose4hd| 亚洲高清视频在线| 在线看不卡av| 日韩理论片一区二区| 成人久久18免费网站麻豆 | 日韩一级免费观看| 亚洲777理论| 欧美图片一区二区三区| 国产精品对白交换视频| 成人精品视频一区二区三区尤物| 精品入口麻豆88视频| 青娱乐精品视频在线| 91精品国产综合久久久久久漫画 | 国产精品九色蝌蚪自拍| 成人午夜电影网站| 亚洲天堂免费看| 一本到高清视频免费精品| 一区二区免费看|