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 ...
随机推荐
- @Resource 与@Autowired 区别
@Resource与@Autowired两个的作用是相同的,很多人因为个人习惯选择用的不同,但是他们两个本质上还有有一定的区别的,可以参考区别来选择具体用哪一个: @Autowired与@Resour ...
- 解决CORS跨域问题
首先创建一个实现Filter的cors过滤器 import lombok.extern.slf4j.Slf4j; import org.springframework.context.Applicat ...
- 报错:cannot import name ‘escape’ from ‘jinja2’
jinja2版本问题导致 解决方法: 降低版本即可 pip3 install Jinja2==3.0.3 -U pip3 install werkzeug==2.0.3 -U jinja2介绍 jin ...
- window下快速启动mysql,bat脚本
cls @echo off:设置窗口字体颜色color 0a :设置窗口标题TITLE MySQL管理程序 call :checkAdmin goto menu:菜单:menuclsecho. ech ...
- 关于sqlsugar二级缓存
二级缓存 1.优点 (1).维护方便:SqlSugar的 二级缓存 支持单表和多表的 CRUD 自动缓存更新 ,减少了复杂的缓存KEY维护操作 (2).使用方便:可以直接在Queryable.With ...
- CentOS 7.9 环境下添加拥有 sudo 权限的用户
# 以root权限执行以下操作 # 添加用户 useradd vbird # 为用户设置密码 passwd vbird # Changing password for user vbird. # Ne ...
- 使用docker 创建6节点redis 集群 RedisCluster redis集群
1.RedisCluster 特点(3主节点redis 集群 及6节点集群) 1.无中心节点,客户端与redis 节点直连,不需要中间代理,(有选举机制 master个数需要奇数个) 2.数据可以被 ...
- REST开发(1)
REST风格 REST简介 Rest(Representational State Transfer),表现形式状态转换(访问网络资源的形式) 传统风格资源描述形式 http://localhost/ ...
- uniapp打包h5
1. 找到项目中 manifest.json --- H5 配置---运行时的基础路径, 将路径修改为 相对路径(./ ) 注意: 1.运行的基础路径系统默认打包路径为绝对路径,如不改,打包时找不到对 ...
- Java基础——IO基础知识
字节流可以处理任何类型的数据(图片.MP3.视频等文件),字符流只能处理字符类型(文本文件)的数据.