• S3C2440的RAM和启动过程!


    2440自带的RAM是:16K Instruction cache + 16K data cache + 4K Boot Internal SRAM。但是我们能用到的只有4K Boot Internal SRAM;2440不自带ROM。

    2440的启动方式有两种,norflash和nandflash,怎么选择?

    OM[1:0] = 01,10为norflash启动,分别对应16bit和32bit,OM[1:0] = 00为nandflash启动。

    两种启动方式:先贴张图。

    可以观察到,s3c2440总共有8个内存banks,6个内存bank可以当作ROM或者SRAM来使用,留下的2个bank除了当作ROM 或者SRAM,还可以用SDRAM,7个bank的起始地址是固定的 还有一个灵活的bank的内存地址,并且bank大小也可以改变。

    Norflash启动:选择从NOR FLASH启动,上电,nGCS0控制的bank0直接连接了nor flash,S3C2440芯片就会去运行nor flash上地址为0x0处的指令。读nor flash可以像读内存那样读,但是要用额外的命令向nor flash写入数据。如果nor flash像内存那样读和那样写,那nor flash完全可以被内存所替代。

    Nandflash启动:CPU上点后,首先会通过几个引脚的电平确定Nandflash的类型,从而读取flash,cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行。

    大概流程:

    懒惰不会让你一下子跌到 但会在不知不觉中减少你的收获; 勤奋也不会让你一夜成功 但会在不知不觉中积累你的成果 越努力,越幸运。
  • 相关阅读:
    tcp socket http(复制的)
    cas php
    占用字节
    网络基础
    Mbps MB/S Mb/s
    path_info和get_full_path()的区别
    rbac权限管理
    ORM _meta
    Django SQLite3的使用
    url的分发
  • 原文地址:https://www.cnblogs.com/Rainingday/p/7695957.html
Copyright © 2020-2023  润新知