码迷,mamicode.com
首页 > 其他好文 > 详细

K9F2G08U0C NAND FLASH 的地址分析

时间:2017-04-29 12:00:48      阅读:1228      评论:0      收藏:0      [点我收藏+]

标签:物理地址   --   log   技术   地址   signed   nfa   for   lock   

  1. 计算物理地址

    K9F2G08U0C是samsun出产的FLASH,容量为256MB

    页--Page: (2K + 64)Byte
    块--Block: (128K + 4K)Byte

    128 / 2 = 64 Page

    256M / 128 K  = 2048 Block

    现在以第25块的30页中的24byte为例

       物理地址 = 块大小×块号 + 页大小×页号 + 页内地址

                 = 128K x 25 + 2K x 30 + 24B

                 = 3338264(10)

                 = 32F018 (16)

    1. 如图技术分享
    2. 计算我们需要发出的地址
    3. 每页有2048字节,需要2^11 = 2048,既需要11位地址

      每块有64页,需要2^6 = 64,既需要6位地址

      芯片一共有2048块,需要需要2^11 = 2048,既需要11位地址

       

      0x32F018 = 0011 0010 1111 0000 0001 1000

      由上图可得到实际发送的数据

      1st: A7  - A0  =  0001 1000

      2nd:A10  - A8  =  0000 0000  (A11没用到)

      3rd:A19  - A12 =  0010 1111

      4th:A27  - A20 =  0000 0011

      5th:A28 = 0000 0000

      注:*L 需要写入0

       

      Code:

      int i;

      volatile unsigned char *p = (volatile unsigned char *)&s3c2440_nand->NFADDR;

      *p = addr & 0xFF;        // 1

      for(i=0; i<10; i++);

      *p = (addr>>12) & 0xFF;  // 2

      for(i=0; i<10; i++);

      *p = (addr>>12) & 0xFF;  // 3

      for(i=0; i<10; i++);

      *p = (addr>>20) & 0xFF;  // 4

      for(i=0; i<10; i++);

      *p = (addr>>28) & 0xFF;  // 5

          for(i=0; i<10; i++);

K9F2G08U0C NAND FLASH 的地址分析

标签:物理地址   --   log   技术   地址   signed   nfa   for   lock   

原文地址:http://www.cnblogs.com/yddeboke/p/6784632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!