硬汉嵌入式论坛

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

[μCOS-III] 请问Eric,在操作系统中操作文件系统,关任务调度是必须的吗?

[复制链接]

6

主题

65

回帖

83

积分

初级会员

积分
83
发表于 2015-9-11 10:43:29 | 显示全部楼层 |阅读模式
请问Eric,在操作系统中操作文件系统,关任务调度是必须的吗?
clipboard.png
我看你在所有代码中有关操作文件系统的地方都加了关闭任务调度保护,我有几点想请教:
1,如果MCU通过某一外设接口正在通讯,此时系统调度中断过来,通讯波形可能正好被打断?
2,一般在操作系统中对单一资源(如外设通讯接口SPI,I2C之类)的使用都需要做保护,保证同一时刻只有一个任务中独占使用,那么只用互斥量之类的保证单一的访问性,好像无法避免系统内中断产生时对外设接口通讯波形之类的影响吧?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-9-11 10:54:33 | 显示全部楼层
开启fatfs的重入功能就可以了。不需要关调度了。
回复

使用道具 举报

6

主题

65

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2015-9-11 11:02:59 | 显示全部楼层

回 eric2013 的帖子

eric2013:开启fatfs的重入功能就可以了。不需要关调度了。 (2015-09-11 10:54) 
那么在UCOS下IIC、SPI通讯需要保护吗?通讯时被系统调度打断会怎样?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-9-11 11:11:14 | 显示全部楼层
另外中断的话是这样的,我个人的理解
1. 一般初始化了外设之后,如果用户开启了此外设的中断方式,统一都是在中断里面完成数据的读写访问。比如USART。这种情况只有串口中断在访问读写。
2. 这种实际情况用的最多,
     a. 基于SDIO接口的Fatfs,如果要实现FatFS的多任务支持,也就是提供函数重入支持,此时就需要防止SDIO的读写冲突,,也就是加入互斥信号量。
         这种情况下SDIO中断和DMA中断都是开启的,这些中断都是在某一个互斥信号量范围内操作的。所以不存在冲突问题。
     b. emWin的多任务同理。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-9-11 11:14:29 | 显示全部楼层
如果是软件模拟IIC或者SPI接口时序的话,就需要适当的将关键部分的时序放在临界区里面实现,防止时序被打断造成时序错误。
回复

使用道具 举报

6

主题

65

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2015-9-11 13:30:09 | 显示全部楼层

回 eric2013 的帖子

eric2013:另外中断的话是这样的,我个人的理解
1. 一般初始化了外设之后,如果用户开启了此外设的中断方式,统一都是在中断里面完成数据的读写访问。比如USART。这种情况只有串口中断在访问读写。
2. 这种实际情况用的最多,
     a. 基于SDIO接口的Fatfs,如果要实现F .. (2015-09-11 11:11) 
明白了,多谢eric.
回复

使用道具 举报

5

主题

69

回帖

5

积分

初级会员

积分
5
发表于 2015-9-15 11:22:14 | 显示全部楼层
用互斥信号量做一个lock 和unlock
回复

使用道具 举报

6

主题

65

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2015-9-16 13:33:09 | 显示全部楼层

回 shouyuxinyan 的帖子

shouyuxinyan:用互斥信号量做一个lock 和unlock (2015-09-15 11:22) 
谢谢。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 15:52 , Processed in 0.363275 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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