linux物理地址到虚拟地址映射(相对完整的驱动编写)
单片机和裸机中操作硬件是怎么操作的

与上面不同,在linux上想要操作硬件,需要先把物理地址转换成虚拟地址。因为使能MMU


2个函数

用起来非常方便
注意:物理地址只能被映射一次,多次映射会失败
如何查看哪些物理地址被映射过 cat /proc/iomem

实践

编写驱动层代码
采用上一次的代码,加上控制蜂鸣器即可




编写应用层代码

一定要有这样框图
框架学习法,构建知识体系,再像精卫填海那样一步步填满
linux物理地址到虚拟地址映射(相对完整的驱动编写)的更多相关文章
- linux下c通过虚拟地址映射读写文件的代码
在代码过程中中,把开发过程中比较好的一些代码片段记录起来,如下的代码内容是关于 linux下c通过虚拟地址映射读写文件的代码,应该对小伙伴有些好处.#include<stdio.h>#in ...
- Linux内存管理之地址映射
写在前面:由于地址映射涉及到各种寄存器的设置访问,Linux对于不同体系结构处理器的地址映射采用不同的方法,例如对于i386及后来的32位的Intel的处理器在页式映射时采用的是2级页表映射,而对于I ...
- windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机
首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...
- Linux Centos 通过虚拟用户访问FTP的配置
Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...
- Linux 下 FTP虚拟用户的使用配置
Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...
- 虚拟机Linux与本地虚拟网卡配置---NAT链接方式
虚拟机Linux与本地虚拟网卡配置---NAT链接方式 **********这是我亲自尝试多次实践出来的结果,不是复制粘贴************************* 首先进行初始化,这样避免有 ...
- linux下配置虚拟域名
linux下配置虚拟域名 1.hosts文件位置! /etc/hosts 2.增加一行 127.0.0.1 xxxxx 3.修改apache中的vhosts vi /etc/httpd/extra/h ...
- Linux下Apache虚拟主机配置
Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...
- 细说Linux下的虚拟主机那些事儿
细说Linux下的虚拟主机那些事儿 我们知道Linux操作系统是目前在服务器上应用广泛的操作系统.在Linux操作系统下的虚拟主机是不是就是我们常说的Linux虚拟主机呢?其实从专业方面说并不是,它是 ...
- 【JDK】Linux安装源码包JDK完整步骤
[JDK]Linux安装源码包JDK完整步骤 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version ...
随机推荐
- JS输出formData的全部值
//第一种 for (var value of formData.values()) { console.log(value); } //第二种 for (var [a, b] of formData ...
- 开始学python不知该怎么学?Python基础教程(第2版) 免费下载
Python基础教程(第2版)pdf高清版免费下载 解压码:n0nl 内容简介 · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容 ...
- mysql使用经验
1.mysql建表主键,如果整数,用bigint而不用int 2.执行sql加最大执行时间 /*+ max_execution_time(60000)*/ 3.sql中避免offset过大,查询不出来
- 只要引用这个js就会页面加载完毕自动弹出提示框
IE浏览器不支持ES6语法, 此代码为翻译并修改过的,使用的bable网站翻译 (function (win) { // 生成遮罩和弹出层,返回弹出层DOM对象 var createMsgBox = ...
- CentOS6.8安装docker教程
在VMware新安装CentOS6.8系统 CentOS6.8可在阿里镜像库下载: https://mirrors.aliyun.com/centos-vault/6.8/isos/x86_64/ 在 ...
- leecode70. 爬楼梯
70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到 ...
- fread()函数读文本文件重复读最后一个字符问题【已解决】
对文本文件读写时遇到一个问题,fread()读所有内容的时候文件的最后一个字符总会重复读,我的代码如下: FILE* file = nullptr; fopen_s(&file, " ...
- Flink1.11 解决 No ExecutorFactory found to execute the application
在使用Flink1.11的时候写了个本地Test 运行的时候发现报错了,具体如下 Exception in thread "main" java.lang.IllegalState ...
- shell_Day06
sed命令 Linux文本处理三剑客 之 sed sed stream EDite 作为行编辑器,对文本进行编辑(以行为单位进行编辑) 注意:sed编辑文件,却不改变原文件: sed的工作原理: 指定 ...
- 智能插座的制作(esp01,继电器,arduino)
前言: 现在小学信息技术的教材中已经出现了物联网的内容,比如泰山版小学信息技术教材第六册第二单元第一课就是用手机控制智能插座.就起了自己动手制作一个的心思,通过到网上浏览制作智能插座的文章后,有了基本 ...