嵌入式Web訪問時的內存丟失問題
在Boa運行過程中,用戶請求初始Lo-gin頁面時,系統(tǒng)能正常響應操作。當用戶輸入正確的Login信息,要實現(xiàn)頁面跳轉時,PC機上的瀏覽器里面不能正確瀏覽,提示錯誤:“502 bad gate-way The CGI was notCGI/1.1 compliant”。由于運行的是CGI程序,通過調試和查看錯誤日志,發(fā)現(xiàn)系統(tǒng)停留在步驟⑤~⑦間。在排除CGI程序錯誤后,通過串口調試終端打印出的錯誤信息發(fā)現(xiàn):在執(zhí)行CGI程序時,內核申請內存時出錯,提示申請的內存塊不能得到,即內存丟失。本文引用地址:http://www.ex-cimer.com/article/152276.htm
3 系統(tǒng)內存丟失分析
3.1 uClinux的內存管理
uClinux不能使用處理器的虛擬內存管理技術,它仍然采用存儲器的分頁管理。系統(tǒng)啟動時對存儲器分頁,加載應用程序對程序分頁加載。由于沒有MMU管理,所以uClinux采用實存儲器管理。uClinux系統(tǒng)對內存的訪問是直接的(它對地址的訪問不經MMU,而是直接送到地址線上輸出),所有程序訪問的地址是物理地址。那些比物理內存還大的程序將無法執(zhí)行。
評論