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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[已解决] 关于c674x_irq_events的疑问

[复制链接]

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
跳转到指定楼层
楼主
发表于 2017-6-23 17:05:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 daoerb 于 2017-6-23 17:07 编辑   k- C4 c7 K6 |2 i% k

* G0 T) ]; t* E, v5 v" `/ H在使用IPC双核开发的过程中,使用c674x_irq_events模块,该模块使用有如下问题8 J% @8 N7 R# t$ v* A9 g
该模块使用函数select进行阻塞调用,等待DSP触发ARM 然后结束调用
. P) O* v: o* H& |& H2 [" T+ U( gDSP通过任一通道触发ARM,ARM都将解除阻塞,为了继续监控,ARM必须重新发起阻塞,不然没法接收下一组DSP触发的信号; d0 L4 @. D, a% O, u

+ m% S: h* m* M: T有如下需求
- v' s/ ]5 E  x& `0 _4 ]7 F, ?ARM等待指定的通道1或2触发,返回通道2触发状态 通道1触发状态3 m. ~4 _* v" |/ s/ b" }. ~

# d; A* e! @" X* J7 r+ d) J9 D目前实现过程如下:& l0 z# O) R" P; u
1.      基于原有c674x_irq_events模块实现,如果ARM需要阻塞等待通道2的事件, `2 k* Z- P* X0 K, u$ y1 Q
此时DSP通道1触发,则原程序就会结束通道2的阻塞
  |8 y& K) o0 Y然后查询触发的通道是不是通道2,然后重新阻塞通道2---------------------------------------------------------9 B4 }. X1 a6 ^7 L" n8 `2 k6 j
2.   在整个查询的过程中arm一直阻塞,效率很低,
! R; B6 D6 j9 U9 j1 t# g. F1 q) M. f* `2 {! x" S) T; z
能不能有如下方式实现?5 ?3 G+ e1 r( c6 n8 B+ t
初始化模块调用后以后相当于有一个监控任务一直在运行,每个周期查询通道1和通道2是否有事件发生,有事件发生,处理事件,没有不处理,ARM做别的事情
# a  S' P, R3 H3 ~( N: r0 K' O1 O  C6 V+ ^( r) t
3 _7 E7 @- V# K2 K

1 h7 U% L+ C9 \/ x! F3 ^
分享到:  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 编辑 ( D+ a  U  p$ w
teddy 发表于 2017-6-26 14:07  @, C  a- p! B2 j1 f6 j1 o) s2 _
你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层 ...
谢谢!, a  b* `: L) m

0 I# Q- J* f0 z' v1 \3 B( V

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2017-6-26 14:07:45 | 只看该作者
你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层。
  [, Z8 J' [0 _/ M1 u目前,4个事件分别是:KEY_PROG1, KEY_PROG2, KEY_PROG3, KEY_PROG4;
: s; l9 P5 e, f. p* i2 J可以在应用层通过对event的过滤进行处理。你提的建议很好,后续我们会增加事件使能开关,可以单独使用某个中断。谢谢你的建议。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 19:37 , Processed in 0.038965 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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