Linux在应用层读写寄存器的方法

可以通过操作/dev/mem设备文件,以及mmap函数,将寄存器的地址映射到用户空间,直接在应用层对寄存器进行操作,示例如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#define AUDIO_REG_BASE (0xB800E000)
#define MAP_SIZE 0xFF
static int dev_fd;
int main(int argc, char **argv)
{
dev_fd = open("/dev/mem", O_RDWR | O_NDELAY);
if (dev_fd < 0)
{
printf("open(/dev/mem) failed.");
return 0;
}
unsigned char *map_base=(unsigned char * )mmap(NULL, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, dev_fd, AUDIO_REG_BASE );
printf("%x \n", *(volatile unsigned int *)(map_base+0x38)); //打印该寄存器地址的value
#if 1 // LINE IN
printf("%x \n", *(volatile unsigned int *)(map_base+0x30));
*(volatile unsigned int *)(map_base + 0x30) = 0x208121bc; //修改该寄存器地址的value
usleep(1000000);
*(volatile unsigned int *)(map_base + 0x30) &= ~(0x1<<16); //修改该寄存器地址的value
usleep(1000000);
printf("%x \n", *(volatile unsigned int *)(map_base+0x30));
#endif
if(dev_fd)
close(dev_fd);
munmap(map_base,MAP_SIZE);//解除映射关系
return 0;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Linux
# 读写寄存器
# 读写寄存器的方法
# 读写寄存器实现代码
# 虚拟机中使用linux系启用文件共享之后的文件存在的位置方法
# linux下开启php的sockets扩展支持实例
# Linux 连续执行多条命令的方法(推荐)
# Linux 添加永久静态路由的方法
# Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
# linux下用cron定时执行任务的方法
# Linux下安装mysql-5.6.4 的图文教程
# linux正确重启MySQL的方法
# Linux tar 压缩打包命令使用方法
# 应用层
# 可以通过
# 希望能
# 谢谢大家
# sys
# mman
# define
# unistd
# time
# fcntl
# AUDIO_REG_BASE
# static
# int
# dev_fd
# MAP_SIZE
# xFF
# stdlib
# mem
# mmap
# pre
相关文章:
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何通过远程VPS快速搭建个人网站?
青岛网站建设如何选择本地服务器?
网站图片在线制作软件,怎么在图片上做链接?
建站之星官网登录失败?如何快速解决?
建站之星安装失败:服务器环境不兼容?
大连 网站制作,大连天途有线官网?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
视频网站制作教程,怎么样制作优酷网的小视频?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
建站主机核心功能解析:服务器选择与网站搭建流程指南
电商网站制作价格怎么算,网上拍卖流程以及规则?
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何在搬瓦工VPS快速搭建网站?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
实例解析angularjs的filter过滤器
建站之家VIP精选网站模板与SEO优化教程整合指南
音乐网站服务器如何优化API响应速度?
如何选择服务器才能高效搭建专属网站?
建站之星如何快速生成多端适配网站?
深入理解Android中的xmlns:tools属性
免费视频制作网站,更新又快又好的免费电影网站?
建站主机空间推荐 高性价比配置与快速部署方案解析
电商网站制作公司有哪些,1688网是什么意思?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
如何打造高效商业网站?建站目的决定转化率
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
海南网站制作公司有哪些,海口网是哪家的?
如何选择CMS系统实现快速建站与SEO优化?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何通过虚拟机搭建网站?详细步骤解析
个人摄影网站制作流程,摄影爱好者都去什么网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
建站之星导航配置指南:自助建站与SEO优化全解析
如何在云虚拟主机上快速搭建个人网站?
如何在服务器上三步完成建站并提升流量?
,柠檬视频怎样兑换vip?
如何快速使用云服务器搭建个人网站?
如何在香港免费服务器上快速搭建网站?
建站之星安装后如何自定义网站颜色与字体?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何在云服务器上快速搭建个人网站?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何做静态网页,sublimetext3.0制作静态网页?
小型网站制作HTML,*游戏网站怎么搭建?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何在阿里云虚拟主机上快速搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。