您尚未登录。

楼主 #1 2017-10-15 16:46:47

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

linux有没有临界区代码的操作方法?

linux有没有临界区代码的操作方法?
我有个很重要的代码段,不想被其他任何进程干扰,在调用这块代码段的时候希望linux内核停止调度

离线

楼主 #3 2017-10-15 16:47:57

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

什么锁
我只知道关定时器中断
但是其他中断关了我怕影响
目前我还没找到如何关闭定时器中断的方法,只看到有关闭全局中断的方法

离线

楼主 #5 2017-10-15 16:49:41

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

rtos有这种操作
其实我就一个spi通信部分不希望有其他的spi通信干扰

最近编辑记录 goodgoodstudy (2017-10-15 16:50:43)

离线

楼主 #7 2017-10-15 16:51:43

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

落雁 说:

代码模拟的时序吗?

不是软件模拟时序
7688那个spi的驱动老是有问题,我直接操作寄存器了
但是spi上面挂载了个spiflash,会和那个有冲突,不能保证我这边操作寄存器的时候,mtd驱动不进行操作
那个驱动程序也没见到有做这个事情,正常情况下在驱动程序中需要做这个读写保护的,实际上没有

离线

楼主 #9 2017-10-15 16:52:48

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

我在测试的时候确实发现过情况,数据发送接收几万包的时候有出现接收不到的情况
我不太清楚是不是spi寄存器被其他进程改写了导致的

离线

楼主 #11 2017-10-15 16:54:09

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

我用驱动会出现我刚说的那种长期收发测试出现状况

离线

楼主 #13 2017-10-15 16:55:22

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

落雁 说:
goodgoodstudy 说:

我用驱动会出现我刚说的那种长期收发测试出现状况

用了中断吧

我这边没用中断,flash那边不清楚,中断要在驱动中注册的啊,我看到那个驱动程序也没用到中断
所以我准备采用在读写spi寄存器之前关闭定时器中断来关闭linux内核调度,在读取spi寄存器后开启定时器中断
这很麻烦,在rtos中就有关闭调度的方法,linux貌似没有

离线

楼主 #15 2017-10-15 16:57:13

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

落雁 说:
goodgoodstudy 说:
落雁 说:

用了中断吧

我这边没用中断,flash那边不清楚,中断要在驱动中注册的啊,我看到那个驱动程序也没用到中断
所以我准备采用在读写spi寄存器之前关闭定时器中断来关闭linux内核调度,在读取spi寄存器后开启定时器中断
这很麻烦,在rtos中就有关闭调度的方法,linux貌似没有

用的同一个spi控制器的话,你确实要看看其他设备的驱动是否严谨。你最好与同一个总线上其他驱动保持机制一样。
这样,系统就帮你做好资源保护问题了。你要做的,就是保护自己代码,和复用

正常情况下,复用寄存器的不同驱动程序在进行寄存器操作的时候,应该需要进行数据保护的

离线

楼主 #17 2017-10-15 16:58:16

goodgoodstudy
会员
注册时间: 2017-09-15
已发帖子: 61
积分: 61

Re: linux有没有临界区代码的操作方法?

对呀,我现在纠结的就是这个,谢谢大神解惑.

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn