您现在的位置是:首页 > 正文

QNX中mmap_device_io() 和 mmap_device_memory()函数

2024-04-01 01:39:08阅读 2

来源于QNX IDE

1、mmap_device_io() 

1)函数定义 

#include <stdint.h>
#include <sys/mman.h>

uintptr_t mmap_device_io( size_t len,
                          uint64_t io );

len

The number of bytes of device I/O memory that you want to access. It can't be 0.

-----要访问的设备I/O内存的字节数。不能为0

io

The address of the area that you want to access.

2)返回值:

A handle to the device's I/O memory, or MAP_DEVICE_FAILED if an error occurs (errno is set).

-----返回映射设备I/O内存的句柄,如果发生错误(设置了errno)。

3)函数说明

The mmap_device_io() function maps len bytes of device I/O memory at io and makes it accessible via the in*() and out*() functions in <hw/inout.h>.

2、mmap_device_memory()

1)函数定义

#include <sys/mman.h>

void * mmap_device_memory( void * addr,
                           size_t len,
                           int prot,
                           int flags,
                           uint64_t physical );

addr

NULL, or a pointer to where you want to map the object in the calling process's address space.

len

The number of bytes you want to map into the caller's address space. It can't be 0.

prot

The access capabilities that you want to use for the memory region being mapped.

flags

Specifies further information about handling the mapped region。

physical

The physical address of the memory to map into the caller's address space.

2)返回值

The address of the mapped-in object, or MAP_FAILED if an error occurs (errno is set).

3)函数说明

The mmap_device_memory() function maps len bytes of a device's physical memory address into the caller's address space at the location returned by mmap_device_memory().

网站文章

  • 位运算的一些技巧

    位运算的一些技巧

    1. 两个数异或:相当于每一位相加,而不考虑进位; 2. 两个数相与,并左移一位:相当于求得进位; 3. 一个数n与其减一的数相与(即n&amp;(n-1)),等价于去掉最左边的1 如n=10二进制为1010,n&amp;(n-1)=1000 应用以上技巧可以解决一些算法题: 下面是剑指offer上的一道题: class Solution { public: int Add(int n...

    2024-04-01 01:39:00
  • 互联互通、电子病历、智慧服务、智慧管理、公立医院绩效考核的5项测评

    互联互通、电子病历、智慧服务、智慧管理、公立医院绩效考核的5项测评

    互联互通、电子病历、智慧服务、智慧管理、公立医院绩效考核的5项测评

    2024-04-01 01:38:35
  • C++ 笔记 shared_from_this()的原理与使用

    shared_from_this()的用途 enable_shared_from_this是一个模板类,定义于头文件,其原型为: template&lt; class T &gt; class enable_shared_from_this; std::enable_shared_from_this 能让一个对象(假设其名为 t ,且已被一个 st...

    2024-04-01 01:38:27
  • Windows10登录不上Micrsoft账户,解决办法

    Windows10登录不上Micrsoft账户,解决办法

    原文 1 问题 在登录Windows账户时,出现了以下错误: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GJIEFAWY-1641732153972)(https:...

    2024-04-01 01:38:16
  • HTML分组标签fieldset

    HTML分组标签fieldset

    1、标签: 2、作用: (1)可以将表单内的相关元素分组; (2)会在相关表单元素周围绘制边框; 3、语法 组的名字 内容 4、案例 个人信息: 姓名:

    2024-04-01 01:37:51
  • oracle adf取不到表中的控件,[导入]使用oracle adf 的一点经验(一)

    目前使用oracle adf 框架 10.1.3 版本1 adf 的源代码 (交付给apache 的)2. 其实我把 adf-faces-api adf-faces-impl.jar 用jad 解码出...

    2024-04-01 01:37:43
  • 关于不修改android:debuggable进行动态调试

    有时候手动修改导致程序再打包失败其他的方法又局限性,所以采用buildprop插件来完成https://repo.xposed.info/module/com.jecelyin.buildprop转载于:https://blog.51cto.com/13652962/2358860...

    2024-04-01 01:37:36
  • vue 路由守卫 解析

    路由跳转有两种方式1、方式,2、编程式跳转。路由守卫控制路由在符合某种条件下才能完成跳转。后置,在跳转之后判断,不管符不符合,路由都会跳转,浏览器地址栏都会变化,多用于跳转后修改页签标题等。中,亦或者...

    2024-04-01 01:37:11
  • k8s集群搭建EFK日志平台:ElasticSearch + Fluentd + Kibana

    k8s集群搭建EFK日志平台:ElasticSearch + Fluentd + Kibana

    k8s集群 kubectl get node EFK简介 ElasticSearch:分布式存储检索引擎,用来搜索、存储日志 Fluentd:日志采集 Kibana:读取es中数据进行可视化web界面...

    2024-04-01 01:37:04
  • 图解Spring三级缓存的工作流程

    图解Spring三级缓存的工作流程

    4. 把不完整(只初始化了,属性并没有填充) 目标Bean注入到目标Bean的子Bean中(我艹,好绕)三级缓存是为了解决循环依赖注入的问题,而且是单例的情况,其他情况是用不到三级缓存的。3. 再从三...

    2024-04-01 01:36:33