TINY4412 驱动开发学习笔记整理---内存管理篇

来源:互联网 发布:如何减腓肠肌 知乎 编辑:程序博客网 时间:2024/05/01 11:36

Exyons 4412内存管理

1)、RAM 随机访问存储器

        (1)、SRAM 静态RAM(RAM 内容不需要刷新,数据会一直保存)

        (2)、DRAM 动态RAM(RAM 内容需要动态刷新,要不然过一段时间,RAM里面的数据就会丢失)

                 (a)、SDRAM 同步DRAM,(同步的意思是对RAM的读写需要同步时钟)

                 (b)、DDRAM 双倍速率同步DRAM,(同步的意思是对RAM的读写需要同步时钟)

2)、ROM 只读存储器

        (1)、PROM 一次性可编程ROM

        (2)、EPROM 紫外线檫除ROM

        (3)、EEPROM 电檫除ROM

3)、Exyons 4412 内存映射

        0x0000_0000 0x0001_0000 64 KB iROM

        0x0200_0000 0x0201_0000 64 KB iROM (mirror of 0x0 to 0x10000)

        0x0202_0000 0x0206_0000 256 KB iRAM

        0x0300_0000 0x0302_0000 128 KB Data memory or general purpose of Samsung Reconfigurable Processor SRP.

        0x0302_0000 0x0303_0000 64 KB I-cache or general purpose of SRP.

        0x0303_0000 0x0303_9000 36 KB Configuration memory (write only) of SRP

        0x0381_0000 0x0383_0000 –     AudioSS's SFR region

        0x0400_0000 0x0500_0000 16 MB Bank0 of Static Read Only Memory Controller (SMC)(16-bit only)

        0x0500_0000 0x0600_0000 16 MB Bank1 of SMC

        0x0600_0000 0x0700_0000 16 MB Bank2 of SMC

        0x0700_0000 0x0800_0000 16 MB Bank3 of SMC

        0x0800_0000 0x0C00_0000 64 MB Reserved

        0x0C00_0000 0x0CD0_0000 – Reserved

        0x0CE0_0000 0x0D00_0000 – SFR region of Nand Flash Controller (NFCON)

        0x1000_0000 0x1400_0000 – SFR region

        0x4000_0000 0xA000_0000 1.5 GB Memory of Dynamic Memory Controller (DMC)-0

        0xA000_0000 0x0000_0000 1.5 GB Memory of DMC-1

 

Exyons 4412 启动顺序

         1)Exyons 4412 包含64Kb(IROM)与256Kb SRAM(iRAM) 内部内存

         2)Exyons 4412 支持的启动设备

            (1)NAND FLASH

            (2)SD/MMC 

            (3)eMMC 

            (4)USB

        3)当系统重启(reset),程序会从iROM开始执行

        4)boot loader包含两个阶段

            (1)IROM中包含简单的初始化soc程序

            (2)First bootloader(BL1):程序存储在外部内存中

            (3)Second bootloader(BL2):针对与特定平台,并存储在外部内存设备中

        5)Exyons 4412启动过程

        <Exyons 4412 datasheet>pg91

            (1)当系统重启时会从iROM中执行,用来初始化最基本的系统功能,如时钟和堆栈

            (2)iROM会从引导设备中加载BL1镜像到internal 256 KB SRAM,引导设备的选择由Operating Mode (OM) pins

            (3)BL1阶段初始化系统时钟,DRAM控制器,在加载bootloader到DRAM中

            (4)引导完成之后,会跳转到bootloader执行

 Notes:   pc程序计数器     

    (1)用于存放下一条指令的地址

    (2)为了保证程序能够连续执行,cpu使用pc来完成

    (3)程序开始执行之前,pc的值固定为0地址(reset之后)

    (4)pc的内容是指令的地址,将指令所在的内存单元地址送入pc

    (5)在执行指令时,cpu将自动修改pc的内容,增加的大小为指令的长度,即pc总是指向下一条指令的地址



后记:低层驱动的开发常常需要我们直接操作内存,那么就要了解4412是如何管理内存的,一起加油喽!

0 0
原创粉丝点击