SylixOS嵌入式操作系统|论坛

标题: 关于移植Sylixos MMU问题 [打印本页]

作者: hx_onepiece    时间: 2016-5-24 10:58
标题: 关于移植Sylixos MMU问题
请问Sylixos目前能在关闭MMU的情况下运行吗,我用的arm920t 虚拟机,将bsp中的mmu初始化屏蔽掉,系统就起不来了呢,求指点

作者: sylixos    时间: 2016-5-26 22:06
arm920t 中断向量表在 0 地址,所以需要 MMU 映射到 RAM 起始地址,第二,有MMU 的机器要用 MMU 否则 cache 不能使用,不然没有页表管理的 cache 设备寄存器也被 cache 了,设备驱动就不能正常工作
作者: hx_onepiece    时间: 2016-5-27 16:40
sylixos 发表于 2016-5-26 22:06
arm920t 中断向量表在 0 地址,所以需要 MMU 映射到 RAM 起始地址,第二,有MMU 的机器要用 MMU 否则 cache ...

谢谢,对于中断向量表的映射理解了,我在bspmap.h中也找到了这个映射关系,对于您后面所说的“没有页表管理的 cache 设备寄存器也被 cache 了”不知道理解的对不对,以下是我的理解,请您帮我看下:
1.一旦cache中记录了设备寄存器地址,以后获取设备寄存器的值的话不是从实际寄存器地址中获取,而是从cache中获取。这样的话,用volatile类型也解决不了这个问题吧,因为volatile只是对编译器有用,告诉编译器要从存储单元中重新取值,但是即使重新取值,处理器也还是从cache中取值。
2.如果采用mmu的分页管理,在对设备寄存器进行地址映射的时候,要设置成关闭cache的(因为能做cache映射是有条件的,很多设备寄存器都不满足这个条件),这样就解决了 1 中出现的问题吧。
3.总结起来就是说利用MMU的页表管理,满足cache映射的区域使用cache功能,否则关闭cache。
不知道想的对不对,请帮我看下,谢谢!
作者: sylixos    时间: 2016-6-7 10:36
你可以申请新的 IDE 了,BSP MMU 初始化部分代码已经经过重新设计
作者: 我爱下载    时间: 2016-6-7 15:27
新的IDE申请多长时间可以审批啊,申请好几天了也没有回应
作者: hx_onepiece    时间: 2016-6-8 11:06
sylixos 发表于 2016-6-7 10:36
你可以申请新的 IDE 了,BSP MMU 初始化部分代码已经经过重新设计

好的,谢谢




欢迎光临 SylixOS嵌入式操作系统|论坛 (https://bbs.sylixos.com/) Powered by Discuz! X3.2