请问在linux环境下中如何操作寄存器?

作者&投稿:枝馨 (若有异议请与网页底部的电邮联系)
~ 在linux下控制硬件和在无操作系统下控制硬件的不同主要在于硬件的地址不一样,在linux下要使用va(虚拟地址),而在无操作系统下可以直接使用硬件的pa(物理地址)。
在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中定义了大部分硬件的物理地址和他们的虚拟地址。
现以gpio
F为例说明,gpio
的pa
基址(ba)为0x56000000,GPFCON
pa为0x56000050
即:可见偏移量为0x50,而我们在看看GPFCON
va
,vaba
:0xf0e0
0000,va:0xf0e0
0050,偏移量为0x50。我们只要知道了vaba,和他的偏移量,我们就能计算出va,从而,就可以对其进行操作了。

如何获取vaba:在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中有定义。
计算机中,分级分层的思想随处可见,这也是计算机上的一个基本的思想和思路。

在LINUX操作系统中分了三级,三级偏移,一级地址的ba为0xf0000000,偏移到第二级,0xf0e0
0000
(以GPIO为例),再次偏移到第三级,0xf0e0
0050
(以GPFCON为例)。现在,就可以在linux
下通过0xf0e0
0050来对GPFCON
寄存器来进行操作了。
源码中的实现过程如下:
#define
S3C2410_ADDR(x)
(0xF0000000+(x))//map.h
//linux下所有硬件一级地址vaba:0xF0000000
#define
S3C2410_VA_GPIO
S3C2410(0X00E00000)//map.h
//GPIO的偏移量0x00E00000,加上这个偏移量后,到了GPIO器件
#define
S3C2410_GPIOREG(x)
((x)+S3C2410_VA_GPIO)
#define
S3C2410_GPFCON
S3C2410_GPIOREG(0x50)//regs-gpio.h
//GPFCON寄存器的偏移量0x50,加上这个偏移量后,到了具体的寄存器,可以对硬件进行操作了
#define
S3C2410_GPFDAT
S3C2410_GPIOREG(0x54)//regs-gpio.h
#define
S3C2410_GPFUP
S3C2410_GPIOREG(0x58)//regs-gpio.h


如何在Linux桌面环境下自动启动程序
我在本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序。GNOME桌面环境 在终端中运行这个命令,启动"Startup Applications Preferences"(启动应用程序首选项)GUI。gnome-session-properties 点击"Add"(添加)按钮,即可配置一个新的启动应用程序。分别往"Name"(名称)栏和"Command"(命令)栏里面...

linux怎样设置环境变量
在Linux系统中,设置环境变量的操作相对简单,主要分为以下几步:首先,打开Linux的终端,通过输入命令行来实现环境变量的设置。具体命令是:export PATH=$PATH:\/usr\/local\/MATLAB\/R2013b\/bin 执行此命令后,你可以通过再次输入echo $PATH来检查是否成功添加了新的路径。如果显示结果中包含了\/usr\/local\/...

在Linux 环境下能用 Homebrew 吗
只是感觉在Linux上用这个意义不大,引用某论坛网友的说法: 在Linux下使用Homebrew意义不大。Homebrew之所以这么设计,很大程度上是为了绕开Mac OS X系统设计中的问题。但是按Linux的标准来看,Homebrew是一个实现的很糟糕的包管理器: 使用用户本身权限编译软件,而非fakeroot编译环境,带来安全隐患 破坏\/...

linux环境变量配置文件在哪linux环境变量配置文件
PATH系统变量可使用控制面板中的“系统”实用程序设置(在Windows上),或在shell的启动文件内设置(在Linux和Solaris上)。运行Windows或MacOSX的计算机通常不需要更改系统PATH变量。WindowsWindows10和Windows8在“搜索”中,搜索以下内容并进行选择:系统(控制面板)单击高级系统设置链接。单击环境变量。在系统...

linux桌面环境哪个比较省资源
5款常用的Linux桌面环境推荐:第一个:KDE 提到Linux桌面环境不得不提到KDE,有人说他是传统桌面之王这一点都不为过;而相比之下,KDE在Linux桌面环境选择上十分占优势。在近几年的Linux Journal评比中,KDE一直蝉联Linux最佳桌面。KDE的开发始于1996年,第一版发布于1998年。应该说KDE的可定制十分高,...

在linux中安装jdk1.8在linux中安装jdk
第二步:新建\/usr\/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到\/usr\/java目录下。第三步:通过以上步骤,jdk1.8就已经全部安装完成了 第四步:配置环境变量:①、使用vim\/etc\/profile编辑profile文件,如下1图所示:②、在\/etc\/profile底部加入如下内容:java_home...

如何在linux下配置AndroidStudio开发环境
到这里,在linux下配置Android Studio开发环境已经结束,可以享受愉快地开发过程了。时间匆忙没来的及截图,全是文字性叙述,谢谢各位朋友坚持读完。关于linux下配置AS有任何问题,请及时与我联系,我们共同探讨。另将文中软件下载地址一并放到这里:1.UbuntuKylin系统 64位,http:\/\/www.ubuntukylin.com\/...

