打印

求助:uClinux内存分配错误

[复制链接]
1779|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bigpeon|  楼主 | 2008-3-18 11:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是新手,最近买了S3C44b0的开发板在学习,把自己的程序加到Romfs里后烧写到flash,
命令提示符下启动程序出现下面的提示:
/> my_test
Allocation of length 1768456 from process 28 failed
Buffer memory: 568kB
Cache memory: 488kB
Free pages: 2832kB ( 0kB HighMem)
Zone:DMA  freepages: 0kB
Zone:Normal freepages: 2832kB
Zone:HighMem freepages: 0kB
( Active: 204, inactive: 60, free: 708 )
= 0kB)0*4kB 0*8kB 1*16kB 0*32kB 0*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB = 2832kB)= 0kB)
Unable to allocate RAM for process text/data, errno 12munmap of non-mmaped memory by process 28 (my_test): 0c78a000
my_test: Invalid argument

开发板配备的RAM是 8M,而我的程序里全用了全局的数组,占用空间2M不到,应该不会超出限制,为什么还会出错呢?请各位高手指点,万分感激!

相关帖子

沙发
阿南| | 2008-3-18 15:41 | 只看该作者

如果楼主当心是由于程序太大引起的错误,可以先用个小的测

使用特权

评论回复
板凳
bigpeon|  楼主 | 2008-3-19 14:02 | 只看该作者

分配1M以下,结果运行就成功了

搜了下,好像是说默认允许的分配内存不能大于1M,
可以到slab.c里去改cache_sizes数组来支持更大的内存。
我先试着少申请一些内存,降到1M以下,结果运行就成功了。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

15

帖子

0

粉丝