一種基于物聯(lián)網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
2 軟件設(shè)計(jì)
2.1 移植U-Boot
通用Bootloader(UniversaI Boot Loader,U-Boot)遵循GPL條款的開放源代碼項(xiàng)目。U-Boot支持大多CPU。U-Boot可以燒寫EXT2,JFFS2文件系統(tǒng)映象,支持串口下載、網(wǎng)絡(luò)下載,并提供了大量的命令。系統(tǒng)引導(dǎo)支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系統(tǒng);支持NFS掛載,從FLASH中引導(dǎo)壓縮或非壓縮系統(tǒng)內(nèi)核。
2.1.1 U-Boot的下載
可以從http://sourceforge.net/projects/U-Boot獲得U-Boot的最新版本,如果使用過程中碰到問題或是發(fā)現(xiàn)Bug,可以通過郵件列表網(wǎng)站http://lists.sourcef orge.net/lists/listinfo/U-Bootusers/獲得幫助。選擇1.1.2,文件名稱u-boot-1.1.2.tar.bz2。
2.1.2 修改U-Boot配置文件
進(jìn)入存放u-boot-1.1.2.tar.bz的目錄,運(yùn)行tar-jxvfu-boot-1.1.2.tar.bz進(jìn)行解壓,進(jìn)入解壓后生成的文件夾u-boot-1.1. 2,它是按Atmel推薦的標(biāo)準(zhǔn)系統(tǒng)的配置SDRAM:32Mbytes NCS1;FLASH:8 MB NCS0來配置的,若系統(tǒng)的配置和推薦的不同,則需要修改。需要修改文件主要是下面幾個(gè):./board/at91rm9200dk/config.mk,include/configs/+ at91rm9200dk.h,./board/at91rm9200dk /flash.c,flash.h在修改好U-Boot配置后,編譯運(yùn)行即可。
2.2 嵌入式Linux操作系統(tǒng)移植
AT91R1M9200芯片支持多種嵌入式操作系統(tǒng),但考慮到AT91RM9200支持從內(nèi)部的BOOTROM啟動(dòng)或從外部的DATAFLASH、二線EEPROM或8位并行存儲(chǔ)器引導(dǎo)啟動(dòng),因此,本設(shè)計(jì)中,主要將Linux在AT91RM9200上進(jìn)行移植。
2.2.1 嵌入式Linux操作系統(tǒng)
嵌入式Linux操作系統(tǒng)由一個(gè)Kernel(內(nèi)核)及一些根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。其Kernel很小,一般只有幾百KB左右,即使加上其他必要的模塊和應(yīng)用程序,所需的存儲(chǔ)空間也很小。它具有多任務(wù)、多進(jìn)程的系統(tǒng)特征,有些還有具有實(shí)時(shí)性。一個(gè)小型的嵌入式Linux系統(tǒng)只需要引導(dǎo)程序、Linux微內(nèi)核(由內(nèi)存管理、進(jìn)程管理和事務(wù)處理構(gòu)成)、初始化進(jìn)程3個(gè)基本元素組成。當(dāng)然,實(shí)際應(yīng)用中還需要讓它有更多的功能且繼續(xù)保持小型化,如加上文件系統(tǒng)(可以在ROM,RAM,F(xiàn)LASH或Disk Onchip中)、TCP/IP網(wǎng)絡(luò)支持、存儲(chǔ)更多數(shù)據(jù)用的磁盤、提供設(shè)計(jì)精簡的應(yīng)用程序等。
2.2.2 內(nèi)核下載及編譯工具獲取
評論