我正在将代码从Linux迁移到Vxworks。该代码需要打开物理/主内存,然后使用mmap将物理内存映射到虚拟内存。
在Linux中,主存储器由
访问fd = open("/dev/mem", O_RDONLY);
请告诉我如何在Vxworks中完成此操作。
提前致谢
答案 0 :(得分:1)
这取决于您迁移的代码将在哪个编程环境中运行。
对于内核模式,通常只要在页表中映射其内存区域,就可以以只读模式访问系统内存中的任何位置。您的代码中不需要特殊的API来访问内存。
对于用户模式(又名实时流程,仅从VxWorks 6.0开始提供),事情有点复杂。您需要编写一对代码块,其中一个在内核模式下运行,另一个在用户模式下运行。请参阅VxWorks源代码中的注释块以获取代码示例@ vxworks-6.9 / target / usr / src / os / mm / devMemLib.c(以VxWorks 6.9为例)。