Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AB32VG1
ab32vg1出现rt_mutex_take断言失败问题
发布于 2022-06-24 14:39:33 浏览:1300
订阅该版
我用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? 大家有没有遇到过类似的问题,是如何解决的?
查看更多
2
个回答
默认排序
按发布时间排序
a1012112796
2022-06-24
这家伙很懒,什么也没写!
> scheduler is not available mutex lock 必须在线程环境下运行。
识相的害虫
2022-06-27
这家伙很懒,什么也没写!
修改Board.c中os_spiflash_lock和os_spiflash_unlock两个函数,增加rt_critical_level的判断。现在TF卡和音频功能都正常的,暂时没有发现问题。 这个芯片的资料极度不完整,spiflash感觉像是内部flash的操作用到,貌似碰到问题还要用猜的? 有没有哪位大神解释下,以下函数的功能和使用条件相关的限制要求。 ```c void os_spiflash_lock(void); void os_spiflash_unlock(void); void os_cache_lock(void); void os_cache_unlock(void); RT_SECTION(".irq.cache") void os_spiflash_lock(void) { if ((rt_thread_self() != RT_NULL) && (rt_interrupt_nest == 0) && (rt_critical_level() == 0)) { rt_mutex_take(&mutex_spiflash, RT_WAITING_FOREVER); } } RT_SECTION(".irq.cache") void os_spiflash_unlock(void) { if ((rt_thread_self() != RT_NULL) && (rt_interrupt_nest == 0) && (rt_critical_level() == 0)) { rt_mutex_release(&mutex_spiflash); } } ```
撰写答案
登录
注册新账号
关注者
0
被浏览
1.3k
关于作者
识相的害虫
这家伙很懒,什么也没写!
提问
12
回答
6
被采纳
0
关注TA
发私信
相关问题
1
riscv32-elf-xmaker 工具的目的
2
AB32VG1 的 RTC 内部怎么知道自己是第一次上电的呢?
3
AB32VG1 蓝牙功能
4
AB32VG1 片上 flash 的库能否发布出来
5
【中科蓝汛AB32VG1】开发板是否支持USB HOST
6
有基于RT-Thread 和 AB32VG1 的蓝牙示例吗?
7
AB32VG1_RTC时钟
8
AB32 串口2.是哪个管脚
9
AB32VG1开发板的三路LPWM使用
10
使用RT-thread新建AB32VG1工程编译时报错
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-thred的stm32h723对应bsp包CubeMX添加其他外设报错
2
RT-Thread中的time溢出问题,时间戳溢出,解决方法
3
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
4
SystemView线程名字不显示
5
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
9
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
xiaorui
3
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部