最近论坛有个linux移植stm32 的帖子 ,然后谷歌了一下看到
http://nommu.org/
总结一下:
1.没有mmu的机器将会使用直接使用物理地址,所有程序将使用统一的地址空间
2.所有的应用程序必须编译成完全可重定向,就是动态链接库的编译原理,这样程序就可以被加载到任何地址运行
3.编译阶段必须固定栈区大小还必须要小,不然分配内存会有很大问题
4.内存频繁使用后将产生大量的内存碎片
简单的说多跑两次程序可能就没有足够多的连续空间可以用的了,看来没有mmu跑linux最大的问题还是内存碎片,现在也没什么好的解决方案
必须要外挂的..不然内核都加载不下
还有在普通arm移植一个小应用物理内存占用不是很高,但是虚拟内存占用是比较高的
对应到stm32就是要把所有的虚拟内存占用全部换成物理内存占用,所以对于内存的压力还是很高的
在stm32下64M内存可能都没有arm9下32M内存好用
一周热门 更多>