全网整合营销服务商

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

免费咨询热线: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 


相关文章: 官网建站费用明细查询_企业建站套餐价格及收费标准指南  如何通过远程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小时内与您取得联系。