ok6410学习笔记(1.arm常见的各种地址总结)

         学习ok6410有一段时间了,总是对其中各中地址的来源比较模糊一会0x500080000  一会0x71000000的,最近自己又看了看手册,找了找资料,并和2440对比学习了下,总结如下。PS:资料有6410,2440中英文手册,ok6410原理图,mini2440原理图,韦东山第一期视频中的存储控制器,mmu,nandflash,和看原理图视频。

        mini2440地址映射问题:

          mini2440地址中norflash,DM9000,SRAM是跟寄存器一样的统一编址(主要与nandflash不同,nandflash是按照时序把地址发送出去的,不是地址线发送的,不是被存储器控制器操作的,是被nandflash控制器控制的,所以与他们不同)。

          如上图:如果是nor启动,norflash的起始地址是0x00000000,中间打叉的块是没有连接的,也就是无效的地址,DM9000的起始地址是从块4开始的0x20000000,SDRAM的起始地址是从块6开始的0x30000000.他们是通过nGCS0,nGCS1......起到片选的作用的(如下图)。nand启动只是把0x00000000变成了片内SRAM,把nandflash前4k拷贝过去而已。紧接着就是0x50000000开始的寄存器地址,后面还有一段映射的虚拟地址(主要跟uboot中的mmu内存管理单元初始化,和内核移植有关)。

          

          ok6410地址映射问题(资料太少大部分是我的理解,如有错误希望大神指导下):

    

         

        6410的内存映射分5个部分:

        1.引导镜像区(0x0000_0000~0x07FF_FFFF)

        2.内存存储区(0x0800_0000~0x0FFF_FFFF)如果是内部ROM启动0x0800_0000~0x0BFF_FFFF映射到引导镜像区,如果是nandflash启动 则将内部SRAM的地址0x0C00_0000~0x0FFF_FFFF映射到引导镜像区。

        3.静态存储区(0x1000_0000~0x3FFF_FFFF)bank0什么都没接,bank1接了DM9000,bank2,3的片选接在nandflash(但只是接在nandflashcon上的片选,没有统一编址),bank4,5应控制cf控制器但ok6410没接。

       4.动态存储器(0x4000_0000~0x6FFF_FFFF)DDR接口,ok6410用的是SRAM端口2地址为0x50000000,详讲下面ok6410原理图。

       5.外设(即寄存器地址0x7000_0000~0x7FFF_FFFF)记得韦东山在讲6410裸机的时候说裸机启动代码最先做的事情应该是把外设的基地址赋值给协处理器cp15此时赋的值就是0x70000000       PS:启动内核后ok6410的0x50000000映射到虚拟地址0c0000000。

       

     

         

          

       还剩下几个地址没有理解,待日后理解了再补充上来,有dnw里面设置的地址,有ads里面的两个地址,有uboot和内核里面分区地址。



  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值