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

評論