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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
6 @5 Z- R6 y- f+ }+ g8 `) _目标:AUDIO_LINE_OUT播放声音。ad采集声音。5 Y  |$ P% R: w/ {- Z4 I/ ^8 H  W4 j
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
% |8 F0 a. N, ~' }) p, S2 p+ R0 f详细程序如下:0 W7 V0 v! F$ l( C
DSP侧 main_dsp.c
; U# n7 g% C( V8 b, ^! r9 s1 Yextern int lineOutmain(void);
$ \2 k- K+ x) l- P5 U3 a0 EInt main(Int argc, Char* argv[]) {  t! V! Q/ a4 s% ^1 N
    LOG_INIT();
( `5 w/ K0 _1 z$ V* b    Error_Block eb;+ R2 m/ N! Q  |1 f, w/ u/ g
    Task_Params taskParams;
& R! S" p( }$ q7 N% H7 W( b
- p) b2 c% m" L( N9 x$ M1 G    LOG_INFO("--> main:");( n9 y1 @9 C. H9 f3 _5 {  {+ T
+ h9 R9 k) u: p( d' f& U- E  v
    Error_init(&eb);4 ^  V9 F, v+ Q0 d4 a7 n# O
6 t4 a% R( e7 n  b* ^4 d# x
    Task_Params_init(&taskParams);
1 d5 @9 R: f% o9 Z& F8 ~# ]    taskParams.instance->name = "message_loop_fun";
4 x9 t8 U- h6 O9 H6 M/ x6 S    taskParams.arg0 = (UArg)argc;
8 M* y. f! z. ^) p3 `4 j9 G    taskParams.arg1 = (UArg)argv;7 a" E+ x' _# D6 r, h! {4 S
    taskParams.stackSize = 0x1000;% g5 J- Z( Y; H6 D5 P& y: `
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
2 q* d/ }5 F* X) g, Y
7 z9 o  P' p4 H    if (Error_check(&eb))
. `& ?( y7 u( ~+ G! n+ \7 j        LOG_FATAL("failed to create application startup thread"); 4 W3 Y2 _7 D3 \, e+ c
        5 g/ x6 e* K1 A3 |( X6 }
    lineOutmain();
* Q- V2 F& Q& r! B+ D    BIOS_start();# ~" o; Z7 E/ L7 X' E
    LOG_INFO("<-- main:");& K  A5 E/ w- f; q3 B
    return (0);: F1 e0 X) z2 v" u# Z/ M) m
}6 L; X$ l3 n$ ~- s3 _9 ~+ S
其中lineOutmain();是启动lineOut例程8 ?& Z9 ]1 N. d( p: }" d, U
int lineOutmain(void)' T+ p& L. C5 K' |, s' q: L% k
{- r5 n' ]4 [2 I
        unsigned int i;
0 R. G: l* e  Y; b0 _8 o
  L; f9 X: g7 J1 |0 Z$ m2 }8 ]    PeripheralsSetUp();5 k% Q. m6 ~& I! q
6 Q! o6 T: a/ E2 _) r" I2 C$ Q  |
    LOG_INFO("\r\n ============Test Start===========.\r\n");* z' B7 h4 P3 }; B) |. N8 p
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
4 c1 }' l9 c  o8 T. r/ }    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");# ?8 I0 k5 e+ ]9 _4 O7 u* H/ v
. e1 d0 L* Z' X( v+ n4 F
    for(i=0;i<229396/2;i++); p+ v3 Y  p, P( e) [, \
        {2 j$ y8 q0 n, a
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;3 S% ?$ T* p$ H0 Q1 \
        }
$ K, H9 Z4 P: }; g4 \7 }* P# ~2 w9 }% ~7 t6 e3 k7 K# [
    IntDSPINTCInit();0 R, ?. x3 f% x& B! b3 |1 [

, G+ ~# X1 T; M1 _    I2C0IntRegister(C674X_MASK_INT6);
+ J" x5 z# G) ~" ]. u& B( @9 J/ Q0 s, \. y: j. c2 S2 S% X
    IntEnable(C674X_MASK_INT4);+ w' d1 p/ d4 b5 R+ }% f
    IntEnable(C674X_MASK_INT5);
* r! t4 I- S; s$ d/ E: G    IntEnable(C674X_MASK_INT6);& v3 D' J2 Q) @* n, T

7 o- l' H0 j( \; f+ F) D    IntGlobalEnable();& P" F7 g3 u9 P/ Z: Y9 m& M4 K
; t1 u6 R2 [# }$ ~; c  }
    AIC31Init();
# @# R2 E* x3 ^7 z. I8 H    ToneLoopInit();1 w  W& D; k. u) D1 T& i3 }8 j
    Start playing the tone looply  b2 f" q5 f! R) r, K
    ToneLoopStart();8 Y8 }& }1 V. G; b! |
8 }5 {, V. H# {1 D' r( L
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);+ Y+ f: V" T2 K+ B

% s$ }- a# c  x}
- r: f* S3 _* P2 d# [# ]# Z  q- [' k
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。8 n' g2 h7 |* ~5 ^" F! }* k" N; ]
5 F3 f/ V# n! m1 b% J+ K4 Z
) L9 q4 g  y$ J2 ~
" @; D; t9 X4 M

* q# c& p5 G) M& |# F+ ?0 \
1 v4 l2 w9 a9 ~% v$ b1 l- A- L9 h! \, K5 B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断2 [" Y8 ~9 U& [5 C  j, x( U' P& o

2 D( i7 Z6 `5 W7 ~9 U5 q8 J! n在 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-9-16 03:24 , Processed in 0.042072 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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