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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
2 }1 G' v) q! h' r  C& e目标:AUDIO_LINE_OUT播放声音。ad采集声音。- b) Z8 c* u' L! n2 h4 d
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)' a% N% A: N4 @5 D4 r
详细程序如下:5 d8 S6 X- I- {" }; b' E1 _! f) [
DSP侧 main_dsp.c
4 v/ Q# C4 X# }4 Iextern int lineOutmain(void);- Z9 {9 b6 ]9 [- K8 s
Int main(Int argc, Char* argv[]) {. M$ J' s. @. G- ]. N+ D
    LOG_INIT();4 B# I' Q. |+ @
    Error_Block eb;
! ?+ @4 q# p  M# S5 [  H# O    Task_Params taskParams;
: w; O% ]  q! c7 V/ S+ n8 o, A7 \" @& u% @7 f, N. J
    LOG_INFO("--> main:");) e3 K2 p1 F! x' V+ c

" P5 y2 t+ q1 I' F& C  _, w    Error_init(&eb);- r. g; Y' @1 N+ h

& t/ x" }  U( Q    Task_Params_init(&taskParams);- ^3 K6 Z0 q+ d7 n6 r5 B
    taskParams.instance->name = "message_loop_fun";
$ t! o( m- D4 @' v3 V! F% e  `    taskParams.arg0 = (UArg)argc;
- K  P) L+ i% N: N6 O. m6 |    taskParams.arg1 = (UArg)argv;& c6 `1 v4 [8 y: i
    taskParams.stackSize = 0x1000;
" I: y: m" u& ?& M    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */0 r1 T. k) ^& C* L4 }& i5 t& g

2 l9 H( k: [+ Z5 d, l    if (Error_check(&eb))
5 }2 }$ M# v2 E2 F        LOG_FATAL("failed to create application startup thread");
4 D( \4 x' B) U' Y4 ~9 `       
; t* Y, c: v! i7 ^4 C/ `: Z    lineOutmain();
. U$ ?$ n8 e$ O3 W7 c$ D( E! q* `' W    BIOS_start();
8 D2 o1 M, }, I    LOG_INFO("<-- main:");
% k$ D9 ]* P5 O    return (0);
; q, Z1 a) `0 u% q" G}
' m0 Q* u, \/ W0 B/ X* }/ t其中lineOutmain();是启动lineOut例程  I9 O; Y, W. X. U0 S9 M; N; |
int lineOutmain(void)8 R$ r+ K: `9 W% b
{% ^! {; B& Y+ _( a' R8 w
        unsigned int i;5 u2 p6 u( ~" C: K

  P+ V0 A0 E' Y& o8 ^# U  ?    PeripheralsSetUp();$ b1 u) |0 a+ ]( R; G6 @

# M: M" X: ]( {4 y& C. X    LOG_INFO("\r\n ============Test Start===========.\r\n");
* ?6 L8 r% ~* V& P    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
# }9 c) |" A6 s, S% O# ]! W. u    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");1 q% B3 G; e9 g
  i) F8 i" |2 N
    for(i=0;i<229396/2;i++)
5 B9 _$ P9 n! j' I  V9 A  c0 r        {( X$ F2 X* S. g5 r
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
% c8 W3 o' T' ?        }
: O2 D4 Y: S; E( T
( Y0 C4 D6 X/ v) F0 ?* P/ v% ]    IntDSPINTCInit();
; M9 B" i6 `  |+ {2 t* F% A3 e6 Q+ W+ Y# H6 d  X% v7 c  \
    I2C0IntRegister(C674X_MASK_INT6);
) n: S4 k( U# p/ e- ^" F7 q' F  X& Q
    IntEnable(C674X_MASK_INT4);
4 H7 L# @/ o: A4 B1 B1 U1 D, A    IntEnable(C674X_MASK_INT5);3 `* n, ^$ C8 Q2 _
    IntEnable(C674X_MASK_INT6);0 x! |0 T8 n6 h: Q
4 M( T) G. K  {: r4 i& I
    IntGlobalEnable();8 R0 |% V' Y( }1 _
5 u5 y! R- I9 L) y+ _
    AIC31Init();
  j% T! J( ]; k4 }    ToneLoopInit();3 {* w9 n( V  P  S3 `# ]
    Start playing the tone looply" _4 y8 K6 K: w' L- Q* I+ |
    ToneLoopStart();
1 F) U/ S7 [: i+ x6 F! H1 u, F8 _' A5 e. y9 n% U% Q4 M
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);3 r8 j  [. H5 y( b  r
% i4 \1 r) A& b
}
, _5 ~* Y6 V& p- y) D1 R- ?& ^0 S! D" |) X6 o- _
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。+ |; H; ?  z/ q' @

. Z* j4 `# B! X( M  o5 l/ O5 m/ x/ ?* l8 l1 ~8 M0 A: T

, W( t* S3 ]  T/ }% ~" L5 s! p  B' g9 p4 N3 J

- ]2 g( |& O3 c% O4 p
1 |* @' N5 a" e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
/ G) v# \6 L/ U0 K0 m
$ M  k4 Y& T8 A4 M在 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-11-8 23:39 , Processed in 0.041172 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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