硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2928|回复: 3
收起左侧

[FreeRTOS] 驱动总线保护

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2019-1-8 17:18:21 | 显示全部楼层 |阅读模式
各位大神,请教一下,现在有个项目使用SPI flash,此flash有一个文件系统,还有一部分空间用于存储字库,在界面显示的时候从flash中读取字模,此时可能在其他线程对文件系统进行读写,这时应该如何保护SPI总线不被打断,在读取或写入flash时会用到中断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-1-8 17:56:32 | 显示全部楼层
要的。
两种方法
1、底层读写函数要加互斥。
2、独立创建1个SPI Flash任务,需要读字库和其它操作的任务给其发命令处理。
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2019-1-8 18:28:00 | 显示全部楼层
eric2013 发表于 2019-1-8 17:56
要的。
两种方法
1、底层读写函数要加互斥。

不好意思,还有一个问题给落下了,有一个USB MSC要访问这个文件系统,但是呢这个USB访问文件系统的时候读写完成后在在中断中执行回调函数,回调函数中又会读取或写入数据,这样就不能采用互斥锁来保护总线了,中断中不能操作互斥信号量,咋办哇?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-1-9 00:07:31 | 显示全部楼层
wx_K4oOQPbX 发表于 2019-1-8 18:28
不好意思,还有一个问题给落下了,有一个USB MSC要访问这个文件系统,但是呢这个USB访问文件系统的时候 ...

回调函数发消息给任务,在任务里面执行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 10:22 , Processed in 0.158701 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表