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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[已解决] 关于c674x_irq_events的疑问

[复制链接]

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
跳转到指定楼层
楼主
发表于 2017-6-23 17:05:54 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 daoerb 于 2017-6-23 17:07 编辑
# u# B$ W  e- J, E: N" T, F$ t. p, E* x9 W$ I7 x8 ~) F
在使用IPC双核开发的过程中,使用c674x_irq_events模块,该模块使用有如下问题, i8 s2 z9 `4 W2 h$ ~1 l
该模块使用函数select进行阻塞调用,等待DSP触发ARM 然后结束调用
7 i, m5 Q% e; E* K2 j9 \, U& J& ~DSP通过任一通道触发ARM,ARM都将解除阻塞,为了继续监控,ARM必须重新发起阻塞,不然没法接收下一组DSP触发的信号
: q. C6 @# O. n, |8 k
" t- o+ a; s) X0 [有如下需求! j, h0 L) U. m! X+ c
ARM等待指定的通道1或2触发,返回通道2触发状态 通道1触发状态2 G5 f; K, x5 S' h
4 C! I$ A/ [9 ]6 @
目前实现过程如下:
% f# g: Q/ }3 o. p9 U6 u' l1.      基于原有c674x_irq_events模块实现,如果ARM需要阻塞等待通道2的事件
7 P( J' W" x# b1 x* P9 K此时DSP通道1触发,则原程序就会结束通道2的阻塞! Y9 ~6 x4 J* h7 a+ o
然后查询触发的通道是不是通道2,然后重新阻塞通道2---------------------------------------------------------
0 `8 v4 H0 ~2 x; j3 z2.   在整个查询的过程中arm一直阻塞,效率很低," Y6 q6 Z# w' ?" L! j* V7 M
9 T0 e) _( j. M
能不能有如下方式实现?
0 G! a; ?& X5 k初始化模块调用后以后相当于有一个监控任务一直在运行,每个周期查询通道1和通道2是否有事件发生,有事件发生,处理事件,没有不处理,ARM做别的事情6 r  Z# D! v; P0 ?

7 `- Q8 l/ I; c- w$ w; T( `  B4 p
  I5 V. G6 ~" p6 u3 e1 W
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

积分
1122
沙发
 楼主| 发表于 2017-6-26 17:06:08 | 显示全部楼层
本帖最后由 daoerb 于 2017-6-29 09:22 编辑
& E; g" x! X3 }- a) F8 [% n& \
teddy 发表于 2017-6-26 14:07
" Q  Y) H' `$ F* x5 r你好!由于c674x_irq_events把DSP TO ARM的4个中断都注册了,所以,只要有中断触发,都会上传事件到应用层 ...
谢谢!, Q, Z/ x8 g# F. C" q) [# N0 @( K

1 Y7 S3 |4 A  W  o" e0 B

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

2

主题

8

帖子

1122

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 08:49 , Processed in 0.037321 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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