【正文】
......................................... 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 簡(jiǎn)介 ......................................................... 6 Tiny210 硬件配置 ...................................................... 6 軟件支持 ............................................................. 7 第 3 章 移植前準(zhǔn)備 ................................................... 8 軟件平臺(tái)的搭建 ........................................................ 8 虛擬機(jī)的安裝 ....................................................... 8 Red Hat linux 的安裝 ............................................... 8 軟件包和源碼包的準(zhǔn)備和下載 ......................................... 8 第 4 章 Linux 內(nèi)核 .................................................. 9 第 5 章 RTC 芯片 .................................................... 10 RTC 芯片簡(jiǎn)述 ......................................................... 10 I2C 總線簡(jiǎn)介 ......................................................... 10 第 6 章 字符設(shè)備驅(qū)動(dòng) 相關(guān)知識(shí) ......................................... 11 模塊機(jī)制 ............................................................ 11 字符設(shè)備開發(fā)基本步驟 ................................................ 12 主設(shè)備號(hào)和次設(shè)備號(hào) .................................................. 12 實(shí)現(xiàn)字符驅(qū)動(dòng)程序 .................................................... 13 第 7 章 RTC 驅(qū)動(dòng)實(shí)現(xiàn) ............................................... 16 設(shè)計(jì)思路 ............................................................ 16 RTC 程序?qū)崿F(xiàn) ......................................................... 16 RTC 基本數(shù)據(jù)結(jié)構(gòu) ................................................... 16 注冊(cè)字符設(shè)備 ....................................................... 16 定義操作函數(shù) ...................................................... 17 函數(shù)聲明 .......................................................... 18 編譯生成 .ko 文件 ..................................................... 18 實(shí)際運(yùn)行及結(jié)果 ...................................................... 18 第 8 章 結(jié)論 ...................................................... 20 謝 辭 .......................................................... 21 參 考 文 獻(xiàn) ....................................................... 22 附錄 A RTC 驅(qū)動(dòng)程序 ................................................ 23 附錄 B Makefile 文件 ............................................... 41 附錄 C 應(yīng)用層測(cè)試程序 .............................................. 41 蚌埠學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 1 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動(dòng)開發(fā) 摘 要 : 論文主要研究了 Linux系統(tǒng)下的 RTC芯片驅(qū)動(dòng)架構(gòu),并設(shè)計(jì)了一個(gè)基于 Tiny210開發(fā)板的 RTC 字符設(shè)備驅(qū)動(dòng)。首先對(duì) Linux 體系進(jìn)行了簡(jiǎn)單介紹,分析了 Linux系統(tǒng)的應(yīng)用和特性,并對(duì)現(xiàn)有平臺(tái) Tiny210 開發(fā)板進(jìn)行了簡(jiǎn)單分析。在對(duì) RTC 芯片各個(gè)模塊的簡(jiǎn)單介紹中快速構(gòu)建和開發(fā)了一個(gè)該芯片的驅(qū)動(dòng)模型,實(shí)現(xiàn)了對(duì)硬件時(shí)間的讀寫、鬧鐘的設(shè)置功能。 關(guān)鍵詞: Linux 操作系統(tǒng); Tiny210 開發(fā)板;字符設(shè)備驅(qū)動(dòng); RTC 芯片 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動(dòng)開發(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è)計(jì)(論文) 3 第 1 章 Linux 概述 Linux 操作系統(tǒng)的誕生和發(fā)行版 Linux 系統(tǒng)的誕生 1981 年 IBM 推出了微型計(jì)算機(jī) IBM PC。 而在當(dāng)時(shí),計(jì)算機(jī)硬件的價(jià)格在不斷下跌 ,但軟件仍處于高位。到 1991 年, 隨著 GNU 計(jì)劃開發(fā) 出來(lái) 了一些工具 ,以及 GNU C 編譯器 的發(fā)布 。在 GNU HURD 操作系統(tǒng) 的開發(fā)工作卻 不是 能在幾年內(nèi)完成 的 。 起初,他只是為了學(xué)習(xí) 386 架構(gòu) 的 編程技術(shù) , 但隨后 的 Linux 開發(fā) 過(guò)程 已經(jīng)徹底改變了他的主意。最早 與 Linux( 當(dāng)然此時(shí)還不叫 Linux 這個(gè)名稱 )相關(guān)的新聞 是 萊納斯在 1991年 7 月 3 號(hào)的 上 發(fā)布的消息 。直到 1991 年的 10 月 5 日, 萊納斯 在 新聞組上發(fā)布消息,正式向外宣布 Linux 內(nèi)核系統(tǒng) 的誕生( Free minixlike kernel sources for 386AT)。因此對(duì) Linux 社區(qū),及其所用用戶來(lái)說(shuō), 10 月 5 日都是一個(gè)特殊的日子。 Linux 是一種源于 UNIX 的操作系統(tǒng),雖然從嚴(yán)格意義上講, Linux 這個(gè)詞實(shí)際上是指 Linux 內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了把整個(gè)基于 Linux 內(nèi)核以及在此基礎(chǔ)上的各種工具的操作系統(tǒng)統(tǒng)稱為 Linux。每一種發(fā)行版的開發(fā)都是針對(duì)著不同的目標(biāo),像是支持不同計(jì)算機(jī)結(jié)構(gòu),更強(qiáng)調(diào)實(shí)時(shí)應(yīng)用,和專門面向嵌入式系統(tǒng)等。 基于 Linux 操作系統(tǒng)下 RTC 驅(qū)動(dòng)開發(fā) 4 Linux 應(yīng)用和特性 Linux 的應(yīng)用 Linux 的基本思想就是 —— 萬(wàn)物皆文件,因此它擁有極高的靈活性和 可移植性,再加上它的 UNIX 背景,使它 Linux 在服務(wù)器的操作系統(tǒng)方面具有廣泛運(yùn)用。雖然因?yàn)樾碌木幊陶Z(yǔ)言的興起,它的市場(chǎng)份額在不斷減少,但在嵌入式行業(yè), Linux 基于其低廉成本與小體積依然是不可動(dòng)搖的霸主,像在機(jī)頂盒、手機(jī)及移動(dòng)裝置等硬件平臺(tái)上, Linux 已經(jīng)是不可或缺的 [3]。因?yàn)楝F(xiàn)在 Windows的巨大影響力,許多用戶在使用 Linux 前,都會(huì)因?yàn)橐郧?Windows 的使用習(xí)慣而擔(dān)心能否適應(yīng)新的環(huán)境,而這一點(diǎn)就使他們不在顧慮。因?yàn)?Linux 社區(qū)的存在,所有的 Linux 用戶都可以輕易的得到當(dāng)前任意版本的 Linux 的源代碼,并按照自己的意愿來(lái)修改它。 ⑶ 多用戶、多任務(wù) 正如當(dāng)今世界發(fā)展的主流那樣, Linux 也支持多用戶。而多任務(wù)則是現(xiàn)在各種智能設(shè)備的主要特點(diǎn),為了節(jié)省運(yùn)行時(shí)間和解放更多的系統(tǒng)資源,實(shí)現(xiàn)了多進(jìn)程的并行執(zhí)行,Linux 操作系統(tǒng)就是其中的典范。后者使用戶可以類似于 Windows 操作系統(tǒng)使用鼠標(biāo)對(duì)其進(jìn)行操作,而不會(huì)因?yàn)檗D(zhuǎn)換了操作系統(tǒng)感到不適應(yīng)。 Linux 的網(wǎng)絡(luò)功能和其內(nèi)核緊密相連,在這方面它要比其他操作系統(tǒng)更有優(yōu)勢(shì)。而且 Linux 的極高的穩(wěn)定性使它在對(duì)要應(yīng)用到網(wǎng)絡(luò)服務(wù)器這類有較高穩(wěn)定性要求的服務(wù)上有非常高的適應(yīng)性。 Linux 因?yàn)槠溟_源的特性使它基本可以在市場(chǎng)上絕大部分的硬件平臺(tái)上運(yùn)行,這也使它精簡(jiǎn)體積小的內(nèi)核可以方便地移植多種嵌入式處理器上。它采用三星 S5PV210作為主處理器,運(yùn)行主頻可高達(dá) 1GHz。 Tiny210主要采用了 間距的雙排針,引出 CPU 大部分常用功能引腳,并力求和 Tiny6410核心板三排引腳兼容 (P1,P2,CON2) [5]。在 pc 機(jī)上安裝一個(gè)虛擬機(jī),本文選用的虛擬機(jī)是 VMware Workstation 。 Red Hat Linux 的安裝 在安裝了 Vmware Workstation 的條件下,創(chuàng)建一個(gè)虛擬機(jī)給它分配 20G 的磁盤大小。然后從網(wǎng)上下載 Red Hat Linux 操 作系統(tǒng)安裝包 iso 文件,我下載的是 Red Hat