[嵌入式linux] 关于tekkaman移植的U-boot讨论

[复制链接]
2100|2
 楼主| zh5202 发表于 2012-11-19 10:44 | 显示全部楼层 |阅读模式
在tekkaman移植的u-boot中的第一阶段的nand_read.c部分实现u-boot拷贝的的代码中,在nand_read_ll函数中(就是汇编调用的那个C语言函数),有如下判断:
if (0) { /* dirty little hack to detect if nand id is misread */
  unsigned short * nid = (unsigned short *)0x31fffff0;
  *nid = nand_id;
}
以上代码在204行;
if ((start_addr & (nand.block_size-1)) || (size & ((nand.block_size-1))))
  return -1; /* invalid alignment */
以上代码在228行。
这里不明白这两个判断的作用是什么?主要是第二个判断。
本人菜鸟,麻烦版主和大虾们帮帮忙。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| zh5202 发表于 2012-11-22 08:45 | 显示全部楼层
怎么没有人来解答呢?
 楼主| zh5202 发表于 2012-11-26 17:56 | 显示全部楼层
搞明白了,第二个判断是防止传入的首地址和大小不是nand flash的页大小的整数倍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Need to harder study!Thank you for everyone had helped me.

5

主题

248

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部