zxqnm 发表于 2015-8-26 19:02:48

新人刷开发板遇到特殊问题,文件系统大于200M刷不进去,前来论坛求助

我自己用了官方光盘中的demo进行烧写,是没有问题的,从串口也看到相关信息,整个过程都很顺利。

但我将文件系统换成了我另外编译的一款以后(Tizen,yaffs文件大约800多M),怎么都刷不进去,每次就在读文件系统的地方挂住,我也尝试过printf一些日志进行观察,目前跟踪到:
文件:./drivers/mmc/s3c_hsmmc.c
函数:s3c_hsmmc_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
                        struct mmc_data *data
挂死位置:
if (data) {
                while (!(mask & (SDHCI_INT_DATA_END | SDHCI_INT_ERROR | SDHCI_INT_DMA_END))) {
                        mask = readl(host->ioaddr + SDHCI_INT_STATUS);
                }
                writel(mask, host->ioaddr + SDHCI_INT_STATUS);
                if (mask & SDHCI_INT_ERROR) {
                        printf("error during transfer: 0x%08x\n", mask);
                        return -1;
                } else if (mask & SDHCI_INT_DMA_END) {
                        printf("SDHCI_INT_DMA_END\n");
                } else {
                        dbg("r/w is done\n");
                }
      }

看代码没有想明白为什么,今天测试了一下午,挂死前while的循环次数还不一样,有前辈遇到过同样的情况吗?请赐教
页: [1]
查看完整版本: 新人刷开发板遇到特殊问题,文件系统大于200M刷不进去,前来论坛求助