【正文】
目 錄 中文摘要 ........................................................... 1 ABSTRACT ........................................................... 2 第 1 章 Linux 概述 ................................................... 3 Linux 操作系統(tǒng)的誕生和發(fā)行版 .......................................... 3 Linux 系統(tǒng)的誕生 .................................................... 3 Linux 發(fā)行版 ....................................................... 3 Linux 應(yīng)用和特性 ...................................................... 4 linux 的應(yīng)用 ....................................................... 4 linux 的特性 ....................................................... 4 第 2 章 Tiny210 開發(fā)板 ................................................ 6 Tiny210 簡介 ......................................................... 6 Tiny210 硬件配置 ...................................................... 6 軟件支持 ............................................................. 7 第 3 章 移植前準(zhǔn)備 ................................................... 8 軟件平臺的搭建 ........................................................ 8 虛擬機(jī)的安裝 ....................................................... 8 Red Hat linux 的安裝 ............................................... 8 軟件包和源碼包的準(zhǔn)備和下載 ......................................... 8 第 4 章 Linux 內(nèi)核 .................................................. 9 第 5 章 RTC 芯片 .................................................... 10 RTC 芯片簡述 ......................................................... 10 I2C 總線簡介 ......................................................... 10 第 6 章 字符設(shè)備驅(qū)動 相關(guān)知識 ......................................... 11 模塊機(jī)制 ............................................................ 11 字符設(shè)備開發(fā)基本步驟 ................................................ 12 主設(shè)備號和次設(shè)備號 .................................................. 12 實現(xiàn)字符驅(qū)動程序 .................................................... 13 第 7 章 RTC 驅(qū)動實現(xiàn) ............................................... 16 設(shè)計思路 ............................................................ 16 RTC 程序?qū)崿F(xiàn) ......................................................... 16 RTC 基本數(shù)據(jù)結(jié)構(gòu) ................................................... 16 注冊字符設(shè)備 ....................................................... 16 定義操作函數(shù) ...................................................... 17 函數(shù)聲明 .......................................................... 18 編譯生成 .ko 文件 ..................................................... 18 實際運(yùn)行及結(jié)果 ...................................................... 18 第 8 章 結(jié)論 ...................................................... 20 謝 辭 .......................................................... 21 參 考 文 獻(xiàn) ....................................................... 22 附錄 A RTC 驅(qū)動程序 ................................................ 23 附錄 B Makefile 文件 ............................................... 41 附錄 C 應(yīng)用層測試程序 .............................................. 41 蚌埠學(xué)院本科畢業(yè)設(shè)計(論文) 1 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動開發(fā) 摘 要 : 論文主要研究了 Linux系統(tǒng)下的 RTC芯片驅(qū)動架構(gòu),并設(shè)計了一個基于 Tiny210開發(fā)板的 RTC 字符設(shè)備驅(qū)動。首先對 Linux 體系進(jìn)行了簡單介紹,分析了 Linux系統(tǒng)的應(yīng)用和特性,并對現(xiàn)有平臺 Tiny210 開發(fā)板進(jìn)行了簡單分析。在對實際項目 RTC 驅(qū)動開發(fā)的分析設(shè)計的基礎(chǔ)上,采用了以動態(tài)模塊加載方式的字符設(shè)備驅(qū)動模型。在對 RTC 芯片各個模塊的簡單介紹中快速構(gòu)建和開發(fā)了一個該芯片的驅(qū)動模型,實現(xiàn)了對硬件時間的讀寫、鬧鐘的設(shè)置功能。減少了開發(fā)的復(fù)雜性,縮短了開發(fā)時間,且具有很強(qiáng)的可擴(kuò)展、可移植性。 關(guān)鍵詞: Linux 操作系統(tǒng); Tiny210 開發(fā)板;字符設(shè)備驅(qū)動; RTC 芯片 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動開發(fā) 2 Driver Development of Real Timer Clock(RTC) Based on Linux Abstract: In this thesis, the RTC chip driver under Linux system architecture and design of a development board based Tiny210 RTC character device drivers. First, a brief introduction Linux system to analyze the application and features of Linux systems, and existing platforms Tiny210 development board for a simple analysis. On the basis of the actual project RTCdriven development of analysis and design, using a dynamic module loading character device driver model. Quickly build in RTC chip for each module in a brief and develop a model of the chip driver, the realization of hardware time to read and write, alarm setting function. Reducing the plexity of development and shorten the development time, and has a strong scalability, portability. Keywords: Linux operating system; Tiny210 development board; Character device driver;RTC chip 蚌埠學(xué)院本科畢業(yè)設(shè)計(論文) 3 第 1 章 Linux 概述 Linux 操作系統(tǒng)的誕生和發(fā)行版 Linux 系統(tǒng)的誕生 1981 年 IBM 推出了微型計算機(jī) IBM PC。 在它推出的前 10 年內(nèi) , MSDOS 操作系統(tǒng)主宰了整個計算機(jī)操作系統(tǒng)界 。 而在當(dāng)時,計算機(jī)硬件的價格在不斷下跌 ,但軟件仍處于高位。蘋果的操作系統(tǒng) MacOS 的是無疑是最好的性能,但價格高,沒有人可以輕易接近。到 1991 年, 隨著 GNU 計劃開發(fā) 出來 了一些工具 ,以及 GNU C 編譯器 的發(fā)布 。甚至MINIX 也因為版權(quán) 開始需要購買 才能 獲得源代碼。在 GNU HURD 操作系統(tǒng) 的開發(fā)工作卻 不是 能在幾年內(nèi)完成 的 。對于萊納斯 來說,已經(jīng) 等不及了 。 起初,他只是為了學(xué)習(xí) 386 架構(gòu) 的 編程技術(shù) , 但隨后 的 Linux 開發(fā) 過程 已經(jīng)徹底改變了他的主意。 在 1991 年 初 ,萊納 斯 在學(xué)習(xí) MINIX的 操作系統(tǒng) 的時候產(chǎn)生了 開發(fā)一個新的 屬于自己的理想中的 操作系統(tǒng)的想法。最早 與 Linux( 當(dāng)然此時還不叫 Linux 這個名稱 )相關(guān)的新聞 是 萊納斯在 1991年 7 月 3 號的 上 發(fā)布的消息 。 而在 萊納斯 8 月 25 日發(fā)布的消息中,他第一次向外界透露出有開發(fā)免費(fèi)的操作系統(tǒng)的意向,可是它并不會象 GNU 那種現(xiàn)在已經(jīng)在行業(yè)中成型的系統(tǒng)那樣專業(yè),而代碼量不會很大 [1]。直到 1991 年的 10 月 5 日, 萊納斯 在 新聞組上發(fā)布消息,正式向外宣布 Linux 內(nèi)核系統(tǒng) 的誕生( Free minixlike kernel sources for 386AT)。這段消息就是直到今日都廣為流傳的被稱為 Linux 的誕生宣言。因此對 Linux 社區(qū),及其所用用戶來說, 10 月 5 日都是一個特殊的日子。直到今天,包括現(xiàn)在的 Red Hat公司在內(nèi)的很多公司都會在發(fā)布許多 Linux 的新版本時選擇了這個日子。 Linux 是一種源于 UNIX 的操作系統(tǒng),雖然從嚴(yán)格意義上講, Linux 這個詞實際上是指 Linux 內(nèi)核,但實際上人們已經(jīng)習(xí)慣了把整個基于 Linux 內(nèi)核以及在此基礎(chǔ)上的各種工具的操作系統(tǒng)統(tǒng)稱為 Linux。 Linux 發(fā)行版 通常來講,一個 Linux 的發(fā)行版不僅僅是指 Linux 內(nèi)核,還包括了使用 Linux 的軟件的安裝工具,以及各種工具軟件,而在一些特定的版本中中也有一些特定軟件,只不過現(xiàn)在都習(xí)慣于把它們統(tǒng)稱為 Linux 發(fā)行 版。每一種發(fā)行版的開發(fā)都是針對著不同的目標(biāo),像是支持不同計算機(jī)結(jié)構(gòu),更強(qiáng)調(diào)實時應(yīng)用,和專門面向嵌入式系統(tǒng)等。主流的Linux 發(fā)型版有 Ubuntu, Red Hat 等等 。 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動開發(fā) 4 Linux 應(yīng)用和特性 Linux 的應(yīng)用 Linux 的基本思想就是 —— 萬物皆文件,因此它擁有極高的靈活性和 可移植性,再加上它的 UNIX 背景,使它 Linux 在服務(wù)器的操作系統(tǒng)方面具有廣泛運(yùn)用。直到現(xiàn)在,Linux 還是提供網(wǎng)站服務(wù)供應(yīng)商最常使用的平臺。雖然因為新的編程語言的興起,它的市場份額在不斷減少,但在嵌入式行業(yè), Linux 基于其低廉成本與小體積依然是不可動搖的霸主,像在機(jī)頂盒、手機(jī)及移動裝置等硬件平臺上, Linux 已經(jīng)是不可或缺的 [3]。 Linux 的特性 ⑴ 完全兼容 因為 Linux 兼容了 標(biāo)準(zhǔn),所以一些常見的 Windows 的程序完