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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
5 O) b# y9 r; {& @/ h( v目标:AUDIO_LINE_OUT播放声音。ad采集声音。
- X5 {+ p2 g- e6 R- P, `$ c3 D9 @# E现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
+ f+ y3 |" j' @* Y/ j详细程序如下:
& {  v9 x; z  l  J. KDSP侧 main_dsp.c
7 B/ y+ I- d$ J. c0 t& q/ J1 o$ Zextern int lineOutmain(void);
+ A: c' O" [& IInt main(Int argc, Char* argv[]) {
0 ^& E" `' }3 J: L6 s5 Y+ v    LOG_INIT();
/ V& x0 j& Q* ~1 m' Y& ]3 O4 T. K    Error_Block eb;
- y7 c5 k$ g; c% |: m: r    Task_Params taskParams;
  x. W& ?- x/ n& Y' L* U; e. W6 B* U2 X
    LOG_INFO("--> main:");7 w$ ^0 j! W5 C) e0 Z+ K) \
+ a5 R- U. f' u; m  ^# r& c
    Error_init(&eb);' f8 p$ {$ Q! U8 B( x- G4 q

( S& b6 h& \1 P* g; |, d% w    Task_Params_init(&taskParams);
2 |0 U' v; D( H6 f    taskParams.instance->name = "message_loop_fun";
+ S3 g1 w+ g/ B& x. D5 M. @    taskParams.arg0 = (UArg)argc;
4 s0 T$ F1 F7 Y2 r$ D1 N    taskParams.arg1 = (UArg)argv;' l: H7 ?; X: I# ]# m- S5 K( T+ K
    taskParams.stackSize = 0x1000;9 m/ H' q! a* L  T7 ]
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */5 Z9 v% i. G* }) X8 T

  u' Y* E/ ^/ \* [% G5 O    if (Error_check(&eb))
2 t" `0 H0 ?1 d! _5 l! |2 J        LOG_FATAL("failed to create application startup thread"); , H! X& p( F/ I8 w4 B2 [2 l' A
       
& ^! S, f! \+ w    lineOutmain();
$ J( C# ?! t9 X    BIOS_start();
2 w  e  _' M. \: ]; j" o# b    LOG_INFO("<-- main:");
# j, q# J# H. A    return (0);
( j. d/ M2 g0 u3 Y# `2 z7 ]}
4 |5 y' S6 ]- `3 P: U! m8 k5 R其中lineOutmain();是启动lineOut例程" [& ?! }" }. C$ E3 z% G  G* }
int lineOutmain(void)+ ]; }6 U1 e6 F; p: H- H
{/ D& O; U" }) M1 }6 F8 K" k* T
        unsigned int i;. r/ e5 G, w8 [7 @& U. s
" Y# n4 b: i) U/ m# e
    PeripheralsSetUp();' k; Q! _" K6 B# s4 I
+ B! R4 c; s. y8 R7 ^
    LOG_INFO("\r\n ============Test Start===========.\r\n");7 [0 ^. m. z, K: w& h! n
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
/ A+ `6 c- y4 u1 C! s! J    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
# c4 I: g2 m5 K& l" `
+ V) i* M9 S6 W) l7 f  c; v" G( j' H0 m    for(i=0;i<229396/2;i++)2 }; M1 d5 V7 \9 U0 U8 k
        {" D( I" H! J( ?1 R& h+ h/ P
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
! R- Q8 k) r; ^5 E# W) M        }" {, ^; N/ u$ Y  q$ ^* z' C* W

4 c6 o- x  Q& R+ \- u) h( U$ O    IntDSPINTCInit();: U# D9 ]+ Q2 y0 @- }
1 G9 H+ y" I, C! B+ O' }8 C. P& _
    I2C0IntRegister(C674X_MASK_INT6);4 p8 N$ `+ _8 I- {- Y9 A

4 K7 H& T& Q; O( t    IntEnable(C674X_MASK_INT4);% R5 v" z" t0 C& ?4 k/ I
    IntEnable(C674X_MASK_INT5);
* }5 }. W1 S: z, \- f+ F& E    IntEnable(C674X_MASK_INT6);
+ ~5 Q7 h6 N. e+ H$ I6 Z$ T' p2 T: w! O
    IntGlobalEnable();* t/ D, u( ~) j" o  i7 I5 ]1 c
) i$ G( v& e7 k& _
    AIC31Init();
3 }0 e' v& O. G7 X$ y4 ^    ToneLoopInit();; V5 A4 ~. h( u% q; \
    Start playing the tone looply' ?  f$ [8 Q" y4 [  c8 k9 v
    ToneLoopStart();; G2 U( x! V6 i% K  v" Y0 ~% m; @
+ a+ v7 b( ], ]
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);' P4 u. e/ M5 j/ T5 f+ v
/ U5 h- v. \  m) x: H! S
}6 g" Z9 b- H% y3 w$ C( F
: f" c; @% F; f8 l$ P  @5 y% }9 ]
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
8 _6 W* `- r, `' [: s6 p" ^* E  |- p5 r) h0 x7 h6 F
! k; R% P) y3 _5 U1 q
% Q: O3 V/ b3 y" H- @1 C' d

- \. x  e# P8 b# a; L- b' o7 n4 A2 F% y  \
. G5 @/ \* D: r5 R# v3 P; |3 X3 _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断' ?& n; ]" k" X$ H$ V' [9 Y( |
4 l1 g! }$ Z; V  a. s/ k- t
在 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-30 20:57 , Processed in 0.047833 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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