我正在将代码从Linux迁移到Vxworks。代码要求打开物理/主内存,然后使用mmap将物理内存映射到虚拟内存。
在Linux中,主内存由
fd = open("/dev/mem", O_RDONLY);请让我知道如何在Vxworks中完成这一任务。
提前感谢
发布于 2014-08-07 07:42:46
这取决于您迁移的代码将运行的编程环境。
对于内核模式,它要容易得多,因为通常您可以在只读模式下访问系统内存中的任何地方,只要它的内存区域被映射到页面表中。在您的代码中不需要特殊的API来访问内存。
对于用户模式(也称为实时进程,只能从VxWorks 6.0开始使用),事情有点复杂。您需要编写一对代码块,其中一个在内核模式下操作,另一个在用户模式下操作。请参阅VxWorks源代码中的注释块来获取代码示例@ vxworks-6.9/target/usr/src/os/mm/devMemLib.c (以VxWorks 6.9为例)。
https://stackoverflow.com/questions/25159554
复制相似问题