打印
[嵌入式linux]

关于tekkaman移植的U-boot讨论

[复制链接]
1603|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行。
这里不明白这两个判断的作用是什么?主要是第二个判断。
本人菜鸟,麻烦版主和大虾们帮帮忙。
nand_read.rar (2.73 KB)

相关帖子

沙发
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

粉丝