在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux應用層操作寄存器

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-26 16:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

應用層操作寄存器

驅動中操作寄存器,需要先進行映射將物理地址轉為虛擬地址。

但如果想在應用層中操作寄存器,也是可以實現的。

應用層中只需打開/dev/mem設備節(jié)點,然后用mmap映射寄存器地址就可以訪問了。

例如,應用層讀取物理地址為0x40000000的值:

#include < stdio.h >
#include < stdlib.h >
#include < time.h >
#include < unistd.h >
#include < fcntl.h >
#include < unistd.h >
#include < sys/mman.h >

#define MAP_SIZE 0x80000
#define base 0x40000000

int main(int argc, char **argv)
{
  int fd = open("/dev/mem",O_RDWR|O_NDELAY);
    if (fd < 0)
    {
        printf("open /dev/mem error!n");
        return -1;
  }
    
    void *map_base = mmap(NULL,MAP_SIZE,PROT_READ|PROT_WRITE,MAP_SHARED,fd,base);
    if (map_base == MAP_FAILED)
    return -1;
    
    printf("%x n",*(volatile unsigned int*)(map_base));

    close(fd);
    munmap(map_base,MAP_SIZE);
    
  return 0;
}

注意,內核必須將CONFIG_STRICT_DEVMEM=y配置選項打開才有/dev/mem節(jié)點

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5430

    瀏覽量

    123989
  • 內核
    +關注

    關注

    3

    文章

    1415

    瀏覽量

    41259
  • Linux
    +關注

    關注

    87

    文章

    11497

    瀏覽量

    213280
  • 應用層
    +關注

    關注

    0

    文章

    47

    瀏覽量

    11684
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    寄存器是什么?怎么操作寄存器點亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發(fā)組成。在集成電路設計中,寄存器可分為電路內部使用的寄存器和充當內外部接口的寄存器這兩
    的頭像 發(fā)表于 07-21 16:59 ?4553次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么<b class='flag-5'>操作</b><b class='flag-5'>寄存器</b>點亮LED燈?

    嵌入式linux驅動對gpio的基本操作

    ;amp;amp;gt;&amp;amp;gt;&amp;amp;gt;應用編寫(閃爍燈)。目標板是iTOP4412。CPU為 Exynos4412。代碼代碼部分包括 驅動代碼對GPIO寄存器的直接操作。然后是
    發(fā)表于 11-05 07:59

    如何在嵌入式linux應用層操作gpio口

    嵌入式linux文件io方式操作gpio口示例在嵌入式linux應用層操作gpio口,如果懶得寫驅動或者懶得翻
    發(fā)表于 12-16 06:19

    寄存器操作方法_對寄存器操作的通用方法總結

    本文主要詳解寄存器操作方法以及對寄存器操作的通用方法總結,具體的跟隨小編來了解一下。
    的頭像 發(fā)表于 05-22 15:53 ?2.4w次閱讀

    寄存器變量

    C語言中使用關鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會被存放在CPU的寄存器中,每當需要使用它們時,CPU就可以直接使用,而無須再通過控制從內存中獲取。由于
    發(fā)表于 06-03 10:13 ?2600次閱讀

    linux spi應用層驅動以及回環(huán)測試代碼

    linux spi應用層驅動以及回環(huán)測試代碼
    發(fā)表于 10-22 15:47 ?2次下載

    嵌入式Linux驅動 GPIO操作 包括驅動和應用層程序對驅動進行測試

    ;amp;amp;amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;gt;應用編寫(閃爍燈)。目標板是iTOP4412。CPU為 Exynos4412。代碼代碼部分包括 驅動代碼對GPIO寄存器的直接
    發(fā)表于 11-02 14:36 ?10次下載
    嵌入式<b class='flag-5'>Linux</b>驅動 GPIO<b class='flag-5'>操作</b> 包括驅動和<b class='flag-5'>應用層</b>程序對驅動進行測試

    C語言:寄存器操作

    C語言:寄存器操作
    發(fā)表于 01-13 12:56 ?6次下載
    C語言:<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    STM32的寄存器操作

    STM32的寄存器操作在使用STM32單片機編程時一般都用ST給的庫函數編程,庫函數編程的底層就是對單片機寄存器操作,庫函數就是一系列寄存器
    發(fā)表于 01-13 15:43 ?19次下載
    STM32的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    簡述RAL寄存器模型基礎

    RAL(Register Abstract Layer,寄存器抽象),通常也叫寄存器模型,顧名思義就是對寄存器這個部件的建模。本文要介紹的內容,包括對UVM
    的頭像 發(fā)表于 02-14 16:55 ?3112次閱讀
    簡述RAL<b class='flag-5'>寄存器</b>模型基礎

    RAL寄存器模型操作圖鑒

    寄存器模型操作,指的是通過寄存器模型對RTL中寄存器進行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發(fā)表于 05-17 09:01 ?1348次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>圖鑒

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通過寄存器模型對RTL中寄存器進行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發(fā)表于 07-12 09:37 ?1374次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南

    Linux驅動操作寄存器

    ,第四個參數是映射的大小。 驅動中操作: #define?OFFSET??0x60?//某個寄存器的偏移地址 static?int?my_probe(struct?platform_device
    的頭像 發(fā)表于 09-26 16:34 ?1151次閱讀

    如何在shell中操作寄存器

    shell 中操作寄存器可以使用 devmem 命令. devmem 命令其實就是上述應用層操作寄存器生成的可執(zhí)行文件,只不過busybox
    的頭像 發(fā)表于 09-26 16:39 ?1436次閱讀

    Linux應用層操作寄存器

    --- > [*] /dev/mem virtual device support Linux應用層操作寄存器 除了直接使用devmem,我們也可以在
    的頭像 發(fā)表于 10-08 15:16 ?1543次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>應用層</b><b class='flag-5'>操作</b><b class='flag-5'>寄存器</b>
    主站蜘蛛池模板: 超人碰碰碰人人成碰人 | 手机看片日韩1024 | 天天靠天天擦天天摸 | 天天干天天色天天干 | 四虎影院免费观看 | 五月天激激婷婷大综合丁香 | 最新日本免费一区二区三区中文 | 97影院理论午夜论不卡 | 国产老师的丝袜在线看 | 综合网 色天使 | 不卡一区在线观看 | 男女交性视频播放 视频 视频 | 国产理论视频在线观看 | 精品二区 | 怡红院亚洲怡红院首页 | 午夜高清免费在线观看 | 美女视频黄a全部免费看小说 | 97夜夜澡人人爽人人喊一欧美 | 中文字幕一区二区视频 | 俄罗斯久久 | 手机看片国产免费久久网 | 欧美黄色片网站 | 色综合综合色综合色综合 | 色.www| 男女爱爱福利 | 国产拍拍拍免费视频网站 | 一级片影院 | 簧片视频在线观看 | 玖玖爱这里只有精品 | 色婷婷激婷婷深爱五月老司机 | 天天干伊人 | 欧美色图综合网 | 国产精品亚洲一区二区三区在线播放 | 婷婷丁香九月 | www.99在线 | 免费a网站| 国产欧美网站 | 欧美高h | 美女牲交视频一级毛片 | 99久久无色码中文字幕 | 日韩中文视频 |