【问题标题】:VxWorks: Access Main memory RegionVxWorks:访问主内存区域
【发布时间】:2014-08-07 15:42:46
【问题描述】:

我正在将代码从 Linux 迁移到 Vxworks。该代码需要打开物理/主内存,然后使用 mmap 将物理内存映射到虚拟内存。

在 Linux 中,主存由以下方式访问

fd = open("/dev/mem", O_RDONLY);

能否请您告诉我如何在 Vxworks 中实现这一点。

提前致谢

【问题讨论】:

    标签: ram vxworks


    【解决方案1】:

    这取决于您迁移的代码将运行的编程环境。

    对于内核模式,这要容易得多,因为通常您可以在只读模式下访问系统内存中的任何地方,只要它的内存区域映射到页表中即可。您的代码中不需要特殊的 API 即可访问内存。

    对于用户模式(也称为实时进程,仅从 VxWorks 6.0 开始可用),事情有点复杂。您需要编写一对代码块,一个在内核模式下运行,另一个在用户模式下运行。代码示例请参考VxWorks源码中的注释块@vxworks-6.9/target/usr/src/os/mm/devMemLib.c(以VxWorks 6.9为例)。

    【讨论】:

    • 代码在用户模式下运行.. 感谢您的信息
    猜你喜欢
    • 1970-01-01
    • 2012-03-20
    • 2021-04-18
    • 2017-08-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    相关资源
    最近更新 更多