【正文】
系統(tǒng)來(lái)調(diào)試所編寫(xiě)的程序文件。其中的程序用戶(hù)通常也不能對(duì)其進(jìn)行修改,即便是在嵌入式系統(tǒng)開(kāi)發(fā)完成以后,也都是在專(zhuān)用的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具下對(duì)程序進(jìn)行進(jìn)行開(kāi)發(fā)的。系統(tǒng)中應(yīng)用軟件的可靠性以及其執(zhí)行效率性能等等。硬件無(wú)關(guān)部分主要提供了進(jìn)程間的映射和虛擬內(nèi)存技術(shù),硬件相關(guān)部分主要為系統(tǒng)管理硬件設(shè)備提供虛擬接口,可以簡(jiǎn)化系統(tǒng)對(duì)硬件的操作。 Linux 上的有十分豐富的軟件資源,并且軟件每天都在 更新。 智能家居系統(tǒng)中 Bootloader 的移植 Bootloader 的基本概念 開(kāi)發(fā)一個(gè)基與嵌入式 Linux操作系統(tǒng)的系統(tǒng)從軟件看通??梢詫⑾到y(tǒng)分成為四個(gè)步驟:引導(dǎo)加載程序、 Linux 內(nèi)核、文件系統(tǒng)、用戶(hù)應(yīng)用程序 [32]。 嵌入式系統(tǒng)中廣泛采用的非易失性存儲(chǔ)器通常是 Flash,而 Flash 又分為 Nor Flash和 Nand Flash 兩種。但為了保持和以前版本的兼容性,它仍然支持 struct param_struct 參數(shù)傳遞的方式,只不過(guò)在內(nèi)核啟動(dòng)過(guò)程中它將被轉(zhuǎn)換成標(biāo)記列表的方式。 蘭州交通大學(xué)碩士學(xué)位論文 15 什么是標(biāo)準(zhǔn)內(nèi)核 按照資料上的習(xí)慣說(shuō)法,標(biāo)準(zhǔn)內(nèi)核或稱(chēng)基礎(chǔ)內(nèi)核,就是指主要是在 Linux 內(nèi)核也是與平臺(tái)架構(gòu)相關(guān)的[25]。然而你在做 make config 的時(shí)候?qū)⒁粋€(gè)設(shè)備的驅(qū)動(dòng)程序由內(nèi)核支持改變?yōu)?module 或者取消其支持,這樣將可能影響到 Y 的一個(gè)參數(shù)的設(shè)置,這時(shí)就需要重新編譯 Y,重新編譯或連接 X。為了掛載文件系統(tǒng),必須要在目標(biāo)設(shè)備中指定一個(gè)掛載點(diǎn)在掛載之前。 (2) /dev:驅(qū)動(dòng)程序存放的目錄,包含外設(shè)的文件接口,可以再這里存放自己所編寫(xiě)的驅(qū)動(dòng)程序的代碼。通過(guò)表中的比較數(shù)據(jù)可以看以出 NOR Flash 可以直接操做存儲(chǔ)在上面的數(shù)據(jù),應(yīng)用程序可以直接在芯片中運(yùn)行,以字節(jié)為單位操作傳輸速度很快。使用 MTD 驅(qū)動(dòng)程序在嵌入式系統(tǒng)中的主要優(yōu)點(diǎn)是對(duì)系統(tǒng)中存儲(chǔ)器而言,它對(duì) Flash 型存儲(chǔ)器有更好的管理,擦除操作采用基于扇區(qū)的方式,簡(jiǎn)單地讀 /寫(xiě)操作接口,由此可以得出,內(nèi)存驅(qū)動(dòng)技術(shù)是專(zhuān)門(mén)針對(duì)各種非易失性的存儲(chǔ)器以閃存為主而設(shè)計(jì)的。他關(guān)系到根文件系統(tǒng)所能提供的存儲(chǔ)容量大小及功能。選擇合適的文件系統(tǒng)可以有效的解決這個(gè)問(wèn)題。 zImage 內(nèi)核映像是內(nèi)核是經(jīng)過(guò)壓縮后形成的內(nèi)核映像,因此它在存儲(chǔ)系統(tǒng)中所占空間比沒(méi)有經(jīng)過(guò)壓縮的內(nèi)核要小,但是為了使經(jīng)過(guò)壓縮內(nèi)核能夠正常啟動(dòng),必須要在系統(tǒng)起動(dòng)的時(shí)候加上解壓縮內(nèi)核的代碼,將經(jīng)過(guò)壓縮后的內(nèi)核解壓出之后才能夠正確執(zhí)行。如果你覺(jué)得查閱郵箱中的郵件列表耗費(fèi)太多時(shí)間,那么至少每周訪問(wèn)所關(guān)心的相關(guān)內(nèi)核網(wǎng)站,并閱讀 Kernel Traffic 提供的過(guò)去一周中在內(nèi)核郵件清單中發(fā)生的重要的摘要,網(wǎng)址為 這樣就可以得到相關(guān) Linux 內(nèi)核的最新信息。 Linux 內(nèi)核的版本號(hào)可以從源代碼的最頂層目錄下的 Makefile 中看到,比如在 內(nèi)核的 Makefile 中: VERSION=2 PATCHLEVEL=6 SUBLEVEL=27 EXTRAVERSION=2 其中的 “VERSION”和 “PATCHLEVEL”這兩個(gè)組成 Linux內(nèi)核的主版本號(hào),例如 、 等。 (3) 檢測(cè)處理器的類(lèi)型,系統(tǒng)的 BootLoader 在調(diào)用 Linux 內(nèi)核之前必須要檢測(cè)系統(tǒng)的處理器的類(lèi)型,并且將其保存到某個(gè)常量中以便提供給 Linux 內(nèi)核使用。因此,在嵌入式系統(tǒng)幾乎不可能建立一個(gè)通用的 Bootloader,不同的處理器架構(gòu)都需要使用不同的 Bootloader來(lái)引導(dǎo)。這意味著 Linux 操作系統(tǒng)在不同平臺(tái)間具有良好的可移植性。 內(nèi)存管理(軟件相關(guān),硬件相關(guān)) 進(jìn)程調(diào)度 網(wǎng)絡(luò)(網(wǎng)絡(luò)協(xié)議,硬件驅(qū)動(dòng)) 虛擬文件系統(tǒng) 進(jìn)程間通信 蘭州交通大學(xué)碩士學(xué)位論文 11 ⑤ 進(jìn)程間通信: Linux 內(nèi)核提供了多種通信機(jī)制。操作系統(tǒng)內(nèi)核賴(lài)以生存的物質(zhì)條件為系統(tǒng)的硬件設(shè)備。這樣一方面不僅保證了系統(tǒng)安全運(yùn)行,同時(shí)也控制了系統(tǒng)的成本。其驅(qū)動(dòng)使用串口的驅(qū)動(dòng)程序,主要工作就是編寫(xiě)串口的應(yīng)用程序,來(lái)實(shí)現(xiàn)短信息的接受和發(fā)送并存儲(chǔ)短信 息等功能。 (3) 實(shí)時(shí)性的要求 在嵌入式系統(tǒng)中重要的特性是要求操作系統(tǒng)要具有實(shí)時(shí)性。 TQ2410蘭州交通大學(xué)碩士學(xué)位論文 5 開(kāi)發(fā)板支持 內(nèi)核。 (3) 便捷的用戶(hù)監(jiān)控:用戶(hù)可以方便進(jìn)行遠(yuǎn)程監(jiān)控操作無(wú)論是在工作還是其他場(chǎng)所,用戶(hù)只需要一部手機(jī)或者一臺(tái)接入網(wǎng)絡(luò)的普通計(jì)算機(jī),便可以實(shí)現(xiàn)對(duì)系統(tǒng)中各個(gè)設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控的操作。然后,通過(guò)嵌入式系統(tǒng)的系統(tǒng)總線管理和控制系統(tǒng)中的各個(gè)可控終端設(shè)備 ,并且進(jìn)行數(shù)據(jù)處理、調(diào)節(jié)和設(shè)備自動(dòng)控制。s everincreasing pace of life today, there is a growing care home to us the convenience of smart, enjoy the hightech achievements. Therefore, how to apply information technologies to the home control, to bring mankind to provide a simple and stylish hightech modern life, has bee a new topic. This paper proposes a Samsung S3C2410 processor, embedded processor core, embedded LINUX operating system built home based on intelligent management platform. Design of an intelligent home control system, users INTERNET work or wireless access technologies such as mobile phones to access the family39。 中圖分類(lèi)號(hào): TP319 密 級(jí): 公開(kāi) UDC: 本校編號(hào): 碩 士 學(xué) 位 論 文 論文題目: 基于 ARM遠(yuǎn)程家居智能控制系統(tǒng)設(shè)計(jì) 研究生姓名: 翟寧 學(xué)號(hào): 0207466 學(xué)校指導(dǎo)教師姓名: 何濤 職稱(chēng): 副教授 申請(qǐng)學(xué)位等級(jí): 工學(xué)碩士 專(zhuān)業(yè): 交通信息工程與控制 論文提交日期: 2020年 6月 17日 論文答辯日期: 2020年 6月 5日 2 獨(dú)創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作和取得的研究成果,除了文中特別加以標(biāo)注和致謝之處外,論文中不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含獲得 蘭州交通大學(xué) 或其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。 關(guān)鍵詞:電子信息技術(shù);家居控制;嵌入式; linux; GPRS 論文類(lèi)型:應(yīng)用研究 II Abstract With the development of science and technology, told people living continuously improve the level of information, a variety of new Inter technologies and electronic information technology to promote the tremendous progress of human civilization. With development of the electronic information technology, innovation, intelligence increase, from time to time we enjoy the science and technology in their lives to our convenience. In people39。 智能家 居控制系統(tǒng)工作原理是通過(guò)大量的外部檢測(cè)設(shè)備來(lái)收集和檢測(cè)外部的數(shù)據(jù),然后通過(guò)系統(tǒng)總線將采集的數(shù)據(jù)信息傳送給以 S3C2410 為核心處理器的嵌入式系統(tǒng),通過(guò)處理器進(jìn)行運(yùn)算和處理。 (2) 可操作性:采用嵌入式 WEB 瀏覽器作為用戶(hù)接 口,系統(tǒng)真正實(shí)現(xiàn)隨時(shí)隨地監(jiān)控,不限定特定的硬件設(shè)備和軟件環(huán)境。 一個(gè) 50 芯 2 毫米間距雙排標(biāo)準(zhǔn)連接器用作擴(kuò)展口,引出了地址線、數(shù)據(jù)線、讀寫(xiě)、片選、中斷、 IO 口、 ADC、 5V 和 電源、地等用戶(hù)擴(kuò)展時(shí)可能用到的信號(hào)。雖然在開(kāi)發(fā)嵌入式系統(tǒng)的時(shí)候我們根據(jù)需要對(duì)嵌入式 Linux 的內(nèi)核進(jìn)行了必要的裁減,但是嵌入式 Linux 操作系統(tǒng)仍然保持了原來(lái) Linux 操作系統(tǒng)高可靠性的特點(diǎn),因此很少會(huì)出現(xiàn)系統(tǒng)崩潰的現(xiàn)象在使用Linux 操作系統(tǒng)開(kāi)發(fā)的產(chǎn)品中。 (3) GPRS 通信模塊詳細(xì)設(shè)計(jì),系統(tǒng)中采用 GPRS 通信模塊,通過(guò)串口與 TQ2410 開(kāi)發(fā)板的串口相連接。嵌入式設(shè)備的系統(tǒng)可以看做是一個(gè)專(zhuān)用的計(jì)算機(jī)系統(tǒng),是一個(gè)最小的計(jì)算機(jī)應(yīng)用系統(tǒng),因此要求嵌入式系統(tǒng)上運(yùn)行的軟件不需要具備復(fù)雜的功能。而系統(tǒng)調(diào)用接口則作為 Linux 操作系統(tǒng)內(nèi)核的基本擴(kuò)充,提供了豐富的接口為操作系統(tǒng) [14]。負(fù)責(zé)在系統(tǒng)中實(shí)現(xiàn)每一種可能的網(wǎng)絡(luò)傳輸協(xié)議是網(wǎng)絡(luò)協(xié)議部分的功能。無(wú)論處理器帶不帶 MMU 都可以,沒(méi)有MMU 的處理器只有 uClinux 支持, 內(nèi)核支持絕大數(shù)帶 MMU 的處理器。 對(duì)于嵌入式系統(tǒng), BootLoader 是基于特定硬件平臺(tái)來(lái)實(shí)現(xiàn)的。雖然這并不是 BootLoader 必須要完成的工作,但是通過(guò)串口輸出信息是調(diào)試 BootLoader 和 Linux 內(nèi)核的強(qiáng)有力的工具,因此一般系統(tǒng)的 BootLoader 都會(huì)在執(zhí)行的過(guò)程中初始化一個(gè)串口做為調(diào)試端口。接下來(lái)我們從 Linux 內(nèi)核的版本和分類(lèi)說(shuō)起。比如針對(duì)ARM 的 Linux 內(nèi)核,可以訪問(wèn) 并且訂閱該網(wǎng)站上提供的maillist 就可以了。根據(jù)是否是壓縮內(nèi)核, Linux 內(nèi)核的啟動(dòng)的方式、過(guò)程也是不同的。由于嵌入式系統(tǒng)中存儲(chǔ)資源有限,如何有效利用存儲(chǔ)空間是在開(kāi)發(fā)過(guò)程中所要考慮的。選擇合適的根文件系統(tǒng)。通過(guò) MTD提供了一個(gè)一致且統(tǒng)一的抽象接口在底層硬件和上層文件系統(tǒng)之間,即運(yùn)行 Flash 存儲(chǔ)介質(zhì)上的文件系統(tǒng)都是 MTD 驅(qū)動(dòng)層基礎(chǔ)上的。 NAND Flash 數(shù)據(jù)通過(guò)將塊為單位進(jìn)行存NAND Flash NOR Flash 擦除速度快 接口時(shí)序同 SRAM,易使用 地址 /數(shù)據(jù)線復(fù)用,數(shù)據(jù)位較窄 讀取速度較快 讀取速度較慢 擦除速度慢 擦除速度快 寫(xiě)入速度慢 順序讀取速度較快,隨機(jī)存取速度慢,適用于數(shù)據(jù)存儲(chǔ) (如大容量的多媒體應(yīng)用 )。在 Linux 操作系統(tǒng)中,系統(tǒng)中的每個(gè)設(shè)備都在 /dev 里有存在一個(gè)對(duì)應(yīng)的設(shè)備文件。 嵌入式系統(tǒng)中主要采用的文件系統(tǒng),在 Linux 中, rootfs 是最基本的根文件系統(tǒng)。如果程序數(shù)量非常多,你是很難手工完全做好此工作的。這些 Linux 內(nèi)核并不總是適用于所有 Linux 所支持的體系結(jié)構(gòu)。標(biāo)記列表方式是一種比較新的參數(shù)傳遞方式,它必須以 ATAG_CORE 開(kāi)始,并且以 ATAG_NONE 結(jié)尾。它們之間的不同在于: Nor Flash 支持芯片內(nèi)執(zhí)行( XIP, EXecute In Place),這樣代碼可以在 Flash 上直接執(zhí)行而不必拷貝到 RAM 中去執(zhí)行。 Linux 系統(tǒng)構(gòu)成圖如圖 所示 基于 ARM 遠(yuǎn)程家居智能控制系統(tǒng)設(shè)計(jì) 12 用戶(hù)應(yīng)用程序 文件系統(tǒng) Linux 內(nèi)核 引導(dǎo)加載程序 圖 linux 系統(tǒng)構(gòu)成圖 操作系統(tǒng)加電后運(yùn)行的第一段程序代碼是 Linux 的引導(dǎo)程序。 Linux 操做系統(tǒng)在消費(fèi)類(lèi)嵌入式電子設(shè)備中的應(yīng)用已經(jīng)非常廣泛。 ③ 虛擬文件系統(tǒng):虛擬文件系統(tǒng)隱藏了硬件的各種具體細(xì)節(jié)。 當(dāng)前嵌入式操作系統(tǒng)領(lǐng)域內(nèi)嵌入式 Linux 的開(kāi)發(fā)和研究是熱點(diǎn)。 (1) 嵌入式設(shè)備的系統(tǒng)一般要求軟件體積小由于是硬件的限制。 (5) 靈活地配置內(nèi)核根據(jù)用戶(hù)需要 通常來(lái)說(shuō),嵌入式設(shè)備中給嵌入式操作系統(tǒng)分配的存儲(chǔ)容量都十分有限的,因此嵌入式設(shè)備系統(tǒng)應(yīng)當(dāng)盡可能減少體積,所以嵌入式設(shè)備系統(tǒng)通常采用固化軟件的方法,將程序和操作系統(tǒng)嵌入到整個(gè)設(shè)備里面 [3]。據(jù)統(tǒng)計(jì)正在開(kāi)發(fā)設(shè)計(jì)的嵌入式系統(tǒng)當(dāng)中,有一半左右的項(xiàng)目選擇 Linux 作為嵌入式系統(tǒng)的操作系統(tǒng),己成為作為嵌入式產(chǎn)品的嵌入式操作系統(tǒng)的最佳理想選擇。 10M 的以太網(wǎng)