OMAPL138基于SYSLINK的双核AD采集处理例程和线性播放有冲突 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15518|回复: 15
打印 上一主题 下一主题

OMAPL138基于SYSLINK的双核AD采集处理例程和线性播放有冲突

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
; `, f7 {9 b/ a2 J目标:AUDIO_LINE_OUT播放声音。ad采集声音。
, o8 O% X& K. w* M2 ]现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)( j8 A7 ^7 \+ e9 L$ x$ U
详细程序如下:
( I' w" I4 t8 i' ]% z; g+ l4 cDSP侧 main_dsp.c, a. v8 W% H- T7 r& `. g
extern int lineOutmain(void);8 S/ ~5 K) r/ o
Int main(Int argc, Char* argv[]) {, q/ P- D7 }6 @# Y8 U2 g
    LOG_INIT();" t( O+ n: A: R, J
    Error_Block eb;( x  e/ n  c: ~" [5 J. }
    Task_Params taskParams;
6 A! v8 R+ f1 b% Y; \+ C) s! A  _/ |6 m, y5 W' ?
    LOG_INFO("--> main:");; R' u; Q" z1 ?7 R' H" A$ t2 }
+ k7 F9 M( ~  G
    Error_init(&eb);
" s) W8 u2 v; g+ L0 y
) i" E; _+ h2 [/ S    Task_Params_init(&taskParams);
; t6 `1 [/ `) L- t8 r0 s    taskParams.instance->name = "message_loop_fun";
2 ]$ }) A3 u/ a2 l* n' Y    taskParams.arg0 = (UArg)argc;! {7 R" S, @0 f: q0 h2 I
    taskParams.arg1 = (UArg)argv;
; l5 Z$ ]! _" B9 K5 h    taskParams.stackSize = 0x1000;6 J3 H+ \; s6 C) R
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
4 G% a2 t% l, F) O
) Q3 P; K5 Z+ _: I    if (Error_check(&eb))
+ Q1 ?$ K7 n, J: _        LOG_FATAL("failed to create application startup thread"); , R! M: f$ N- f" [7 A
        6 S+ \+ q6 x# u3 h. \, ^
    lineOutmain();
6 z; H3 ^  d& \- ]    BIOS_start();
8 a1 J/ Z0 |. g2 U) Y    LOG_INFO("<-- main:");1 |& S( s" A$ u! O$ X3 S4 J
    return (0);. P6 b" H( A* s& h% d8 a5 a% V' V3 k
}
7 E; u1 D8 A* @1 R5 I( I7 L其中lineOutmain();是启动lineOut例程$ |+ s9 H# m. J+ i  j; i
int lineOutmain(void)
, B- _8 X, J, d( G4 j{
3 u& ~% _# g  f! V& Q0 K! e3 X        unsigned int i;# _% [  h0 f7 d  u1 k% p% e! ]& c
& S- @' g  }  v* F
    PeripheralsSetUp();
) f. w  E' K8 o+ r0 m( @' ]: _( @7 V- O8 E% T
    LOG_INFO("\r\n ============Test Start===========.\r\n");: L. j, W# i" T$ I! H% z5 d7 i- K" ^0 q
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");3 R. C# g: v+ U# b- y9 J
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");, K  Q: t  \% s) h( D5 W
9 M5 }. f& q$ M% t4 N5 @+ i) y. T
    for(i=0;i<229396/2;i++)1 k7 o4 T( u: T1 h( O
        {' R; n9 J* a; ^+ v" W% ?! ?1 P: a
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
( P$ w4 u- g2 T, B+ M        }
5 M6 L( [+ n- ]# p9 M8 n- T9 P4 ]3 O
    IntDSPINTCInit();
/ a- N5 X% ~/ A* t9 z) n% s. g6 o- l7 N# F$ p4 j* L. E& R; D
    I2C0IntRegister(C674X_MASK_INT6);0 J5 K# t! w0 q5 ~) U) V& Q. d5 g

# f5 k/ t2 R6 R: N4 Z2 k( J    IntEnable(C674X_MASK_INT4);
: A$ i4 _1 R3 V9 l$ p  L  b0 D, _    IntEnable(C674X_MASK_INT5);) z" \1 P' d6 k  J  f" y4 K
    IntEnable(C674X_MASK_INT6);
2 u& l) ^7 ^1 z- v/ \
4 W- d* X7 |+ }6 T1 A: S: R! y    IntGlobalEnable();
% f4 f2 [$ c& a5 ~0 ]/ |! `/ L( S. |! l, y+ k' J! r, ?- k/ v
    AIC31Init();8 y; N/ a8 j7 T9 W" P; l: z/ U
    ToneLoopInit();
+ b7 ]* J& K: X1 W6 c    Start playing the tone looply0 Z+ r5 K9 K/ _, \$ r# h+ d, Q; n) b
    ToneLoopStart();
/ M# O) C4 K; r
, w2 t+ ?# C, w' ?9 C/ r    LOG_INFO("\r\n ============Test End===========.\r\n", -1);3 ~& J: s- K+ V$ r7 B' X$ C2 @

$ e4 r& S7 {' C) X2 A}
, R" a! A" {3 C6 I
# q/ b  m( y% w7 t从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。6 r' l$ m, X9 `+ i3 Q

