确认SDIO error的主要的erro log是: Kennel Log会打印出” SDIO Access Error” <5>[ 26.082353] (1)[aee/aek] kernel_warning,[MT6628] SDIO Access Error!, </alps/mprelease/bld_mingyi.kuo/ALPS.ALPS.ICS2.TDD.MP.V1.1.GIONEE17_TD3001_ICS2/source/alps/kernel/mediatek/source/kernel/drivers/combo...
在两个读取函数里面 SD_Error SD_ReadMultiBlocks(u32 addr, u32 *readbuff, u16 BlockSize, u32 NumberOfBlocks); SD_Error SD_ReadBlock(u32 addr, u32 *readbuff, u16 BlockSize); 关键点加上临界保护 OS_ENTER_CRITICAL(); //关闭系统中断 while (!(SDIO->STA &(SDIO_FLAG_RXOVERR | SDIO_F...
9 hisi_spi_nand_probe(175): Error: driver probe, result: -19 10 libphy: hisi_gemac_mii_bus: probed 11 libphy: Fixed MDIO Bus: probed 12 hi_gmac_v200 101c0000.ethernet: invalid resource 13 hi_gmac_v200 101c0000.ethernet (unnamed net_device) (uninitialized): using random MAC address ...
/** * 函数名:SD_Init * 描述:初始化SD卡,使卡处于就绪状态(准备传输数据) * 输入:无 * 输出:-SD_Error SD卡错误代码 * 成功时则为 SD_OK * 调用:外部调用 */SD_Error SD_Init(void){ /*重置SD_Error状态*/SD_Error errorstatus = SD_OK; NVIC_Configuration(); /* SDIO 外设底层引脚初始化 ...
你好,你这个初始化都过不了 卡死在SD_Error SD_WaitReadOperation(void) { SD_Error errorstatus = SD_OK; uint32_t timeout; timeout = SD_DATATIMEOUT; while ((DMAEndOfTransfer == 0x00) && (TransferEnd == 0) && (TransferError == SD_OK) && (timeout > 0))(卡死在这里。。。
err = -RT_ERROR; goto err; } /* * Detect and init the card.*/ err = mmcsd_sd_init_card(host, current_ocr); /* 完整的SD卡初始化流程在此函数内实现 */if (err) goto err; mmcsd_host_unlock(host); /* 释放锁 */ ...
SD_ErrorSD_Init(void);SD_ErrorSD_Erase(uint32_tstartaddr,uint32_tendaddr);SD_ErrorSD_WriteBlock(uint8_t*writebuff,uint32_tWriteAddr,uint16_tBlockSize);SD_ErrorSD_ReadBlock(uint8_t*readbuff,uint32_tReadAddr,uint16_tBlockSize);
err = -RT_ERROR; goto err; } /* * Detect and init the card. */ err = mmcsd_sd_init_card(host, current_ocr); /* 完整的SD卡初始化流程在此函数内实现 */ if (err) goto err; mmcsd_host_unlock(host); /* 释放锁 */ err = rt_mmcsd_blk_probe(host->card); /* 注册块设备 *...
if (SD_Error != HAL_OK){ return 1;} // SD_Error = HAL_SD_ConfigWideBusOperation(&g_sdcard_handler, SDIO_BUS_WIDE_4B); /* 使能宽总线模式,-O0 优化会有问题 */// if (SD_Error != HAL_OK)// {// return 2;// } return 0;} 测试SD NAND的写入 /** * @brie...
STM32F4 的 SDIO 控制器支持 2 种响应类型,即:短响应(48 位)和长响应(136 位),这两种响应类型都带 CRC 错误检测(注意不带 CRC 的响应应该忽略 CRC 错误标志,如 CMD1 的响应)。 短响应 长响应 不论是短响应还是长响应,硬件都会自动滤除了起始位、传输位、CRC7以及结束位等信息,对于短响应,命令索引存放...