fengc234 发表于 2012-8-20 21:22:52

nandflash在代码搬移时判断地址或长度不对齐--疑问

/* 读函数 用于把nand flash中代码复制到sdram中*/
void nand_read(unsigned char *buf, unsigned long start_addr, int size)
{
    int i, j;

    if ((start_addr & NAND_BLOCK_MASK_LP) || (size & NAND_BLOCK_MASK_LP)) {
      return ;    /* 地址或长度不对齐 */
为什么可以判断“地址或长度不对齐”?

imust511 发表于 2012-12-21 10:42:51

因为nand的读取最小单位是Page,所以起始地址必须是Page的首地址,长度必须是页的整数倍。你取几个典型地址 按位与 一下,就知道为什么能实现检测地址或长度不对齐了
页: [1]
查看完整版本: nandflash在代码搬移时判断地址或长度不对齐--疑问