创龙科技
直播中

罗茵

7年用户 192经验值
私信 关注

starterware boot读取nand page和sy***ios中读取nand page时间差异很大



starterware boot 读取 nand page 与 sy***ios 中 读取nand page 时间差异很大
你好:

遇到的问题为:

starterware boot 读取 nand page  大小528字节  耗时为4-5ms;

sy***ios
中 读取nand page  大小528字节,耗时为1.5ms;

代码实现是一样的;时间差异很大的原因不知道是为什么?

DSTATUS NAND_initialize (void)

{

      DWORD i, j, w, /*d[2],*/ bb, bf, flag = SIZE_PAGE/4;

      BYTE ww;

      WORD stat;

      static DWORD *d;


      nand_init();

      flush_block();

      d = BlockBuff[0];

      /* Create physical block status table */

      for (bb = 0, i = N_RES_BLKS; i < N_TOTAL_BLKS; i++) {

           read_page(d, i * N_SIZE_BLK, 1, N_GET_BLOCK_BUFF);   /* Read two DWORDs of the spare area of 1st page */

           bf = 0;

           ww = ~(d[flag] & 0xff);   /* Check bad block mark */

           if (ww & (ww - 1)) {    /* Bad block (2 or more zeros) */

                 bb++; bf = 1;

           } else {

                 w = d[flag+1];  /* Get block status */

              if (w != 0xFFFFFFFF && (WORD)w != (WORD)(~w >> 16)) {     /* Bit error in the status? */

                      read_page(d, i * N_SIZE_BLK + 1, 1, N_GET_BLOCK_BUFF);      /* Read 2nd page */

                      w = d[flag+1];  /* Get block status */

                    if (w != 0xFFFFFFFF && (WORD)w != (WORD)(~w >> 16)) {

                          bb++; bf = 1;

                      }

                 }

           }

           stat = bf ? 0xFFFE : (WORD)w;

           BlockStat


[/tr]

回帖(1)

冷静

2019-8-20 07:45:31
RE: starterware boot 读取 nand page 与 sy***ios 中 读取nand page 时间差

这是我的配置如~~~~~

举报

更多回帖

发帖
×
20
完善资料,
赚取积分