在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)
|