本帖最后由 lr2131 于 2013-3-24 19:38 编辑
简单的说,mmu是内存管理单元,基本的工作是映射内存物理地址和逻辑地址的。
像wince和linux这些支持虚拟内存管理和文件系统的OS,在硬件上是需要mmu支持。
UCOS2/UCOS3和UClinux这些操作系统都是不需要mmu。
mmu可以说是简单嵌入式和复杂嵌入式的一个分水岭。它直接影响到应用程序的编程模型。
mmu和内存管理是ARM中比较复杂的部分,根本不能说是ARM的基础,而且,在很多没有mmu的mcu上,这个什么内存管理是基础的说法完全是扯淡。即使是在有mmu的系统上,一般上了OS后,os会管理好这个部分的,你要做的是用好它,不是要你去设计它。即使你有能力,你是不是要没事也要自己去写个linux出来呢。现有的那么多人用,那么多人在维护,你要花大把的精力去做这个事吗,当然,学习原理是可以理解的。
|