HISI3520DV300 折腾记录(二)之《内存映射、存储(DDRC,FMC)、启动模式分析》

#PS:要转载请注明出处,本人版权所有

#PS:这个只是 《 我自己 》理解,如果和你的

#原则相冲突,请谅解,勿喷

此文分析基于某HISI3520DV300单板以及所带的datasheet

启动模式分析

关于其启动方式有如图说明:
这里写图片描述

解释:支持bootrom和SPI Flash两种启动方式,由BOOTROM_SEL引脚决定。bootrom是海思已经写好的程序烧写在里面,支持和其自身所写的PC软件进行串口通信。

存储模块(DDRC,FMC)

DDRC(hisi3520dv300 支持16bit数据读写)

SDRAM信息:
此板子的SDRAM型号为:k4b2g1646q-bck0
此SDRAM相关信息如图:
这里写图片描述
容量:2Gbit (就是256MByte)
数据宽度:16bit
banks:8
每bank大小:128MBbit

DDRC信息:
连线:
这里写图片描述

地址线分配:
这里写图片描述
DDR_BA:3bit
DDR_R:14bit
DDR_C:10
并且只支持RBC地址映射模式(行地址+bank+列地址+数据宽度)
于是此板子SDRAM:2^(14+3+10+1)=256MB

FMC

NAND信息:
此板子NAND型号为:mx25l256fz2
此型号相关信息为:
这里写图片描述

FMC信息:
这里写图片描述

于是此板子NAND大小为256MBits

内存映射(最重要,所有的一切都基于此)

地址映射图:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

关于0x8000 0000—0xFFFF FFFF此地址空间是分配给SDRAM用的(也就是我们说的内存)
关于0x0000 0000—0x03FF FFFF:
在地址映射时:这64MB指向启动地址空间。
在地址映射取消时:指向片内的16KB 空间。

下文纯属我的“猜测”,因为其提供的文档说明极不详细:
首先关于其Start.S的某段:

normal_start_flow:

        @if running not boot from  spi/nand/ddr ram,
        @we skipping boot_type checking.
        /*
        0x1400_0000:SFC NAND/NOR MEMORY
地址空间
        */
        mov    r0, pc, lsr#24
        cmp    r0, #0x0
        bne    do_clr_remap

check_boot_type:
        ldr     r0, =SYS_CTRL_REG_BASE
        ldr     r0, [r0, #REG_SYSSTAT]
        mov     r6, r0, lsr#4
    and     r6, #0x1
    /*
        此处可能有个错误,按照datasheet应该右移31bit才行
    */
        cmp     r6, #0          @ [4] = 0 FMC /* spi nor | spi nand */
        ldreq   pc, _clr_remap_fmc_entry
     /*
    这里应该永久跳转才对,不然就卡死了。结合下文内容,感觉应该右移31位才对。
*/

    @otherwise, [31]=1 means boot from bootrom, err
    beq bug

文中的REG_SYSSTAT寄存器在datasheet中的说明如下:
这里写图片描述
这里写图片描述
关于“”启动地址空间“这个词语,我猜测是来至于:0x1400 0000—0x14FF FFFF
关于其FMC还有一句话:
这里写图片描述
这部分说:CPU可以直接读取的最大1MB的数据。

所以对于NAND,直接上电时,NAND器件中的16MB被硬件默认映射到0x1400 0000—0x14FF FFFF这个地址(或者换句话说:0x1400 0000—0x14FF FFFF就是NAND器件中起始16MB这时候的地址),且当cpu上电时,根据内存映射寄存器的值,确定默认是开启内存映射的,于是,0x1400 0000—0x14FF FFFF被映射到了0x0000 0000 0x00FF FFFF中,这个时候PC指向0x0000 0000 开始执行指令。也就是前文所说的:b reset

注意:以上关于NAND启动原理,纯属我的猜测,因为它的datasheet文档确实感觉不够详细。


#PS:请尊重原创,不喜勿喷

#PS:要转载请注明出处,本人版权所有.

有问题请留言,看到后我会第一时间回复

猜你喜欢

转载自blog.csdn.net/u011728480/article/details/79499934
dv
今日推荐