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