首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

S3C2440与SDRAM NorFlash NandFlash连线分析(3)

S3C2440与SDRAM NorFlash NandFlash连线分析(3)

说明:

  1 步发送列地址,既选中一页512BYTE中的一个字节。512byte需要9bit来选择,这里只用了A0 -A7,原因是把一页分成了2部分,每部分256 字节。通过发送的读命令字来确定是读的前256 字节还是后256 字节。

  当要读取的起始地址(Column Address)在0~255 内时我们用00h 命令,

  当读取的起始地址是在256~511 时,则使用01h 命令。

  一个块有32 页,用A9-A13 5位来选择一个块中的某个页。

  总共有4096 个块,用A14-A25 12位来选择一个块。

  K9F1208 总共有64Mbyte,需要A0-A25 26个地址位。

  
  例如:要读NAND FLASH 的第5000字节开始的内容。

  5000分解成列地址和行地址。

  Column_address = 5000%512 = 392
  因为column_address>255,所以用01h 命令读

  Page_address = (5000>>9) = 9
  发送命令和参数的顺序是:

  NFCMMD = 0x01;从后256 字节开始读

  NFADDR = column_address & 0xff;column_address 的低8 位送到数据线

  NFADDR = page_address & 0xff;发送A9-A16
  NFADDR = (page_address >>8) & 0xff; 发送A17-A24
  NFADDR = (page_address >> 16) & 0xff;发送A25
  上面的NFCMMD,NFADDR.S3C2440 NAND FLASH 控制寄存器。读取的数据会放在NFDATA 中。



四、S3C2440 开发板中SDRAM \NOR \ NAND地址分配
1SDRAM地址分配

  这是S3C2440 的存储器地址分配图,SDARM只能接在BANK6 BANK7

  从分析SDRAM接线图可以看到,SDRAM接的是ngcs6,也就是接在BANK6,因为选择的SDRAM 232Mbyte,总容量是64Mbyte,所以SDRAM 的地址范围是0x3000 0000 --- 0x33ff ffff


2NORFLASH地址分配

  S3C2440启动方式如下:


上文讲述的NORFLASH 16bit 数据位宽,选择从NOR FLASH 启动,所以

  OM0 VDDOM1 VSS

  从分析NOR FLASH 接线的接线图可看到,NOR FLASH接的ngcs0,也就是接在BANK0。因为选择NORFLASH2Mbyte,所以NOR FLASH 的地址范围是0x0000 0000 --- 0x001f ffff

  上电时,程序会从Norflash中启动,ARM直接取Norflash 中的指令运行。
  3NANDFLASH地址分配

  最后来看NANDFLASHNANDFLASH 以页为单位读写,要先命令,再给地

  址,才能读到NAND 的数据。NANDFLASH是接在NANDFLASH 控制器上而不是系统总线上,所以没有在8 BANK 中分配地址。如果S3C2440 被配置成从Nand Flash 启动, S3C2440 Nand Flash 控制器有一个特殊的功能,S3C2440 上电后,Nand Flash 控制器会自动的把Nand Flash 上的前4K 数据搬移到4K 内部SRAM ,系统会从起始地址是0x0000 0000 的内部SRAM 启动。

  程序员需要完成的工作,是把最核心的启动程序放在Nand Flash 的前4K 中,也就是说,你需要编写一个长度小于4K 的引导程序,作用是将主程序拷贝到SDRAM 中运行。由于NandFlash 控制器从NandFlash中搬移到内部RAM的代码是有限的,所以在启动代码的前4K ,我们必须完成S3C2440 的核心配置以及把启动代码(U-BOOT)剩余部分搬到RAM中运行。

  至于将2440 当做单片机玩裸跑程序的时候,就不要做这样的事情,当代码小于4K 的时候,只要下到nand flash 中就会被搬运到内部RAM 中执行了。

  不管是从NOR FLASH启动还是从NANDFLASH 启动,ARM都是从0x0000 0000 地址开始执行的。
继承事业,薪火相传
返回列表