我用ab32vg1的开发板,BSP版本1.1.0,rt-thread版本laster(4.1.0),创建项目。更改使用uart1打印,波特率115200。 点灯程序能够正常运行。
开启板载设备驱动Enable SDCARD,正常挂载tf卡,能够读出文件。测试时,tf卡内有文件t1.txt,采用cat t1.txt,正常输出。在终端使用cp命令拷贝文件,或输入 echo “hello” t2.txt 时出错,提示:
Function[rt_mutex_take]: scheduler is not available
(0) assertion failed at function:rt_mutex_take, line number:921“
如果开启audio device硬件,同时使能WavPlayer包,无法开机,提示:
\ | /
RT - Thread Operating System
/ | \ 4.1.0 build Jun 24 2022 13:40:56
2006 - 2022 Copyright by RT-Thread team
Function[rt_mutex_take]: scheduler is not available
(0) assertion failed at function:rt_mutex_take, line number:921
通过打印跟踪,初步判定是卡在board.c的void os_spiflash_lock(void)函数中的rt_mutex_take(&mutex_spiflash, RT_WAITING_FOREVER);
请问os_spiflash_lock函数是在什么情况下被调用的?这颗芯片是内置spi flash,然后程序加载到cache运行的吗?
这个BSP能否适配最新版本的rt-thread?
大家有没有遇到过类似的问题,是如何解决的?
更多回帖