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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
  v" `% ~4 B2 |目标:AUDIO_LINE_OUT播放声音。ad采集声音。# @& K3 S5 Y, v  i/ K" w
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)9 g) K0 u) d! \) c
详细程序如下:- j( H' ^+ g0 ~* W
DSP侧 main_dsp.c( Z2 P' ?! p; y6 p1 ]
extern int lineOutmain(void);4 _1 {6 ]& ]9 l& c0 V  g4 Y0 M- t
Int main(Int argc, Char* argv[]) {
: [6 C# d, S3 x    LOG_INIT();2 Q+ I# |: I8 C6 a
    Error_Block eb;- j! \1 M1 Z/ D, Z
    Task_Params taskParams;! B& S& Q2 W: g
$ S6 \  Z( ?7 |' }4 p. ?
    LOG_INFO("--> main:");2 e0 y: L% W5 A

$ }' |: _- ~/ _0 e# s2 I2 e! w    Error_init(&eb);% {+ [) Z7 T6 E4 Z2 `  C+ A

2 z1 m: e) h) U) |7 [: E* K" S8 `1 H, y    Task_Params_init(&taskParams);4 y& [( E8 _6 n) M/ [: S
    taskParams.instance->name = "message_loop_fun";) r4 o& f+ \4 N; E$ Y7 `
    taskParams.arg0 = (UArg)argc;
! I9 G7 }! f$ L7 g  p( k    taskParams.arg1 = (UArg)argv;- D# I/ Z: ^' @: }3 X
    taskParams.stackSize = 0x1000;
& y+ A- `! N0 j7 ~    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
  G/ t) A! o" |2 u% h- R* F# c- p2 q7 O# O. o4 n, A4 k
    if (Error_check(&eb))
7 q/ R& U2 d0 s/ }6 {" ]% f        LOG_FATAL("failed to create application startup thread");   M0 H% @5 I% X) s
       
# X; }( D& P( D: Q# l    lineOutmain();& V1 r0 c2 \0 s7 m! e
    BIOS_start();# ~; f) [  I5 _! c1 O& Z9 v7 E
    LOG_INFO("<-- main:");/ {+ g- u$ E9 y, F* B, t! a5 ~" E1 _
    return (0);) `5 R# ~$ L, i8 p/ P
}
# }9 P  X6 t* ~其中lineOutmain();是启动lineOut例程4 h7 T* Z0 ~8 c2 i
int lineOutmain(void)/ w0 B# C! L: ]; u; x( n
{/ `" [9 \8 y% u  w5 k
        unsigned int i;; m% Q8 I- }( y6 ~" D

5 |! s- [$ O8 T( Y  @- d' n    PeripheralsSetUp();2 N% ]: i5 f5 k
' d; p6 M  j& Y, \
    LOG_INFO("\r\n ============Test Start===========.\r\n");1 x) n! b- v; Q' H
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
- ~* y9 r6 O1 m# J4 k" O; A    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
! E! T( q& }# g5 J
* E5 g& `3 }8 T8 ^+ g9 N; a  X- {    for(i=0;i<229396/2;i++)' |* O) ~; |% M. ~6 G& |1 ?
        {
, I! a) _$ O- d1 Y1 I( i" |                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;2 y' R2 S! \% V5 a; f
        }
, g' |* J7 A9 j* c3 q" ^/ t( y
+ r( Z! L; a& ]  z0 [; c( |7 f    IntDSPINTCInit();
! |2 N% ]' P# \  C! T. P6 e3 e/ D7 w0 U( T, l" p' C
    I2C0IntRegister(C674X_MASK_INT6);2 E5 J- a& [6 ^) q. d
. F3 V% s) x" `- v
    IntEnable(C674X_MASK_INT4);
1 z6 T/ N" b6 d3 Q3 y: o    IntEnable(C674X_MASK_INT5);
  U& O& ^# L2 d4 d5 @8 f* t( R    IntEnable(C674X_MASK_INT6);
" X3 a1 r2 x& i: ^- D8 A4 x+ J, u9 S/ {" W0 Q. _# }' S- @
    IntGlobalEnable();
/ o0 ]' {( ~+ l, X  S: x/ _. M/ h0 o' f+ v* w
    AIC31Init();% r- j- s3 x0 Q& C3 X. V* w" ~  v4 f: _. R3 w
    ToneLoopInit();
* [8 ?* Q3 A$ ?) Z% h    Start playing the tone looply5 ]- z! j( y9 G( l* t# t. Q
    ToneLoopStart();
) d9 G. ^( \2 u' e* E; o( [& v# O9 U8 J0 l- b# D+ ~5 H0 J! K8 E
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
: L8 z4 k& [+ I  L( I' g" C% W9 r
; }( j4 F# n) h8 P( r- W) u* y}5 i4 P8 Y: p$ [6 a" ?. V& d

% p4 S  Y* O1 s' L& b; |: s: c2 R0 F从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。; `1 y% H! `% c- N; Y; y/ C
: S5 h0 J3 e9 {' E. o  A) [9 L
2 s. H/ V2 |( C+ |! g

3 a7 R$ Z5 `& L. B7 {  b( p8 Y6 \; A% n- u/ N+ r0 W7 c
, B2 E0 {% d" \

8 O. Z4 e: x/ }7 Q$ I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断9 _& N% J: z) ]& Z

8 e! }* d/ Q1 g1 \( C在 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-1-7 07:51 , Processed in 0.044682 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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