Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21499
  • 博文数量: 11
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-27 16:59
文章分类

全部博文(11)

文章存档

2010年(11)

我的朋友

分类: 嵌入式

2010-07-12 16:16:34

一、2440启动方式
    通过芯片的引脚OM[0:1]来确定是nor boot还是nand boot。当为nand boot时,通过硬件将nand的前4K代码拷贝到内部的4K RAM(0x4000_0000),然后在4k RAM里执行代码。
    要注意的是,这4K代码的读取是不会进行ECC校验的,所以需要保证nand中前4K代码没有错误。
    另外,硬件对nand的配置识别也是通过引脚实现的,摘自数据手册中的说明如下:
PIN CONFIGURATION
OM[1:0] = 00: Enable NAND flash memory boot
NCON: NAND flash memory selection(Normal / Advance)
0: Normal NAND flash(256Words/512Bytes page size, 3/4 address cycle)
1: Advance NAND flash(1KWords/2KBytes page size, 4/5 address cycle)
GPG13: NAND flash memory page capacitance selection
0: Page=256Words(NCON = 0) or Page=1KWords(NCON = 1)
1: Page=512Bytes(NCON = 0) or Page=2KBytes(NCON = 1)
GPG14: NAND flash memory address cycle selection
0: 3 address cycle(NCON = 0) or 4 address cycle(NCON = 1)
1: 4 address cycle(NCON = 0) or 5 address cycle(NCON = 1)
GPG15: NAND flash memory bus width selection
0: 8-bit bus width
1: 16-bit bus width
硬件上的配置要参考实际nand flash属性。目前来看,大多数的nand flash都是2KB/page的了,512B/page的比较少。
二、对Flash的操作
    对flash的操作遵循基本的步骤:命令->地址->数据
1.写NFCONF和NFCONT寄存器配置flash参数;
2.写NFCMD;
3.写NFADDR;
4.检测NFSTAT;
5.读/写NFDATA。
 
阅读(492) | 评论(0) | 转发(0) |
0

上一篇:C语言的inline

下一篇:没有了

给主人留下些什么吧!~~