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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。' z: f/ h& K" b0 ~) u" Y
目标:AUDIO_LINE_OUT播放声音。ad采集声音。& a! K4 O' K% k6 ?- N: _! U: H* ^% {
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
+ j+ b& }. S0 ^7 P5 G详细程序如下:4 y! ?8 Y: T' r
DSP侧 main_dsp.c
2 Z; z0 O. g5 m; Z1 i( cextern int lineOutmain(void);
, N1 g. I/ C5 V  lInt main(Int argc, Char* argv[]) {
' t, W: H- s/ C3 H( X3 O! Q    LOG_INIT();( t$ u( E+ b( T3 j" M1 ]
    Error_Block eb;
% w" i2 Q4 N7 X+ W5 A+ [    Task_Params taskParams;
8 r2 m+ N6 m, g" q$ O; P4 E/ ]! J4 t7 T1 x. N5 c9 q2 d
    LOG_INFO("--> main:");/ G5 k/ {  J. n7 L4 W

% H  p* M9 O" A    Error_init(&eb);
; S6 b3 k9 G' C5 J# f+ b. p9 Q
  I5 P! N/ Z5 h) \7 [) j+ W; m  e0 G    Task_Params_init(&taskParams);
1 j7 m# I5 f0 E$ A    taskParams.instance->name = "message_loop_fun";
* w6 [; v0 A1 W! N4 o8 s) {2 u7 ]    taskParams.arg0 = (UArg)argc;
" ]2 T. _" t2 v    taskParams.arg1 = (UArg)argv;
5 l& w* Y/ J' n$ A    taskParams.stackSize = 0x1000;
0 u" Q+ X, ]/ }2 t    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
3 r/ d! w" b0 p# {1 [1 \5 I
0 R$ c6 J* R+ s! p" s: j    if (Error_check(&eb)) " S  E+ ?) p, R8 n
        LOG_FATAL("failed to create application startup thread");
4 O+ @! Q- c, R, y/ E       
  {; L1 O' B7 f  W0 i    lineOutmain();/ z! ?% g7 K1 w, w, t+ Y; f8 o
    BIOS_start();
9 Q: p# m7 T9 V2 A    LOG_INFO("<-- main:");& |' v/ ^( f4 e6 Q# X  p
    return (0);+ `3 L- M/ q9 u: e6 ], q' K
}
6 d; N# j4 r; Y9 B" i4 J其中lineOutmain();是启动lineOut例程7 t0 G  X3 l! v" N4 t
int lineOutmain(void)! O% J5 i! m! R  Y' Z- B$ t, U
{
" d9 }3 e' r& q        unsigned int i;# Z: k) m2 ~9 k1 r

( \- J4 j4 d, U' J2 \. j# r    PeripheralsSetUp();
& T& k/ S  J2 F
- w: b; d* Z% z7 s& o    LOG_INFO("\r\n ============Test Start===========.\r\n");5 s) F4 A) ^+ D% S# N4 Y
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");6 Z" D4 w1 ^5 Y$ |: x; X# E' J  L
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
: c0 c% n6 R' n; R4 ]8 q0 ~
8 v5 y9 _0 [2 t8 ~    for(i=0;i<229396/2;i++)2 F! }# ^6 o0 [% F% S9 b3 V1 Z* L
        {$ K" W- y4 Q* r. ]( l) m
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
: V& U" L. K! d        }
% ^( ^# \) c8 P- P3 u1 w5 c8 q; O/ C( l
( ^! L! j4 H8 U6 h    IntDSPINTCInit();
% j! `) v  @' b% S9 _9 Y7 Z# k
$ y9 f/ ~$ G  q4 R$ p* x+ E    I2C0IntRegister(C674X_MASK_INT6);
( ?. z6 H7 F+ P0 ^3 S
4 q1 _9 `- D  J; L1 S: }2 a    IntEnable(C674X_MASK_INT4);1 @$ t. c; A' b) b! ?/ a
    IntEnable(C674X_MASK_INT5);
1 ]2 Y, E; @. h  f) Z0 P' }    IntEnable(C674X_MASK_INT6);
; y" N/ @$ x) G( G( d, t( z; m# h$ E* x
    IntGlobalEnable();
. n% L% D1 Y; P) f3 c
( F( B  z$ R. ^7 B* E" v5 d    AIC31Init();& S' }' j' M, p# B! q
    ToneLoopInit();
4 m, D2 v2 m0 ~- D4 B! q2 i    Start playing the tone looply
4 o& g3 H3 Z$ r5 C! R5 g    ToneLoopStart();
4 b- J& Y/ ]' z' U5 \3 D: E
. ~3 z& G6 p3 ?) e+ ]  j! X7 c8 `    LOG_INFO("\r\n ============Test End===========.\r\n", -1);3 m, a# h; H. v  L- t# j

1 u! c- N  I0 D$ o$ B( C}8 @6 @5 D* j+ V  R% w" @3 Z; h, R

4 w( d, f, }  l从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。! j0 a- x# @. R0 H, n
' W4 Z% E) `" _& t5 B7 T$ e0 B

8 T) S1 ~  N2 }9 S: K  I! M4 n1 l- `; s- J0 h/ a
, P9 w9 J# x: z( c; w( Q
: c  c: x7 }9 ?; P' n1 O# C( k

! K  }8 R5 q& o3 q. e0 y" J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断6 e* E) R* k0 a8 ~
0 a( u: w6 D1 d: S: R
在 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-4-30 03:56 , Processed in 0.040499 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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