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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[已解决] 关于c674x_irq_events的疑问

[复制链接]

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
跳转到指定楼层
楼主
发表于 2017-6-23 17:05:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 daoerb 于 2017-6-23 17:07 编辑 $ J  r. n0 z# ]. }# Y5 b

- h5 Z2 N; M5 J7 f) h; g# i8 A在使用IPC双核开发的过程中,使用c674x_irq_events模块,该模块使用有如下问题" ~& C7 g' _3 V  U. u
该模块使用函数select进行阻塞调用,等待DSP触发ARM 然后结束调用
& Y$ ?$ l; b/ [* B1 d- m2 oDSP通过任一通道触发ARM,ARM都将解除阻塞,为了继续监控,ARM必须重新发起阻塞,不然没法接收下一组DSP触发的信号2 F- u* V+ K% m) m+ x1 p. Y

" X  t5 d& j1 @4 E* p' z9 V, G" Q有如下需求
/ |  O! @% @9 j3 n* t+ h7 ZARM等待指定的通道1或2触发,返回通道2触发状态 通道1触发状态
2 [, I: B# b2 r. C8 j* G5 ?5 V% t
3 R& {0 T0 `/ x: {1 J" B! e/ k5 G目前实现过程如下:* P7 R# [8 l; k
1.      基于原有c674x_irq_events模块实现,如果ARM需要阻塞等待通道2的事件5 N+ K. a8 s: Y, P& O' q4 F
此时DSP通道1触发,则原程序就会结束通道2的阻塞
7 V  n0 v/ _4 m然后查询触发的通道是不是通道2,然后重新阻塞通道2---------------------------------------------------------& U% d6 X; Z5 a1 t
2.   在整个查询的过程中arm一直阻塞,效率很低,
  X, |1 v3 @% n9 r: {# u( d/ y$ J+ E' \4 j' q& e* h4 I4 J+ I
能不能有如下方式实现?0 u$ P& y0 `% t3 ?' e9 a: e% f. V
初始化模块调用后以后相当于有一个监控任务一直在运行,每个周期查询通道1和通道2是否有事件发生,有事件发生,处理事件,没有不处理,ARM做别的事情5 b2 t! u# g2 A' ~. b

9 R2 ?. a" J6 F8 l% R" }
1 Z3 [% z: I( g2 f* c( Q6 l! f5 A( d7 o6 w
分享到:  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 编辑 # m' h/ o% O7 r: \' o
teddy 发表于 2017-6-26 14:07  a5 l. J% b9 W2 m7 ~( B! b
你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层 ...
谢谢!, E, H- U. L9 A
& e7 W) }+ Q# C& {0 X* t0 c& B* v, W/ z

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2017-6-26 14:07:45 | 只看该作者
你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层。
/ t% F$ a) h# l1 r目前,4个事件分别是:KEY_PROG1, KEY_PROG2, KEY_PROG3, KEY_PROG4;7 b1 f$ D. y2 F0 H3 q& l# C8 {; m. h4 W
可以在应用层通过对event的过滤进行处理。你提的建议很好,后续我们会增加事件使能开关,可以单独使用某个中断。谢谢你的建议。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 08:18 , Processed in 0.038346 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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