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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

ELF文件查看

  • 基于單片機的MMC上文件系統實現

    多媒體卡MMC(MultiMedia Card)是由美國SanDisk 公司和德國Simens 公司于1997 年共 同開發推出的一種多功能存儲卡。內置控制電路,可以使用在手機、數碼相機、MP3、PDA 等多種數字設備上,可反復記錄30 萬次?,F在市場上的主流容量有128 MB~2 GB。 文中首先介紹單片機對SPI 協議下的MMC 卡的底層讀寫操作,然后分析MMC 卡文件系統 的結構,最后詳細說明MMC 卡文件的創建、讀寫、刪除等操作。該方法可應用到與Window s 有交互的嵌入式系統中,便于文件的統一管理。

    標簽: MMC 單片機 文件系統

    上傳時間: 2013-11-05

    上傳用戶:lionlwy

  • FAT32 文件系統(圖解)

    突然有興趣想研究一下 FAT32 格式到底是怎么存文件的了。先去網上google 一下發現資料都是copy 的,對我這個超級菜鳥如同看天書,還是自己摸索好點。 先去下載個看文件系統的工具,我用的是winhex 沒有破解,但是重要的硬盤的 信息是可以看到的。為方便起見,我用U 盤來研究文件系統。手頭買了一個79 元的1G 的U 盤。先格式化為FAT32 格式。然后用winhex 打開。然后就是一堆 的………。頭大。 本著先易后難的原則,先在U 盤只放一個短文件名的文件:study.txt.內容就 放:0123456789 好了, 就十個字節的數

    標簽: FAT 32 文件系統 圖解

    上傳時間: 2014-12-26

    上傳用戶:牛津鞋

  • F2812的片內資源、存儲器映射以及CMD文件的編寫

    從今天開始,我們的課程終于進入F2812的核心了,呵呵。在今天的課程中,我們將帶領大家一起學習2812的片內資源,初步了解它究竟有哪些本事,能拿來干些什么,然后一起了解2812存儲器的結構,統一編址的方式、存儲器映射關系,并重點分析CMD文件,以期望消除大家對CMD文件的迷惑,在自己編寫程序的時候會修改CMD文件中的部分內容,從而滿足自己設計時的需求。

    標簽: F2812 CMD 資源 存儲器

    上傳時間: 2013-10-30

    上傳用戶:feitian920

  • U盤和SD卡文件管理控制芯片CH376

    概述 CH376是文件管理控制芯片,用于單片機系統讀寫 U 盤或者 SD 卡中的文件。 CH376 支持 USB 設備方式和 USB 主機方式,并且內置了 USB 通訊協議的基本固件,內置了處理Mass-Storage 海量存儲設備的專用通訊協議的固件,內置了SD 卡的通訊接口固件,內置了FAT16和FAT32 以及 FAT12 文件系統的管理固件,支持常用的 USB 存儲設備(包括 U 盤/USB 硬盤/USB 閃存盤/USB讀卡器)和SD卡(包括標準容量SD 卡和高容量HC-SD 卡以及協議兼容的MMC 卡和 TF 卡)。 CH376 支持三種通訊接口:8 位并口、SPI 接口或者異步串口,單片機/DSP/MCU/MPU 等控制器可以通過上述任何一種通訊接口控制CH376芯片,存取U 盤或者 SD 卡中的文件或者與計算機通訊。 CH376的 USB設備方式與CH372 芯片完全兼容,CH376 的 USB 主機方式與CH375 芯片基本兼容。

    標簽: 376 CH U盤 SD卡

    上傳時間: 2014-12-27

    上傳用戶:sglccwk

  • 《單片機技術》實驗指導書

    一、實驗目的1.熟悉QTH-2008XS單片機實驗儀的使用方法。2.掌握項目、文件的建立方法、以及寄存器、存儲器內容的查看方法。3.掌握程序的執行及斷點設置方法。二、實驗設備QTH-2008XS單片機實驗儀一臺;PC機一臺。三、實驗內容1.閱讀有關技術資料,學習QTH-2008XS單片機實驗儀的鍵盤和軟件調試環境的使用。2.按照“操作示例”在實驗儀上實際練習。3.在開發機上完成規定程序的調試。

    標簽: 單片機技術 實驗指導書

    上傳時間: 2013-10-26

    上傳用戶:1051290259

  • AVR單片機在線編程下載線電路圖,PCB圖及HEX文件

    AVR單片機在線編程下載線電路圖,PCB圖及HEX文件   什么是AVR單片機?AVR單片機是什么意思?    

    標簽: AVR PCB HEX 單片機

    上傳時間: 2013-11-23

    上傳用戶:笨小孩

  • Proteus6.9和Keil聯調方法及破解文件下載

    Proteus6.9和Keil聯調方法及破解文件下載:方法:1.安裝proteus6.9和keil吧2.安裝壓縮包里面的vdmagdi.exe文件,安裝完后keil\c51\bin\文件夾里面會有VDM51.DLL這個.3.把壓縮包里面的PROSPICE.DLL復制到Proteus6Professional\bin目錄下,覆蓋已經有的.4.打開keil,打開optionfortarget里面的debug選項卡,選擇ProteusVSMSimulator,并進行相關設置.(兩臺計算機聯調得輸入正確的host IP和port號)5,打開isis,選擇debug\useremotedebugmonitor.這樣就可以啦,試試看吧!

    標簽: Proteus Keil 6.9 聯調

    上傳時間: 2013-10-15

    上傳用戶:wenwiang

  • 串口調試軟件SSCOMV3.0

    串口調試軟件SSCOM可供免費使用,免費下載,本軟件可以在Win95/98、Win2000、WinNT、WinXP下面運行.軟件功能主要為: 1.接收從串口進來的數據并在窗口顯示. 2.所接收到的數據數據顯示方式可以選擇為字符方式或者HEX方式 4.中文顯示無亂碼,且不影響速度 5.串口波特率可以選擇為110bps-256000bps.(波特率>115200時需要硬件支持) 6.可以即時顯示存在的串口號.如果您增加了usb轉串口等設備,串口號也會在列表中出現. 7.可以選擇“5、6、7、8”四種數據長度. 8.可以選擇為“1、1.5、2”三種停止位.(1.5停止位需要硬件支持) 8.第9位數據可以選擇為“無、奇校驗、偶校驗、1、0”四種方式. 9.可以選擇“無流控、軟流控、硬流控、自定義”四種流控方式. 10.串口設置和字符串操作等設置在程序關閉時自動保存,打開時自動載入. 11.可以在接收窗口按鍵即發送該鍵值. 12.可以在字符串輸入框輸入您想發送的字符串,并發送. 13.可以在字符串輸入框輸入您想發送的HEX數據串,數據的值從00到FF,沒有任何限制. 14.可以定時重復發送數據,并可以設置發送時間間隔. 15.可以在發送字符串時選擇發送新行,即自動加上回車換行. 16.可以顯示當前串口的CTS、DSR、RLSL(CD)信號線的狀態. 17.可以自由控制當前串口的DTR、RTS信號線的輸出狀態. 18.可以打開一個文本文件或者一個二進制文件預覽其內容,查看方式可以是文本或者HEX方式. 19.可以打開一個文本文件或者一個二進制文件并以當前波特率發送到串口. 20.可以保存窗口內容到一個文本文件,文件名取自當前時間,保存在當前目錄. 21.可以即時顯示發送的字節數和接收到的字節數,按清除窗口將會清零. 22.帶有功能強大的擴展功能:多條字符串發送定義和網上查找串口資料等. 23.可以定義最多32條預備發送的字符串,每條字符串可以定義為HEX數據串或者字符串方式.在每一條數據的左邊打勾就表示這是一條hex數據串. 24.點擊字符串右邊的標號即可以發送這條定義好的字符串. 25.可以設置為循環發送你定義過的多條字符串,并且可以設置發送時間間隔. 26.在串口資料欄您可以從mcu51網站或者Google查找有關串口技術資料. 27.在串口資料欄您可以進入技術討論bbs,在此發表您的高見或者提出您的問題和需求. 28.在產品信息欄您可以獲得現時最新的產品信息. 29.這是個綠色軟件,單個文件即可執行,不會給您的機器增加任何負擔. 此版本使用C++Builder編寫,相對于上一版本SSCOM2.0,主要改進在: 1.程序更穩定可靠,修改了一些報錯信息.使用更加人性化。 2.修改了避免顯示漢字亂碼的算法,快了許多. 3.hex數據輸入的錯誤兼容性. 4.發送字符串可以加發回車換行. 5.可以保存窗口內容到文件. 6.發送和接收的字符數統計更準確. 7.不再接收到一定數量字符數就清屏,因為發現即使收到很多內容也不會溢出,速度仍然很快. 8,可以打開二進制文件并發送,從前只能發文本文件. 9.打開文件后可以用asc方式或者hex方式預覽文件中前4K內容. 10.發送文件前告訴操作者需要發送多少時間.免得久等. 11.新增功能強大的擴展功能,多達32條自定義字符串操作,程序關閉時這些字符串會自動保存,下次開機時再載入,每條可以定義為HEX數據串或者ASC字符串,按后邊的數字按鈕可以發送.也可以自動循環發送定義過的字符串. 12.新增串口設置自動保存. 13.加入了網絡支持功能,用戶很方便討論問題和找到技術支持.

    標簽: SSCOMV 3.0 串口調試 軟件

    上傳時間: 2013-10-26

    上傳用戶:448949

  • 如何導入ASM文件到工程(視頻教程)

    如何導入ASM文件到工程(視頻教程)

    標簽: ASM 工程 視頻教程

    上傳時間: 2013-10-22

    上傳用戶:胡蘿卜醬

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

主站蜘蛛池模板: 湖口县| 柘荣县| 科技| 保定市| 浮山县| 新源县| 岳阳市| 双桥区| 衡山县| 临城县| 温宿县| 张家口市| 阿巴嘎旗| 历史| 尖扎县| 班戈县| 黄浦区| 虎林市| 临清市| 靖宇县| 新密市| 马尔康县| 盐池县| 晋中市| 玛纳斯县| 阜阳市| 鹤壁市| 东乡| 新和县| 鄢陵县| 开化县| 佛冈县| 通榆县| 南召县| 合水县| 交城县| 安龙县| 庄浪县| 东丰县| 古浪县| 阳城县|