filex的fx_media_open函数堵塞
本帖最后由 lt321 于 2023-10-31 13:49 编辑你们有没有遇到这样问题
sd_status =fx_media_open(&sdio_disk, FX_SD_VOLUME_NAME, fx_stm32_sd_driver, (VOID *)FX_NULL, (VOID *) fx_sd_media_memory, sizeof(fx_sd_media_memory));
/* Check the media open sd_status */
if (sd_status != FX_SUCCESS)
{
/* USER CODE BEGIN SD open error */
while(1);
/* USER CODE END SD open error */
}
这个函数会堵塞,但单步去调试的话又可以过,过了之后只要不断电反复烧录都可以通过,一旦断电就又堵塞。在前面有加延时,并且是SD卡初始化之后使用
是不是卡死在fx_stm32_sd_driver,的接口函数里面了。 eric2013 发表于 2023-10-31 15:12
是不是卡死在fx_stm32_sd_driver,的接口函数里面了。
是的,大哥这怎么解决呀 eric2013 发表于 2023-10-31 15:12
是不是卡死在fx_stm32_sd_driver,的接口函数里面了。
我的这个fx_stm32_sd_driver是cubex自己生成的,不知道该如何下手 eric2013 发表于 2023-10-31 15:12
是不是卡死在fx_stm32_sd_driver,的接口函数里面了。
#if (FX_STM32_SD_CACHE_MAINTENANCE == 1)
invalidate_cache_by_addr((uint32_t*)media_ptr->fx_media_driver_buffer, num_sectors * FX_STM32_SD_DEFAULT_SECTOR_SIZE);
#endif
status = FX_SUCCESS;
}就是这个在头几次中会系统崩溃,系统进入HardFault状态时 eric2013 发表于 2023-10-31 15:12
是不是卡死在fx_stm32_sd_driver,的接口函数里面了。
把这个:lol FX_STM32_SD_CACHE_MAINTENANCE制0就好了,但里面的函数说是缓存无效化,暂时没找到方案替代或者解决不堵塞 lt321 发表于 2023-10-31 16:53
把这个 FX_STM32_SD_CACHE_MAINTENANCE制0就好了,但里面的函数说是缓存无效化,暂时没找到方案替 ...
这样的话,你用的应该是H7系列,Cache没处理好。
页:
[1]