while (!(s3c_hsmmc_readw(HM_NORINTSTS) & 0x2))
return 1;
注意,while 语句后面是没有逗号的,所以只会执行一次,
如果这样,为什么要用 while呢? 改成if不是清淅很多?
在数据手册里 ‘1’ = DATA Transfer complete 0 = no transfer complete
按照这种意思 while 后面应该要有逗号,试过,加上就会死在这一块。
这个uboot编码真是菜鸟水平,
像 check_dma_int(); while(!HS_DMA_END); 这样的句子都能写得出来,
HS_DMA_END 不是这寄存器,不是指针,只一个全局变量,程序也没用中断
如果执行check_dma_int(); 后 HS_DMA_END 不为零,不死在这一块了吗?
令人失望。。。