Linux虚拟运行环境:WSL、VMware对比及维护
以性能来说,虚拟机会在虚拟化软件之上运行,效率会有所降低。同时,多个虚拟机在同一个物理机上运行时,会抢占计算资源,导致性能不稳定。但是虚拟机可以提供更好的稳定性和隔离性,适合企业中需要部署多个操作系统的使用者。WSL2和vmware的比较 虽然WSL2和vmware都可以在Windows上运行Linux环境,但它们...

linux下修改文件夹权限提示chmod:更改xx的权限:只读文件系统
在Linux环境下,遇到“chmod:更改xx的权限:只读文件系统”这样的提示时,实际上是由于尝试对只读文件系统进行写操作导致的。要解决这个问题,首先理解文件权限的表示方式。当看到文件权限显示为-r--r--r--时,这意味着文件是只读状态。如果想改变权限,通常的做法是为具有所有权限的文件设置为777。这里的...

查看Linux环境变量linux环境变量查看
linux环境下,用python怎么取得指定用户的环境变量?在执行脚本的时候加sudo,比如你的脚本叫test.py,用sudopythontest.py执行,就可以了,亲测可用 redhat8.2环境变量设置?1.全局的对所有用户都可以的使用的PATH:可以通过修改配置文件:\/etc\/bashrc和\/etc\/profile来时配置,全局的PATH;例如:vi\/etc\/...

北川羌族自治县19882156222: 请问在linux环境下中如何操作寄存器? -
狂苛乐脉: 在linux下控制硬件和在无操作系统下控制硬件的不同主要在于硬件的地址不一样,在linux下要使用va(虚拟地址),而在无操作系统下可以直接使用硬件的pa(物理地址).在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中定义了大部分...

北川羌族自治县19882156222: linux系统下怎么使用git -
狂苛乐脉: git命令是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面.它的操作方法和Norton Commander几乎一样:git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull ...

北川羌族自治县19882156222: 在linux操作系统中怎样读取u盘 -
狂苛乐脉: 1、首先需要把U盘插入Linux电脑,确保U盘指示灯是亮着的进入Linux系统主界面,按Ctrl+Alt+T打开命令窗口. 2、先获取高级用户权限,输入命令:sudo -i,确定后输入高级用户密码. 3、首先使用fdisk -l命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置,本次接入看到U盘的位置是/dev/Sdb4. 4、输入挂载U盘命令:mount /dev/sdb4 /mnt,回车后即挂载U盘成功. 5、继续输入:cd 回车,可以查看U盘下的文件.

北川羌族自治县19882156222: Linux怎样正确复制粘贴文件? -
狂苛乐脉: 一般来说要看操作环境.不同的SHELL操作环境,快截键可能略有不同.0.在KDE/Gnome下: 复制命令:Ctrl + C粘贴命令:Ctrl + V1. 在终端下: 复制命令:Ctrl + Shift + C 组合键. 粘贴命令:Ctrl + Shift + V 组合键.2. 在控制台下: 复制命令:Ctrl + Insert 组合键或用鼠标选中即是复制. 粘贴命令:Shift + Insert 组合键或单击鼠标滚轮即为粘贴.

北川羌族自治县19882156222: linux系统中的export命令是怎么用的啊,还有exportfs是干什么用的? -
狂苛乐脉: exports是设置NFS共享文件的 Linux export命令功能说明:设置或显示环境变量.语 法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量.export可新增,修改或删除环境变量,供后续执行的程...

北川羌族自治县19882156222: 如何在Linux中运行Windows程序? -
狂苛乐脉: 这两种操作系统内部的运行原理什么的是不一样的,需要接口,就像游戏的模拟器那样,在linux上模拟windows的环境,让linux正常运行windows的文件,linux的界面在改一下,gui改成3d的,操作改成简单点的,也是一款不错的系统.

北川羌族自治县19882156222: linux命令是在什么环境下运行的?是怎么操作的? -
狂苛乐脉: linux命令是在shell环境下面来操作的.底层shell,输入相关的命令来调用底层的shell来达到操作文件系统的功能.

北川羌族自治县19882156222: liunx环境下运行一个应用程序怎么操作?求操作命令 -
狂苛乐脉: 比如要执行/tmp下的abc文件,可以直接敲命令:/tmp/abc 也可以cd /tmp 进入到/tmp目录下,执行命令:./abc(注意斜杠前面有个点)

北川羌族自治县19882156222: linux 服务器 怎么操作 -
狂苛乐脉: 这是在终端里面输入命令的. 进入终端的方法有两种: 第一种:点击 第二种:在运行窗口输入konsole 然后再在终端进行命令行操作(就是输入rpm -qa|grep vsftpd等等)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网