freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux的eeprom的讀寫控制畢業(yè)設(shè)計論文(文件)

2025-07-31 16:10 上一頁面

下一頁面
 

【正文】 arm/dev_home/kernel [armlocalhost kernel] cd 進(jìn)入內(nèi)核解壓后的目錄,以后示例中,只要是相對路徑全部是相對于 /home/arm/dev_home/kernel/。 創(chuàng)建 uImage 1)獲取 mkimage 工具 內(nèi)核樹的 Makefile 提供了創(chuàng) 建 uImage 的方法,但需要我們提供相應(yīng)的 mkimage命令。 參 數(shù) a:指明 uImage 加載的 SDRAM 地址,內(nèi)核默認(rèn)指定加載地址為 0x30008000。 LINUX內(nèi)核的目錄結(jié)構(gòu) 現(xiàn)代的操作系統(tǒng)一般由進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序和網(wǎng)絡(luò)等組成。PC 機(jī)一般都基于此目錄。對 Linux 做出過很大貢獻(xiàn)的一些人的信息。 block 下為塊設(shè)備驅(qū)動程序,比如 ide( )。 Ipc,這個目錄包含核心的進(jìn)程間通訊的代碼 。 include 目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關(guān)的頭文件在include/linux 子目錄下,與 intel cpu 相關(guān)的頭文件在 include/asmi386 子目錄下 ,而include/scsi 目錄則是有關(guān) scsi 設(shè)備的頭文件目錄 [10]。 Kernel 內(nèi)核管理的核心代碼,此目錄下的文件實現(xiàn)了大多數(shù) linux 系統(tǒng)的內(nèi)核函數(shù),其中最重要的文件當(dāng)屬 ;同時與處理器結(jié)構(gòu)相關(guān)代碼都放在 arch/*/kernel目錄下。用來組織內(nèi)核的各模塊,記錄了個模塊間的 相互這間的聯(lián)系和依托關(guān)系,編譯時使用;仔細(xì)閱讀各子目錄下的 Makefile 文件對弄清各個文件這間的聯(lián)系和依托關(guān)系很有幫助。 目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面。 scripts 目錄包含用于配置核心的腳本文件等。另外有的目錄下還有 Readme 文件,它是對該目錄下文件的一些說明,同樣有利于對內(nèi)核源碼的理解。 2) linux 源文件修改 安裝完 linux 源代碼,為了在 Embest EduKit44b0 上運行,需要為修改源代碼,這里 我 們 提 供 了 兩 個 補(bǔ) 丁 文 件 和。 | Cygwin Arm Toolchain for uClinux | | | (1) gcc | | (2) binutils | | (3) uClibc 20xx0314 | | (4) elf2flt 20xx0326 | | (5) genromfs | | (6) STLport | | Build by Embest () | | Under Cygwin | | 20xx0610 | | | | Press ENTER to continue | 4).工具鏈路徑設(shè)置 安裝完成后,在 Cygwin 控制臺執(zhí)行如下命令,將工具鏈安 裝路徑添加到系統(tǒng)默認(rèn)路徑。 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計 (論文 ) 13 4 EEPROM 的概要設(shè)計 IIC 總線的讀 /寫控制邏輯 讀寫控制邏輯 開始條件( START_C) 在開始條件下,當(dāng) SCL 為高電平時, SDA 由高轉(zhuǎn)為低??偩€以字節(jié)( 8bit)為單位傳送數(shù)據(jù),且高有效位 (MSB)在前。下圖 42 為 IIC 總線的內(nèi)部 接 口框圖 [12]。 IIC 總線上的設(shè)備尋址由器件地址接線決定,并且通過訪問地址最低位來控制讀寫方向。 適用于 2V~ 5V 的低電壓的操作 。 圖 43 AT24 系列存儲器芯片結(jié)構(gòu) 各引腳的功能說明如下: SCL串行時鐘。漏極開路,需接上拉電阻,可與其他開路器件“線或”。接低電平時可對整片空間進(jìn)行讀寫;高電平時不能讀寫受保護(hù)區(qū)。具有 SRAM 輸入緩沖器的 EEPROM器件,其寫入操作變成對 SRAM 緩沖器的裝載,裝載完后啟動一個自動寫入邏輯將緩沖器中的全部數(shù)據(jù)一次寫入 EEPROM 陣列中。 由于 EEPROM 器件緩沖區(qū)容量較?。ㄖ徽紦?jù)最低 3 位),且不具備溢出進(jìn)位檢測功能,所以 ,從非零地址寫入 8 個字節(jié)數(shù)或從零地址寫入超過 8 個字節(jié)數(shù)會形成地址翻卷,導(dǎo)致寫入出錯。 圖 45 連續(xù)寫入 N 個字節(jié) 2)讀出操作格式 讀任意地址 ADDRR,如圖 46 所示 。 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計 (論文 ) 17 圖 48 AT24CO4 EEPROM 控制電路 設(shè)計操作過程 1) 編譯應(yīng)用程序 運行 Cygwin, 進(jìn)入 testiic 設(shè)計程序所在目錄。 /*讀 SIZE 個字節(jié) */ Read (fd,r_buf, SIZE)。使 EEPROM 器件把剛剛接收到的數(shù)據(jù)寫入非易失性記憶體中, AT24C04 需要華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計 (論文 ) 18 延時 5~10MS。 /* 延時 */ Usleep(10*1000)。 Char r_buf[PAGE_NUM* PAGE_SIZE]。 /* open device */ fd= open(driver,0_RDWR)。 Srand(time(NULL))。 } for (i=0。 /* write date to AT24C04N EEPROM */ for (i= PAGE_NUM1。w_buf[i*PAGE_SIZE],PAGE_SIZE)。i iPAGE_NUM。 } /* printf data */ for (i=0。 /* pare data */ If(memcmp(w_buf,r_buf,PAGE_NUM*PAGE_SIZE)= =0) { Printf(“Very date successful\n”)。 } 實驗結(jié)果分析 由于已編譯的內(nèi)核沒有安裝 IIC 驅(qū)動,所以運行程序前需要安裝 IIC 算法驅(qū)動程序。通過在 EduKit2410實驗平臺, Windows 98/20xx/NT/XP 以及 windows 平臺下的 cygwin 環(huán)境以及通過查詢資料,詢問老師以及 和同學(xué)的交流完成了此次在 LINUX 的 EEPROM 的讀寫控制的設(shè)計。 同時,在這次的系 linux 設(shè)計環(huán)節(jié)中中我也看到了自己在新知識的學(xué)習(xí),新工具的應(yīng)用方面的不足。在原地徘徊了一段時間后,我通過查找參考資料,和同學(xué)交流,利用互聯(lián)網(wǎng)向有經(jīng)驗的編程人員請教等各種方式試著克服在設(shè)計過程中遇到的困難。我想,在今后 的學(xué)習(xí)和工作中,我將針對這些發(fā)現(xiàn)的問題,不斷努力和提高自身各方面的素質(zhì),為社會做出自己應(yīng)有的貢獻(xiàn) 。在此我向他們至以最高的敬意 。指導(dǎo)老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。 總之,本設(shè)計對我來說不僅僅是一次畢業(yè)設(shè)計,這也是我一次有意義的學(xué)習(xí)、提高的過程。本次設(shè)計的過程也就成為我對 linux 的 深入透徹學(xué)習(xí)的過程。然后在深入理解 IIC 總線的讀 /寫控制的基礎(chǔ)上,如何正確的把握和觀察設(shè)計結(jié)果成為整個設(shè)計成功與否的關(guān)鍵環(huán)節(jié)。本程序是通過往 EEPROM 里寫入一頁 16 字節(jié)數(shù)據(jù),并讀出比較,檢測是否一致。 } Close(fd)。i++) { Printf(“%d”, w_buf[i])。 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計 (論文 ) 20 Read (fd,amp。 } /* read data from AT24CO4N EEPROM */ Printf(“Read date… \n”)。i) { /* AT24C04N inner data access address */ Ioct1(fd, I2C_SET_DATA_ADDR,i*PAGE_SIZE)。i++) { Printf(“%d”, w_buf[i])。i PAGE_NUM* PAGE_SIZE。 /* set i2c bus clock 250KHZ */ Ioct1(fd,I2C_SET_BUS_CLOCK,250*1000)。 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計 (論文 ) 19 static char * driver =”/dev/i2c/0”。程序代碼如下: Close(fd)。 Write(fd,amp。寫操作一次最多可以寫入一個頁的數(shù)據(jù),一次寫入超過頁邊界的數(shù)據(jù)會被丟棄。一次讀操作可以讀取連續(xù)地址空間的一塊數(shù)據(jù),但讀取的長度不能超出 EEPROM 的容量范圍。 圖 47 讀 N 個字節(jié) 在讀任意地址操作中除了發(fā)送讀地址外還要發(fā)送頁面 地址( PADDR),因此在連續(xù)讀出 n 個字節(jié)操作前要進(jìn)行一個字節(jié) PADDR 寫入操作,然后重新啟動讀操作;注意讀操作完后沒有 ACK。按照 AT24C04 器件手冊讀寫地址( ADDR=1010 A2 A1 R/W)中的數(shù)據(jù)操作格式如下: 1) 寫入操作格式 寫任意地址 ADDR_W,如圖 44 所示 。 AT24C04 的頁寫字節(jié)數(shù)為 8,占用最低 3 位地址。 AT24C04 結(jié)構(gòu)與應(yīng)用簡述 AT24C04 由輸入緩沖器和 EEPROM 陣列組成。在 AT24C01/02 中,引腳被硬連接;其他 AT24Cxx 均可接尋址地址線。在該引腳的上升沿,系統(tǒng)將數(shù)據(jù)輸入到每個 EEPROM 器件,在下降沿輸出。 AT24 系列存儲器芯片采用 CMOS 工藝制造,內(nèi)置有高壓泵,可在單電壓供 電條件下工作。帶 IIC 總線接口的 EEPROM 有許多型號,其中 AT24CXX 系列使用十分普遍。在多主系統(tǒng)結(jié)構(gòu)中,系統(tǒng)通過硬件或軟件仲裁獲得總線控制使用權(quán)。 圖 41 IIC 數(shù)據(jù)傳送時 序圖 IIC 接口及 EEPROM IIC 總線是同步串行數(shù)據(jù)傳輸總線,其標(biāo)準(zhǔn)總線傳輸速率為 100KB/S,增強(qiáng)總線可達(dá)到 400KB/S。 確認(rèn)信號( ACK) 在接收方應(yīng)答下,每收到一個字節(jié)后便將 SDA 電平拉低。 export PATH=/usr/local/armtools/bin:$PATH 或者修改 /etc/profile 文件,將以上命令添加到最后。 將補(bǔ)丁文件 拷貝到 cygwin\tmp 目錄下,執(zhí)行命令: cd /usr/local/src/uClinuxdist patch –p1 /tmp/ 如果要使用 jffs2 文件系統(tǒng),則將補(bǔ)丁文件 拷貝到 cygwin\tmp 目錄下,執(zhí)行命令: cd /usr/local/src/uClinuxdist patch –p1 /tmp/ 注意:補(bǔ)丁 必 須 在 補(bǔ) 丁
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1