天嵌 ARM开发社区

 找回密码
 注册
查看: 3269|回复: 1

u—boot代码分析问题.

[复制链接]
minuscule_long 发表于 2011-8-14 14:21:45 | 显示全部楼层 |阅读模式
  1. int CopyCode2Ram(unsigned long start_addr, unsigned char *buf, int size)
  2. {
  3.         unsigned int *pdwDest;
  4.         unsigned int *pdwSrc;
  5.         int i;

  6.         if (bBootFrmNORFlash())
  7.         {
  8.                 pdwDest = (unsigned int *)buf;
  9.                 pdwSrc  = (unsigned int *)start_addr;
  10.                 /* 从 NOR Flash启动 */
  11.                 for (i = 0; i < size / 4; i++)
  12.                 {
  13.                         pdwDest[i] = pdwSrc[i];
  14.                 }
  15.                 return 0;
  16.         }
  17.         else
  18.         {
  19.                 /* 初始化NAND Flash  */
  20.                 nand_init_ll();

  21.                 /* 从 NAND Flash启动 */
  22.                 if (NF_ReadID() == 0x76 )
  23.                         nand_read_ll(buf, start_addr, (size + NAND_BLOCK_MASK)&~(NAND_BLOCK_MASK));
  24.                 else
  25.                         nand_read_ll_lp(buf, start_addr, (size + NAND_BLOCK_MASK_LP)&~(NAND_BLOCK_MASK_LP));
  26.                 return 0;
  27.         }
  28. }
复制代码
其中的(size + NAND_BLOCK_MASK_LP)&~(NAND_BLOCK_MASK_LP)应该怎么理解?求高手解答!thank you!
embedsky_lhh 发表于 2012-5-2 21:04:57 | 显示全部楼层
这个是让读取的长度是nand页的整数倍,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-16 20:35 , Processed in 2.045643 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表