S3C2440如何从NAND FLASH中启动

S3C2440可以配置从NOR FLASH中启动,也可以配置成从NAND FLASH中启动,从NORFLASH中启动比较好理解,因为NOR FLASH和RAM一样可以通过总线访问,cpu可以直接执行NORFLASH中的程序,但是CPU不能直接通过总线访问到NAND FLASH中的程序,要从NANDFLASH中启动就要做些工作了。S3C2440的解决办法是在芯片内置了4k的RAM,叫做Steppingstone,在启动代码执行前先将NANDFLASH中的数据自动的复制到Steppingstone中去,然后CPU再从Steppingstone中执行启动代码。
这里就有一个问题,在CPU没有执行任何启动代码之前,CPU是怎么知道NANDFLASH是如何驱动的?大家都知道要驱动某种控制器,必须在该控制器的相关寄存器设置一些参数的,控制器根据相关参数才能驱动外围电路,这需要CPU执行相关代码。但是将NANDFLASH中的数据自动的复制到Steppingstone中这一过程显然是在CPU执行任何代码之前就已经完成了。NANDFLASH控制器是怎么得到相关参数的?
其实,这些参数是通过管脚配置的形式让NANDFLASH控制器得到的,在S3C2440上电后,NANDFLASH控制器通过某些管脚的状态来获取相关参数,再根据这些参数来控制NANDFLASH从中读取4k的内容移动到Steppingstone中去。这些管脚分别是NCON、GPG13、GPG14、GPG15。各管脚的含义如下:
NCON: NAND flash 类型选择低电平:小页FLASH 高电平:大页FLASH GPG13: NAND flash 页容量选择 低电平:一页大小为256字(NCON为低) 或者 一页大小为1K字(NCON 为高) 高电平:一页大小为512字(NCON 为低) 或者 一页大小为2K字节(NCON为高) GPG14: NAND flash 寻址周期 低电平:寻址周期为3(NCON 为低) 或者 寻址周期为4 (NCON 为高)高电平:寻址周期为4(NCON 为低) 或者 寻址周期为5 (NCON 为高) GPG15: NAND flash 总线宽度选择低电平:8位线宽 高电平:16位线宽
最后,要注意在自动将NANDFLASH开始4k的内容移动到Steppingstone的过程中是没有数据校验的,因此NANDFLASH开始4k的内容不能有位错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值