久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: S3C2440的Nand Flash控制器 [打印本頁]

作者: 51黑tt    時間: 2016-3-6 13:07
標題: S3C2440的Nand Flash控制器
s3c2440內部集成有內部SRAM(steppingstone),當選擇從nand flash啟動的時候,nand flash的前4k代碼將會自動copy到內部SRAM中后運行。
一、nand flash控制器的特性
1、支持讀/寫/編程NAND FLASH內存。
2、系統復位后nand flash的前4k代碼自動copy到內部SRAM,copy完成后從SRAM啟動,此時內部sram被映射為nGCS0。(當OM[1:0]=00時,使能NAND FLASH 啟動模式)
3、支持硬件ECC校驗。
4、系統啟動后內部SRAM可以用做其他的用途。

二、操作nand flash的方法
1、設置nand flash配置寄存器NFCONF
2、向命令寄存器NFCMMD寫入操作命令;
3、向地址寄存器NFADDR寫入地址;
4、讀/寫數據前要讀取狀態寄存器NFSTAT來判斷nand flash是否處于忙狀態。

三、ECC(錯誤糾錯碼)
nand flash控制器包括4個ECC模塊,兩個模塊(一個用于data[7:0],一個用于data[15:8])可以被用于2048bytes為上限的ECC檢驗碼的生成,另外兩個模塊(一個用于data[7:0],一個用于data[15:8])可以被用于16bytes為上限的ECC檢驗碼的生成。

四、NAND FLASH特殊功能寄存器的詳細說明----見手冊
NFCONF    0x4E000000 NAND flash configuration
NFCONT    0x4E000004 NAND flash control
NFCMD      0x4E000008 NAND flash command
NFADDR    0x4E00000C NAND flash address
NFDATA     0x4E000010 NAND flash data
NFMECC0 0x4E000014 NAND flash main area ECC0/1
NFMECC1 0x4E000018 NAND flash main area ECC2/3
NFSECC    0x4E00001C NAND flash spare area ECC
NFSTAT     0x4E000020 NAND flash operation status
NFESTAT0 0x4E000024 NAND flash ECC status for I/O[7:0]
NFESTAT1 0x4E000028 NAND flash ECC status for I/O[15:8]
NFMECC0 0x4E00002C NAND flash main area ECC0 status
NFMECC1 0x4E000030 NAND flash main area ECC1 status
NFSECC    0x4E000034 NAND flash spare area ECC status
NFSBLK     0x4E000038 NAND flash start block address
NFEBLK     0x4E00003C NAND flash end block address
五、讀nand flash一般步驟
1.設置NFCONF和NFCONT
NFCONF = 0x300      ;設置時序
NFCONT = (1<<4)|(1<<1)|(1<<0)
2.發出片選信號.
NFCONT&= ~(1<<11)
NFCMMD = 0xff; reset命令,第一次操作nand flash前,通常復位nand flash

3.發出讀命令
NFCMMD = 0 (讀命令)

4.發出地址信號

volatile unsigned char *p = (volatile unsigned char *)&s3c2440nand->NFADDR;
   
    *p = addr & 0xff;
    *p = (addr>>9) & 0xff;
    *p = (addr>>17) & 0xff;
    *p = (addr>>25) & 0xff;
5.循環查詢NFSTAT位0,直到它等于1。

6.連續讀NFDATA寄存器512次,得到一頁數據(512字節)

7.禁止nand flash的片選信號
NFCONT|= (1<<1)

例子:
void nand_read(unsigned char *buf, unsigned long start_addr, int size)
{
    int i, j;
   
    if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) {
        return ;    /* 地址或長度不對齊 */
    }
   /* 選中芯片 */
    nand_select_chip();
    for(i=start_addr; i < (start_addr + size);) {
      /* 發出READ0命令 */
      write_cmd(0);
      write_addr(i); /* Write Address */
      wait_idle();
      for(j=0; j < NAND_SECTOR_SIZE; j++, i++) {
          *buf = read_data();
          buf++;
      }
    }
   
    nand_deselect_chip(); /* 取消片選信號 */
   
    return ;
}






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品久久免费视频 | 亚洲免费专区 | 中文字幕麻豆 | 精品三级在线观看 | 三级网站在线播放 | 亚洲国产中文字幕 | 亚洲成人免费观看 | 真人毛片免费看 | 日韩一级免费 | 一区二区黄色 | 国产九九精品 | 黄色免费在线视频 | 久久久久亚洲 | 激情小说在线视频 | 丝袜美腿一区二区三区 | 久久久精品一区二区三区 | 美国一级大黄一片免费中文 | 天天搞天天搞 | 日韩精品一 | 日本黄色免费 | 青青草国产成人av片免费 | 欧美成人一区二区三区 | 在线观看日韩视频 | 超碰福利在线 | 成人动态视频 | 久久精品一区二区三区四区 | 国产激情一区 | 久久久久综合 | 日韩精品三区 | 成人免费在线观看网站 | 天堂在线观看av | 波多野结衣之双调教hd | heyzo在线观看| 91性高潮久久久久久久久 | 国产一级黄色大片 | 中文字幕97 | 福利网站在线观看 | www.亚洲视频 | 日韩三级视频 | 成年人在线播放 | 亚洲免费在线观看 |