OMAPL138基于SYSLINK的双核AD采集处理例程和线性播放有冲突 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。& C9 N( C& I: q" n6 Q. M
目标:AUDIO_LINE_OUT播放声音。ad采集声音。- z3 p8 C/ R6 s- j+ }
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
1 n* w0 x$ g( F$ Q; d+ }0 {8 X详细程序如下:
; [7 c# ?6 ]4 W6 ~/ uDSP侧 main_dsp.c6 r6 i  a% S; N* n
extern int lineOutmain(void);
0 v8 h. }- p5 c( m) G5 Q; \" oInt main(Int argc, Char* argv[]) {
! Y7 T! F; _+ ~    LOG_INIT();: r( t# E( P7 @: q, k( I- k
    Error_Block eb;
$ f" }: q+ N0 w/ \; X) _% S    Task_Params taskParams;
+ y2 R  t% i' Q% d+ V$ S8 q
7 B# ]3 U& L+ G9 a7 x    LOG_INFO("--> main:");
2 V$ W) ?: K1 s5 X
( f* @" U* c  |5 }    Error_init(&eb);
. ^( e8 ~& n" P. W" X$ @0 e4 K- B4 W
    Task_Params_init(&taskParams);
3 }$ a: o; K9 k! L    taskParams.instance->name = "message_loop_fun";
6 F2 t, K+ T- _# @% v    taskParams.arg0 = (UArg)argc;
3 |8 @9 `- b  {& l    taskParams.arg1 = (UArg)argv;1 T9 m  V% p' K: G4 [
    taskParams.stackSize = 0x1000;0 G+ f) [9 l" y% v
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
1 K0 r. t3 b' y
3 N+ s* F4 x; N" k    if (Error_check(&eb)) : h1 k% h+ Y- `) g) R9 i9 ]
        LOG_FATAL("failed to create application startup thread"); ( h  t) c. H7 a: D
       
& b+ A& y3 q+ [7 @; x2 T0 Z% B8 B5 n    lineOutmain();- l+ y9 E+ ~. r; B  P6 ]
    BIOS_start();
2 ?( R6 h/ E5 `1 c! t. Z5 P    LOG_INFO("<-- main:");3 p8 ^6 \+ A) f: X% c" H! k/ _7 c
    return (0);
' j+ q4 }6 h& s6 E5 q3 S4 ?}
7 \8 R  N) B) d+ Y5 u其中lineOutmain();是启动lineOut例程
1 t# A! C* E& N6 v8 nint lineOutmain(void)
; k( j. V2 V9 q+ o2 g{
! z  l1 Q* U4 S2 g1 @        unsigned int i;6 l2 O7 g, }/ _1 w, Y3 y* p

* ?0 b$ o% `9 ]) w: N1 f    PeripheralsSetUp();
& v  q2 |- N5 O- f
( C, j4 }# p9 Y2 f) @! U    LOG_INFO("\r\n ============Test Start===========.\r\n");
) Y$ B2 o/ q; [; b% b' x% |& w    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
2 B! G) v3 j1 k* o    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
- l6 a- Y: M1 c) D  i$ b: g
% a  a' r* v# v+ ?0 D9 `+ B' S    for(i=0;i<229396/2;i++)  X$ ]1 D- ]2 u! _) r
        {/ r  Q" e# t* j( E4 y3 U! }
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
) k6 D8 u2 b, b        }
: P4 u) B' P/ h
9 e8 T- f* w3 D" F4 B    IntDSPINTCInit();
) t" @3 s2 g6 D3 R8 Q6 S6 d. M9 F
    I2C0IntRegister(C674X_MASK_INT6);
" H. L& C9 U6 ?+ y9 W$ o/ e9 x4 R( n4 k5 Q- A8 R# x  u
    IntEnable(C674X_MASK_INT4);
% m0 L0 A5 K9 W8 o    IntEnable(C674X_MASK_INT5);
0 b3 d& K% b2 Z3 _/ P/ H    IntEnable(C674X_MASK_INT6);
$ `# O( M. E. x6 h5 ?& J/ C9 X
& ]; t: U. U3 p; |- e/ g. Z    IntGlobalEnable();, s* d1 N. ]3 @1 v% O! J* N
! ]# d. z# ^+ N  G3 T8 x# \( z! v
    AIC31Init();/ e: R# C) [2 I2 E1 M9 }& B4 d1 c
    ToneLoopInit();/ s' P* e7 x  a7 N. C4 K' @2 r! v
    Start playing the tone looply
0 u! _+ r' F. d; g, u2 Z3 x7 Z, e    ToneLoopStart();. K7 q: |7 {9 A% g  `1 v
0 i5 |) v5 r  u, t- l) `9 _
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);' Q2 Y: j) t2 r2 s- S; P
$ l/ I6 O/ J5 Q5 x
}, a+ P' T& h& P2 y- z
6 X  W& e( [) Q+ P" c0 `( ^3 Z
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
3 x- v: d2 g2 s7 l* _5 k! S; ?
6 [! ]( o5 c( n! Z" r9 P
% ?2 j, b. ?! l
+ ~" ^$ {: i# e9 \2 K2 q# p. z# Y1 L: _8 h

& g! r* Y( s  S5 k; d  i
$ k4 p; h7 K8 `7 e  L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
9 v& @% A9 `4 j
$ F! k3 n5 m/ @: {在 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, 2026-2-23 18:07 , Processed in 0.044869 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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