关于c674x_irq_events的疑问 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4156|回复: 3
打印 上一主题 下一主题

[已解决] 关于c674x_irq_events的疑问

[复制链接]

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
跳转到指定楼层
楼主
发表于 2017-6-23 17:05:54 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 daoerb 于 2017-6-23 17:07 编辑
4 D% q' I: i3 @4 h( [# G# ]  q  @
& d4 C3 L. ?) L* u在使用IPC双核开发的过程中,使用c674x_irq_events模块,该模块使用有如下问题
. V$ h% i- y) b3 X. R该模块使用函数select进行阻塞调用,等待DSP触发ARM 然后结束调用
( D1 h$ C$ w' O& U$ `6 b. [DSP通过任一通道触发ARM,ARM都将解除阻塞,为了继续监控,ARM必须重新发起阻塞,不然没法接收下一组DSP触发的信号3 P% n9 O/ T3 Q" W: n1 H
4 q, b, |8 ?: `1 @, K" i
有如下需求! Y* p( z4 ?* Z1 B; q  B7 q6 ~
ARM等待指定的通道1或2触发,返回通道2触发状态 通道1触发状态& Z' R5 X9 e4 _  k# I% V  C
: k9 {6 H1 p1 C1 s6 U9 T7 Q
目前实现过程如下:2 W+ @4 ~; `2 O3 x
1.      基于原有c674x_irq_events模块实现,如果ARM需要阻塞等待通道2的事件6 v5 s5 ~$ U6 S+ F6 |* D" t# M8 Y
此时DSP通道1触发,则原程序就会结束通道2的阻塞
8 V- r6 ~# }5 ^然后查询触发的通道是不是通道2,然后重新阻塞通道2---------------------------------------------------------8 b2 R# p. ^7 ?6 }
2.   在整个查询的过程中arm一直阻塞,效率很低,7 I, d: }% V- @* m( p
" }) M! F  A6 V1 G# \
能不能有如下方式实现?
2 D' F8 \2 l' ^/ {: ^7 H) }初始化模块调用后以后相当于有一个监控任务一直在运行,每个周期查询通道1和通道2是否有事件发生,有事件发生,处理事件,没有不处理,ARM做别的事情8 ?& }! Y3 r2 ^  n

) Y$ R8 y6 |9 _) }2 w0 D0 M. c( T7 U* i: G4 H. G+ A
  v1 o& w! i( j
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
沙发
 楼主| 发表于 2017-6-26 17:06:08 | 显示全部楼层
本帖最后由 daoerb 于 2017-6-29 09:22 编辑
7 y- {2 v+ G7 x3 @) _
teddy 发表于 2017-6-26 14:07
7 e# p6 c- p# a1 |. d  H6 ~你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层 ...
谢谢!
- r+ q( `7 @- q2 g7 p9 H) z* a+ x4 M+ A+ o$ v+ E

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
板凳
 楼主| 发表于 2017-6-28 11:08:42 | 显示全部楼层
@teddy 有没办法?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-18 15:54 , Processed in 0.037478 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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