嵌入式Web訪問時(shí)的內(nèi)存丟失問題
由于嵌入式技術(shù)的發(fā)展,嵌入式Web服務(wù)器軟件越來越大,對硬件的要求也相應(yīng)地提高,但在工業(yè)現(xiàn)場的底層控制中,一般嵌入式系統(tǒng)的硬件配置都不是很高,導(dǎo)致了軟件和硬件的沖突。本文就是對實(shí)際應(yīng)用過程中,偶爾出現(xiàn)的Web頁面訪問出錯(cuò)問題進(jìn)行深入的研究。
1 嵌入式Web在系統(tǒng)中的應(yīng)用
多支點(diǎn)觸發(fā)系統(tǒng)包括以下幾個(gè)模塊:控制臺(tái)模塊、網(wǎng)絡(luò)觸發(fā)源模塊、被觸發(fā)設(shè)備模塊。其中,網(wǎng)絡(luò)觸發(fā)源和被觸發(fā)設(shè)備都是掛載在總線上的,通過現(xiàn)場總線可以將系統(tǒng)各個(gè)節(jié)點(diǎn)相互連接起來以方便管理。嵌入式web就是應(yīng)用于網(wǎng)絡(luò)觸發(fā)源模塊中,它負(fù)責(zé)控制臺(tái)和被觸發(fā)設(shè)備之間的通信。控制臺(tái)通過瀏覽器訪問網(wǎng)絡(luò)觸發(fā)源,在Web頁面上完成相應(yīng)控制操作后,由網(wǎng)絡(luò)觸發(fā)源把操作命令發(fā)送到總線上,被觸發(fā)設(shè)備從總線上接收到命令后,完成相應(yīng)操作。在網(wǎng)絡(luò)觸發(fā)源模塊中,Web服務(wù)器采用的是Boa,嵌入式操作系統(tǒng)采用的是uClinux,處理器采用的是Sam-sung公司的S3C44BO。多支點(diǎn)觸發(fā)系統(tǒng)結(jié)構(gòu)如圖1所示。
2 Boa的運(yùn)行流程及出現(xiàn)的問題
Boa是單任務(wù)的http服務(wù)器,源碼開放,性能高。與傳統(tǒng)的Web服務(wù)器不同,它并不對每個(gè)進(jìn)入服務(wù)器的連接開辟新的進(jìn)程,所有活動(dòng)的http連接都在內(nèi)部進(jìn)行處理,而只為每個(gè)CGI連接啟動(dòng)新進(jìn)程。在已進(jìn)行的測試中,Boa服務(wù)器比其他的Web服務(wù)器要快,所以它應(yīng)用在嵌入式系統(tǒng)中是具有良好前景的。圖2是Boa基本的運(yùn)行流程。
評論