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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。0 x) {! S" s7 p; I
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
" t4 x" J8 Y9 k4 w现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
4 g1 _0 T5 p0 [详细程序如下:
) v( F2 [: K# G# cDSP侧 main_dsp.c
9 ?- A  b! a2 Hextern int lineOutmain(void);
/ s" b9 F/ n  J0 {/ CInt main(Int argc, Char* argv[]) {$ z! s! e+ [( [2 @$ m0 S, J. h; u
    LOG_INIT();) }) d- I# S3 [
    Error_Block eb;3 X5 J8 @& K9 G  H
    Task_Params taskParams;
6 W4 _" c* `. e0 g* n, H9 s' k6 I! S: D
    LOG_INFO("--> main:");
0 v5 ]* I8 Q! v0 l2 V# N! k, p
' \# Y% h, a* U! Q8 s    Error_init(&eb);
* r( p& \& i! k9 l0 K7 E& L. r$ }# ]; m1 b" L
    Task_Params_init(&taskParams);3 z( U) [$ S" E0 I- b
    taskParams.instance->name = "message_loop_fun";
1 C0 |/ s4 M* L: y, S% v    taskParams.arg0 = (UArg)argc;
9 z' j7 m' R$ J    taskParams.arg1 = (UArg)argv;
5 A# e1 B2 v: z' ^    taskParams.stackSize = 0x1000;6 t: {# J4 ]( ~
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */+ B' T1 C4 t" p: ]+ w6 p6 T

# v. n7 x" u( n; U0 d6 Z* I    if (Error_check(&eb))
9 e$ Q; E; L& q  u        LOG_FATAL("failed to create application startup thread"); $ o- m8 m2 W; f! B1 `- m8 N* ?
        / |) ~% G, W9 }/ {# r2 a
    lineOutmain();
% ^1 ]& k+ M8 j$ s2 C    BIOS_start();0 m# ^( x$ {1 U5 P! w& O
    LOG_INFO("<-- main:");, m  Z- M* W* E. Q% z
    return (0);" S1 r9 D3 R& s; G$ `" ~- m
}
8 L( O4 R; y+ p其中lineOutmain();是启动lineOut例程
" Z( i- h* q" s+ ]/ Z' sint lineOutmain(void)- Q9 W+ I% _+ Y6 p, e
{
7 t" P- h% I2 _1 X        unsigned int i;# F; k! ^2 Y* i" a6 f: Q, W" A
4 v$ ]5 u2 M: C+ ]. K
    PeripheralsSetUp();
4 _: W" ]# ?( S5 E& i
& d  J* @2 |8 ?8 J    LOG_INFO("\r\n ============Test Start===========.\r\n");+ ?2 L7 I  ]  @' j% {0 L/ q
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");6 u9 c- D% i$ ]  E
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
" V) v/ H1 S* ]) D$ J9 M3 i* V9 B3 q; z
    for(i=0;i<229396/2;i++)
5 p4 t, C  V2 w/ q        {
0 F5 c) ^8 `" W: Z' V                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
# d% V+ m7 U$ F- ?- `        }
' z. o) o2 ]8 s1 q, P8 \% b0 x
. s9 ?4 k' ^. ?! x8 p8 }7 j0 k( x    IntDSPINTCInit();! v! l+ q6 P$ C4 ]5 O! d0 t

1 x$ ]0 a) L) ~( t& d$ j$ E    I2C0IntRegister(C674X_MASK_INT6);
7 e  H. N" \1 x9 @, ~( s0 `! C5 g$ x7 f( A  }( T/ X
    IntEnable(C674X_MASK_INT4);9 H3 p8 x( J. B0 q7 g2 s* l9 i
    IntEnable(C674X_MASK_INT5);
5 I/ a8 e" `4 B9 j; `2 d    IntEnable(C674X_MASK_INT6);  Y+ U# Y6 _9 f/ i$ e3 ~. w2 k

% r& m8 R* x) R6 _+ s    IntGlobalEnable();- N0 y) g5 y" y2 o! |, L& @

& ?7 }$ w$ k, u: |    AIC31Init();
# g2 L, [- u! {4 r6 z% \    ToneLoopInit();
& \2 A, s2 E) q: T& `7 [; z    Start playing the tone looply* O( b/ q( C; y: ~6 D
    ToneLoopStart();$ b4 F# }+ }2 J/ u$ Z
2 C- }# t/ ?) h/ U
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);7 `& J- u  j$ h6 d) O$ S
+ c! Q' T3 `! T8 l$ v
}
  q5 r$ @0 [# n- |$ i' C2 G# O8 b. Z) d; j  C
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
) t- B. r3 P% u! ~9 |$ p0 D
# K  K: x0 K8 @9 p# p# Z4 |
. j( h- Q5 S$ C( l4 |5 U9 W9 E. ]! X* e

" U! c5 x3 o$ \& E( T: @8 Y% X6 o9 G) t. O

, o+ l; e7 b+ Q" _& Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
0 |( A9 b5 ]% s* t% X
0 @$ d) I1 g! {3 v  b; ?在 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, 2024-5-2 21:49 , Processed in 0.042979 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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