zoukankan      html  css  js  c++  java
  • iTOP4412设备驱动学习五--地址和存储的概念

    资料来源于迅为视频学习教程。

    本节主要是学习使用datasheet。

    对宏定义的操作就是对寄存器的操作,上层程序员不需要关心具体的物理或虚拟地址

    1. 4412中的物理地址:

            CPU内部存储器register,eMMc,TF卡

        MMU:内存管理单元

           概念:中央处理器中用来管理虚拟存储器、物理存储器的控制电路,同时负责虚拟地址映射为物理地址。

           基本思路:数据和堆栈的大小总和可以超过物理存储器的大小,操作系统把当前使用的部分留在内存中,其他的保留在硬盘上。

           地址范围:32位的最大为232=4G

       虚拟地址

           分页机制:空间被划分为页的单位,相应的物理地址空间被划分为页帧。页的大小必须一样,页帧的大小页也必须一样

    便于理解的说法:

        虚拟地址:用于解决告诉MPU和低速存储器之间通信的一种技术

                         虚拟地址的范围和内存的物理地址重合

    其他地址概念:

        Base Address:基地址,某一类寄存器的起始地址。寄存器+偏移地址=物理地址

        Offset:偏移地址。

        GPIO基地址:0x106E_0000+偏移地址

        总线地址:

        I2C地址:I2C总线用于区分I2C设备的地址,例如I2C总线上挂载了设备camera,声卡,eeprom等。

                      MPU如何区分I2C是和哪个设备通信:通过I2C的地址

    2. 存储

        SCP datesheet:第三节:存储相关的(Memory Map)地址列表

        ROM:只读存储器,慢,***程序不能在ROM中运行***

              如:(flash rom)硬盘、TF卡、U盘等

        RAM:随机访问存储器,掉电丢失数据,有时候特指内存

        Cache:高速缓存

        SFR:特殊寄存器

    SCP中使用的存储: 

        iROM:存储三星的一段固化的代码,用于启动uboot

        iRAM:iROM中不能运行程序,三星固化代码在iRAM中运行的

       iCache:CPU和内存中间通信的。速度: CPU > i-Cache > RAM > ROM

        SFR:特殊寄存器,GPIO, 中断,总线在这里面配置

        Memory of Dynamic Memory Controller:动态内存控制器。即平时所说的内存

                            Linux内核中函数ioremap的返回值是一个地址,这个地址一定在这个范围区间:0x4000_0000 ~ 0xA000_0000。

                            1G的内存:0x4000_0000~0x8000_0000

                            内存是有物理地址的。

    以上

  • 相关阅读:
    「luogu2414」[NOI2011]阿狸的打字机
    【模板】KMP算法,AC自动机
    「luogu2336」[SCOI2012]喵星球上的点名
    「luogu2463」[SDOI2008]Sandy的卡片
    【模板】后缀数组
    「luogu1972」 [SDOI2009]HH的项链
    北师大部分题解
    D:Sequence Swapping
    Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
    点双连通分量F. Simple Cycles Edges
  • 原文地址:https://www.cnblogs.com/nanzh/p/12466316.html
Copyright © 2011-2022 走看看