嵌入式Web访问时的内存丢失问题
在Boa运行过程中,用户请求初始Lo-gin页面时,系统能正常响应操作。当用户输入正确的Login信息,要实现页面跳转时,PC机上的浏览器里面不能正确浏览,提示错误:“502 bad gate-way The CGI was notCGI/1.1 compliant”。由于运行的是CGI程序,通过调试和查看错误日志,发现系统停留在步骤⑤~⑦间。在排除CGI程序错误后,通过串口调试终端打印出的错误信息发现:在执行CGI程序时,内核申请内存时出错,提示申请的内存块不能得到,即内存丢失。本文引用地址:https://www.eepw.com.cn/article/152276.htm
3 系统内存丢失分析
3.1 uClinux的内存管理
uClinux不能使用处理器的虚拟内存管理技术,它仍然采用存储器的分页管理。系统启动时对存储器分页,加载应用程序对程序分页加载。由于没有MMU管理,所以uClinux采用实存储器管理。uClinux系统对内存的访问是直接的(它对地址的访问不经MMU,而是直接送到地址线上输出),所有程序访问的地址是物理地址。那些比物理内存还大的程序将无法执行。
评论