diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index 3f33e4dde..89996d406 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -635,7 +635,9 @@ int main(int argc, char ** argv) startEepromThread(argc >= 2 ? argv[1] : "eeprom.bin"); #endif +#if !defined(SIMU_BOOTLOADER) startAudioThread(); +#endif simuStart(true/*false*/, argc >= 3 ? argv[2] : 0, argc >= 4 ? argv[3] : 0); return application.run(); diff --git a/radio/src/targets/simu/simufatfs.cpp b/radio/src/targets/simu/simufatfs.cpp index e8737e328..e7551adc8 100644 --- a/radio/src/targets/simu/simufatfs.cpp +++ b/radio/src/targets/simu/simufatfs.cpp @@ -469,11 +469,15 @@ FRESULT f_readdir (DIR * rep, FILINFO * fil) if (strcmp(ent->d_name, ".") && strcmp(ent->d_name, "..") ) break; } - memset(fil->fname, 0, FF_MAX_LFN); - strcpy(fil->fname, ent->d_name); - // TRACE_SIMPGMSPACE("f_readdir(): %s", fil->fname); - std::string fullName = sd->name + std::string("/") + std::string(ent->d_name); - return f_stat(fullName.c_str(), fil); + if (fil != nullptr) { + memset(fil->fname, 0, FF_MAX_LFN); + strcpy(fil->fname, ent->d_name); + // TRACE_SIMPGMSPACE("f_readdir(): %s", fil->fname); + std::string fullName = sd->name + std::string("/") + std::string(ent->d_name); + return f_stat(fullName.c_str(), fil); + } + + return FR_OK; } FRESULT f_mkfs (const TCHAR* path, BYTE opt, DWORD au, void* work, UINT len)