关于linux下访问寄存器

在嵌入式Linux系统中,由于内核空间和用户空间的隔离,不能直接访问寄存器。为了保证可移植性和稳定性,Linux使用ioremap函数进行内存重定向,使得驱动程序能在用户空间与内核空间间安全操作寄存器。用户空间应用程序则无法直接访问真实内存地址,只能在虚拟内存中运行。
摘要由CSDN通过智能技术生成

由于linux体系特殊的结构,于是我们在嵌入式linux中是不能够直接访问寄存器的。比如,我们在51中,想让一个IO口输出高电平,只需要让相应的寄存器置1就可以,但是,linux为了保证其程序的可移植性,以及程序的稳定性,不允许这样直接访问寄存器。

那么,linux中怎样才能够像我们平常操作单片机一样来操作寄存器呢?

这就必须涉及到linux的体系结构了。linux把内存划分为所谓的“内核空间”和“用户空间“,在用户空间中,内存是虚拟出来的,每一个进程都有一个单独的虚拟内存(什么叫做进程呢?简单的一个理解方式,就是我们平常所写的一个main函数)&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值