linux用户空间寄存器,在Linux用户空间中访问硬件寄存器
我想写Linux用户空间中OMAP3530上的硬件寄存器.请找到下面的代码. Mmap返回错误:
内存映射失败.错误-1
mmap:权限被拒绝
#include
#include
#include
#include
#include
#include
#define BASE_ADDRESS 0x48050000
int main()
{
int mem;
unsigned int *value;
void *ptr;
/* Open /dev/mem */
if ((mem = open ("/dev/mem", O_RDONLY | O_SYNC)) == -1)
fprintf(stderr, "Cannot open /dev/mem
"), exit(1);
ptr = mmap (0, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, mem, BASE_ADDRESS);
if(ptr == (void *) -1) {
printf("Memory map failed. error %i
", ptr);
perror("mmap");
}
value = (unsigned int*)(ptr + 0x4BC+((1-1)*0x90)+(0*0x04));
*value = 479*799*3-4;
printf("value = %i", value);
value = (unsigned int*)(ptr + 0x4C4+((-1)*0x90));
*value = 1;
printf("value = %i", value);
value = (unsigned int*)(ptr + 0x4C8+((-1)*0x90));
*value = 1;
printf("value = %i", value);
return 0;
}
linux用户空间寄存器,在Linux用户空间中访问硬件寄存器相关推荐
- 通过mem函数在MicroPython中访问模块寄存器
简 介: 通过mem函数直接访问MCU内部的寄存器,可以完成一些在原来的MicroPython中内核没有实现的模块.通过测试可以看到,通过mem访问GPIO并没有明显增加访问的速度.使用mem访问CR ...
- Linux 应用程序 嵌汇编,Linux下C语言嵌汇编
Using Assembly Language in Linux. Intel和AT&T汇编语法差异: 1.前缀: Intel汇编寄存器和立即数无需前缀.后者寄存器前缀为%,立即数前缀为$. ...
- linux和window时间不一致,linux时间与Windows时间不一致的解决
转载至http://goodluck1982.blog.sohu.com/138950694.html 一.首先要弄清几个概念: 1. "系统时间"与"硬件时间" ...
- WINCE6.0隐藏文件夹和应用程序访问物理寄存器
********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...
- Linux内核源码分析—从用户空间复制数据到内核空间
Linux内核源码分析-从用户空间复制数据到内核空间 本文主要参考<深入理解Linux内核>,结合2.6.11.1版的内核代码,分析从用户空间复制数据到内核空间函数. 1.不描述内核同步. ...
- 【Linux 内核】Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 )
文章目录 一.Linux 内核体系架构 二.内核态与用户态切换 ( 系统调用层 ) 三.体系结构抽象层 一.Linux 内核体系架构 Linux 内核最初的源码不足一万行 , 当前的 Linux 内核 ...
- linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户
如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...
- linux 内核空间 sy,在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysf...
级别: 初级 燚 杨 (), 计算机科学硕士 2006 年 2 月 16 日 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数.模块参数 ...
- linux里创建表空间和用户名,linux下oracle的启动和创建表空间用户
1.进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle --"切换到oracle用户& ...
最新文章
- 指针的底层原理与使用
- 阿里巴巴笔试题-马尔科夫(HMM)的特征
- python语言标号_Python 编码为什么那么蛋疼?
- Kali Linux安装谷歌输入法
- 听说你们想学做品牌Gif动画海报?
- SpringBoot+MySQL+MyBatis+Shiro+AdminLTE
- 实验九——基本数据类型存储及应用总结
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波
- svd medium_我们刚刚放弃了Medium博客。 您可能也应该这样做。
- arcgis如何打开tif_实例|ArcGiS导出的dxf,在CASS中如何变身?
- 装饰者模式 php,php装饰者模式简单应用案例分析
- Gartner:VPT技术原理 ——如何确定网络攻击面上的风险优先级
- EasyUi入门教程01
- 北京遇上西雅图之不二情书
- TeamViewer14检测为商业用途最优解
- arduino教学:红外遥控车
- 【布局优化】基于粒子群求解物流选址matlab源码
- 链接服务器“(null)“的 OLE DB 访问接口 “SQLNCLI10“ 返回了消息 “客户端无法建立
- Minor GC和Full GC有什么区别?
- 磁盘存储管理-----操作系统
热门文章
- PHP数组之间的比较,PHP 数组之间的比较方法:
- python字符串字面量有哪四种定义方式_python中字符串连接的四种方式
- 一篇文章搞定java序列化机制
- 分层架构、六边形架构、CQRS架构模式解读
- 对于一组给定的叶子结点_高糊图片可以做什么?Goodfellow等人用它生成一组合理图像...
- 3-34Pytorch与nn库
- 使用爬虫刷blog访问量 随机代理IP 随机user_agent
- Python网络爬虫使用代理proxy
- idea修改回默认字体,设置 IntelliJ Idea 的中英文字体
- python第五章课后作业_python 入门到实践第五章课后练习