全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Linux在应用层读写寄存器的方法及实现实例

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 


相关文章: 惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何正确下载安装西数主机建站助手?  建站主机是否等同于虚拟主机?  Android自定义控件实现温度旋转按钮效果  如何用低价快速搭建高质量网站?  如何选择高效便捷的WAP商城建站系统?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  高防服务器如何保障网站安全无虞?  制作网站的公司有哪些,做一个公司网站要多少钱?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何快速上传自定义模板至建站之星?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  建站之星安装后界面空白如何解决?  建站主机选哪家性价比最高?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站之星好吗?新手能否轻松上手建站?  建站之星安装失败:服务器环境不兼容?  兔展官网 在线制作,怎样制作微信请帖?  建站之星安装需要哪些步骤及注意事项?  学校为何禁止电信移动建设网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何高效利用200m空间完成建站?  如何用PHP工具快速搭建高效网站?  如何快速查询域名建站关键信息?  建站VPS配置与SEO优化指南:关键词排名提升策略  建站之星如何通过成品分离优化网站效率?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在局域网内绑定自建网站域名?  如何快速搭建虚拟主机网站?新手必看指南  如何在阿里云高效完成企业建站全流程?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何通过FTP服务器快速搭建网站?  建站与域名管理如何高效结合?  ui设计制作网站有哪些,手机UI设计网址吗?  C++如何使用std::optional?(处理可选值)  如何获取上海专业网站定制建站电话?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  XML的“混合内容”是什么 怎么用DTD或XSD定义  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站之星价格显示格式升级,你的预算足够吗?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  宿州网站制作公司兴策,安徽省低保查询网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何用搬瓦工VPS快速搭建个人网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  教学网站制作软件,学习*后期制作的网站有哪些?  岳西云建站教程与模板下载_一站式快速建站系统操作指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。