4 @' V, |' z1 m/ n9 p
! Y. O3 s  I# C1 f$ c' q8 ^. A
" g5 O/ z& S) `$ }& R! t; V) o( s0 `" p7 f

% r6 e, }! z3 F) }# l$ c
6 [4 I+ J! y- i; }# T" _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
  C& _6 G! D4 f  H
$ u; f7 n" O/ s6 K! N4 ^5 i9 l/ D5 \2 z在 SYS/BIOS 中断应当使用 SYSBIOS 提供的 API
回复 支持 反对

使用道具 举报

96

主题

129

帖子

447

积分

禁止发言

积分
447
板凳
发表于 2015-3-4 13:05:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
地板
 楼主| 发表于 2015-3-6 21:54:03 | 只看该作者
按照seadistant的方法:把IntDSPINTCInit(); 注掉,AD无法正常工作。lineOut也没有声音输出。请问如果两者有中断资源冲突,修改哪个地方(AD 或lineout)使两者能同时使用?
回复 支持 反对

使用道具 举报

96

主题

129

帖子

447

积分

禁止发言

积分
447
5#
发表于 2015-3-7 14:57:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
6#
发表于 2015-3-7 16:44:19 | 只看该作者
看一下AD7606和音频使用中断时,是不是映射到了同一个中断
回复 支持 反对

使用道具 举报

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
7#
 楼主| 发表于 2015-3-9 08:28:55 | 只看该作者
谢谢楼上提供的信息,我现在很想知道,tl的光盘中是否有这样,在用 SYSBIOS 调用line out的demo。或者能否为我提供一个这样的简单demo(能用,不冲突就行)
回复 支持 反对

使用道具 举报

14

主题

102

帖子

821

积分

创龙

Rank: 8Rank: 8

积分
821
8#
发表于 2015-3-9 10:42:42 | 只看该作者
目前没有SYSBIOS下的音频驱动,不过移植过去不难。我们公司很快就推出StarterWare程序移植到SYSBIOS的视频教程,敬请留意。
回复 支持 反对

使用道具 举报

14

主题

102

帖子

821

积分

创龙

Rank: 8Rank: 8

积分
821
9#
发表于 2015-3-9 10:42:44 | 只看该作者
目前没有SYSBIOS下的音频驱动,不过移植过去不难。我们公司很快就推出StarterWare程序移植到SYSBIOS的视频教程,敬请留意。

点评

有音频驱动的  详情 回复 发表于 2015-3-9 21:54
回复 支持 反对

使用道具 举报

96

主题

129

帖子

447

积分

禁止发言

积分
447
10#
发表于 2015-3-9 11:36:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 01:55 , Processed in 0.043440 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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