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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[已解决] 关于c674x_irq_events的疑问

[复制链接]

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
跳转到指定楼层
楼主
发表于 2017-6-23 17:05:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 daoerb 于 2017-6-23 17:07 编辑
- u) \+ j5 A1 q, E( |  B$ H1 r; L
在使用IPC双核开发的过程中,使用c674x_irq_events模块,该模块使用有如下问题
! \) K' p$ R. G; ]" w0 x7 l% Q; ]该模块使用函数select进行阻塞调用,等待DSP触发ARM 然后结束调用# i4 r% O/ n8 ]8 K4 K
DSP通过任一通道触发ARM,ARM都将解除阻塞,为了继续监控,ARM必须重新发起阻塞,不然没法接收下一组DSP触发的信号
. Q( W4 Z8 B+ g/ S9 c- H1 R: O7 l  l- ]) ^
有如下需求9 p" r; r& I) L# F& c' g' [- ^* P! k- ?
ARM等待指定的通道1或2触发,返回通道2触发状态 通道1触发状态
: P. G. i( H$ ~& h6 }3 f* p$ V
0 m, q* h$ Z& ?0 D+ `% k目前实现过程如下:$ u* T, R& r2 {' x& n: K* [
1.      基于原有c674x_irq_events模块实现,如果ARM需要阻塞等待通道2的事件& `) g; M  {! U) M# K# M- }
此时DSP通道1触发,则原程序就会结束通道2的阻塞/ y- ?# V% `0 {. x
然后查询触发的通道是不是通道2,然后重新阻塞通道2---------------------------------------------------------
. m; [( W' {9 z/ O! x7 C2.   在整个查询的过程中arm一直阻塞,效率很低,
+ ~& ^; g: X" ]/ Z# V( k5 [& Y/ o2 w5 [% v, _1 M$ w
能不能有如下方式实现?
, \& C8 E& V5 [  d初始化模块调用后以后相当于有一个监控任务一直在运行,每个周期查询通道1和通道2是否有事件发生,有事件发生,处理事件,没有不处理,ARM做别的事情7 M9 J" @3 n: }5 S
: D7 u" ]) f" T. ]/ @
- y  r- w7 r5 y4 |$ r* d6 I

" `( t5 D' b8 s3 }3 |0 I7 K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
地板
 楼主| 发表于 2017-6-28 11:08:42 | 只看该作者
@teddy 有没办法?
回复 支持 反对

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
板凳
 楼主| 发表于 2017-6-26 17:06:08 | 只看该作者
本帖最后由 daoerb 于 2017-6-29 09:22 编辑 $ J" F/ o/ d9 R8 Q6 P- t* A
teddy 发表于 2017-6-26 14:07
5 O  v6 E% `: O3 u你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层 ...
谢谢!
' [0 e* l. B1 O! }6 a8 X7 {( D/ M/ ^5 d9 v' M6 o. A

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2017-6-26 14:07:45 | 只看该作者
你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层。( q( t8 e( _1 q2 W$ S9 F
目前,4个事件分别是:KEY_PROG1, KEY_PROG2, KEY_PROG3, KEY_PROG4;
9 J) \" n0 I( V/ b可以在应用层通过对event的过滤进行处理。你提的建议很好,后续我们会增加事件使能开关,可以单独使用某个中断。谢谢你的建议。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 04:37 , Processed in 0.040272 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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