引言
嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機(jī)器和設(shè)備運(yùn)行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于應(yīng)用系統(tǒng),對(duì)功能、對(duì)可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
系統(tǒng)的主要功能是通過計(jì)算機(jī)可使遠(yuǎn)程專家和相關(guān)技術(shù)人員在異地通過系統(tǒng)的客戶器端監(jiān)控多臺(tái)設(shè)備的運(yùn)行狀態(tài)。系統(tǒng)在設(shè)備端的服務(wù)器端不僅僅承擔(dān)一些實(shí)時(shí)檢測(cè)系統(tǒng)狀態(tài)的任務(wù)。嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運(yùn)行的硬件單元。范圍極其廣闊,從最初的4位處理器,目前仍在大規(guī)模應(yīng)用的8位單片機(jī),到最新的受到廣泛青睞的32位,64位嵌入式CPU。
1 系統(tǒng)硬件設(shè)計(jì)
ARM7TDMI核心的S3C44BOX作為微處理器芯片,系統(tǒng)硬件框架結(jié)構(gòu)圖如圖l所示,其電路原理圖如圖2所示。
1.1 存儲(chǔ)模塊設(shè)計(jì)
系統(tǒng)的FLASH采用的是HY29LV160,容量大小為2M字節(jié),充當(dāng)S3C44BOX的程序存儲(chǔ)器,其內(nèi)部存放啟動(dòng)代碼、uclinux內(nèi)核、以太網(wǎng)MAC地址以及應(yīng)用程序等。HY29LV160的單片存儲(chǔ)容量為16M位(2 M字節(jié)),工作電壓為2.7 V~3.6 V,采用48腳TSOP封裝或48腳FBGA封裝,16位數(shù)據(jù)寬度,可以以8位(字節(jié)模式)或16位(字模式)數(shù)據(jù)寬度的方式工作。在本系統(tǒng)設(shè)計(jì)過程中,考慮到uclinux操作系統(tǒng)帶應(yīng)用程序的最大容量不會(huì)超過l_7 MB,因此,F(xiàn)LASH采用大小為2MB的FLASH存儲(chǔ)器就可以滿足系統(tǒng)的需求。DRAM采用的是HY57V641620,用于設(shè)置程序堆棧和存放各種變量。HY57V641620存儲(chǔ)容量為4組x 16 M位(8 M字節(jié)),工作電壓為3.3 V,根據(jù)系統(tǒng)需求,可構(gòu)建16位或32位的SDRAM存儲(chǔ)器系統(tǒng)。但為充分發(fā)揮32位CPU的數(shù)據(jù)處理能力,系統(tǒng)采用32位的SDRAM存儲(chǔ)器系統(tǒng),共16 MB的SDRAM空間。
Flash 是一種創(chuàng)作工具,設(shè)計(jì)人員和開發(fā)人員可使用它來創(chuàng)建演示文稿、應(yīng)用程序和其它允許用戶交互的內(nèi)容。Flash 可以包含簡單的動(dòng)畫、視頻內(nèi)容、復(fù)雜演示文稿和應(yīng)用程序以及介于它們之間的任何內(nèi)容。通常,使用 Flash 創(chuàng)作的各個(gè)內(nèi)容單元稱為應(yīng)用程序,即使它們可能只是很簡單的動(dòng)畫。您也可以通過添加圖片、聲音、視頻和特殊效果,構(gòu)建包含豐富媒體的 Flash 應(yīng)用程序。Flash 特別適用于創(chuàng)建通過 Internet 提供的內(nèi)容,因?yàn)樗奈募浅P lash 是通過廣泛使用矢量圖形做到這一點(diǎn)的。與位圖圖形相比,矢量圖形需要的內(nèi)存和存儲(chǔ)空間小很多,因?yàn)樗鼈兪且詳?shù)學(xué)公式而不是大型數(shù)據(jù)集來表示的。位圖圖形之所以更大,是因?yàn)閳D像中的每個(gè)像素都需要一組單獨(dú)的數(shù)據(jù)來表示。
1.2 網(wǎng)絡(luò)接口模塊設(shè)計(jì)
系統(tǒng)的網(wǎng)絡(luò)接口芯片采用的是RTL8019AS。它是一款10 M以太網(wǎng)芯片,能夠?yàn)橄到y(tǒng)提供以太網(wǎng)的接入。RTL8019AS數(shù)據(jù)總線寬度為16位。因此設(shè)計(jì)中將IOCS16B引腳上拉。RTL8Ol9AS內(nèi)部集成了兩塊RAM。一塊16 kB,地址為0x4000—7FFF;一塊32字節(jié),地址為0x0000一Ox001F。16 k的RAM用作收發(fā)數(shù)據(jù)的緩沖區(qū),一般將0x4000—0x46FF作為發(fā)送緩沖區(qū),0x4700—0x7FFF作為接收緩沖區(qū)。RTL8019的中斷輸出INTO與S3C44BOX的EINTO端相連。
I0S2上拉,其它懸空,當(dāng)RTL8019AS的引腳懸空時(shí),引腳的輸入狀態(tài)為低電平,里面有一個(gè)100 kΩ的下拉電阻,因此IOSO,IOSI,I0S3均為低電平,芯片的I/0基址是200H。片選AEN接處理器的nGCS5也就是Bank5,因此RTL8019在系統(tǒng)中分配的地址范圍為:0xoa000000—0xoc000000。由于數(shù)據(jù)總線寬度為16位,處理器的A1連接8019的SA0,20F001是網(wǎng)卡濾波器,內(nèi)部包含一對(duì)低通濾波器和一對(duì)隔離變壓器。
2 系統(tǒng)軟件平臺(tái)的構(gòu)建
uclinux表示micro-control linux.即“微控制器領(lǐng)域中的Linux系統(tǒng)”,是Lineo公司的主打產(chǎn)品,同時(shí)也是開放源碼的嵌入式Linux的典范之作。uCLinux主要是針對(duì)目標(biāo)處理器沒有存儲(chǔ)管理單元MMU(Memory Management Unit)的嵌入式系統(tǒng)而設(shè)計(jì)的。它已經(jīng)被成功地移植到了很多平臺(tái)上。由于沒有MMU,其多任務(wù)的實(shí)現(xiàn)需要一定技巧。
uclinux經(jīng)過對(duì)標(biāo)準(zhǔn)Linux內(nèi)核的改動(dòng),形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,但uclinux仍然保留了Linux的大多數(shù)的優(yōu)點(diǎn):穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、對(duì)各種文件系統(tǒng)完備的支持,以及標(biāo)準(zhǔn)豐富的API,適合遠(yuǎn)程配置模塊的建立。
系統(tǒng)采用GNU的套件arm-elf工具鏈:arm—elf-tools-20030314.sh建立對(duì)uclinux進(jìn)行編譯的交叉環(huán)境。將arm-elf-tools-20030314.sh拷貝到根目錄,運(yùn)行安裝:
sh arm-elf-tools-20030314.sh即可對(duì)uclinux進(jìn)行編譯和移植了
交叉編譯成功后,在uClinux-dist/目錄下產(chǎn)生images目錄,其中包含的3個(gè)二進(jìn)制文件文件image.ram,image.rom和romfs.img。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件是實(shí)現(xiàn)遠(yuǎn)程配置模塊的核心,首先編寫bootloader的過程,以優(yōu)化系統(tǒng)在開發(fā)板上的執(zhí)行,然后實(shí)現(xiàn)了應(yīng)用程序以及設(shè)備驅(qū)動(dòng)程序的開發(fā)。應(yīng)用程序的開發(fā)主要是基于Socket應(yīng)用程序的編寫。
3.1 Bootloader的設(shè)計(jì)
Bootloader的設(shè)計(jì)主要是為了在系統(tǒng)上電復(fù)位之后,將系統(tǒng)程序執(zhí)行跳轉(zhuǎn)到系統(tǒng)內(nèi)核的執(zhí)行地點(diǎn)。針對(duì)這個(gè)主要的功能,必須對(duì)微處理器的內(nèi)核以及其他部分進(jìn)行初始化以及其它的功能擴(kuò)展,Bootloader它主要完成了以下幾個(gè)過程:
(1)建立中斷向量表
(2)初始化各種處理器模式
(3)引入特殊變量
(4)初始化memory
(5)代碼復(fù)制
完成了系統(tǒng)的硬件初始化過程后,將CPU使用權(quán)交給了操作系統(tǒng),從而完成了。Bootloader的最終目的。
3.2設(shè)備驅(qū)動(dòng)程序開發(fā)
Linux對(duì)設(shè)備的操作Linux系統(tǒng)訪問設(shè)備就像訪問文件—樣。例如打開設(shè)備使用系統(tǒng)調(diào)用open(),關(guān)閉設(shè)備使用系統(tǒng)。
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19142瀏覽量
305978 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7513瀏覽量
88161 -
微處理器
+關(guān)注
關(guān)注
11文章
2264瀏覽量
82532
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論