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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。4 ~. P4 R. k( I0 [
目标:AUDIO_LINE_OUT播放声音。ad采集声音。  Q: N4 l( X  ~6 F, p
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)! V! U' _0 r1 F* y* V
详细程序如下:
1 ?& o, R) S1 ]3 h' N  _3 |DSP侧 main_dsp.c
% X( y0 g0 J1 u* E5 mextern int lineOutmain(void);9 S2 p0 A& F8 H" s+ l; _& p
Int main(Int argc, Char* argv[]) {) U/ }7 }1 D. |7 ~
    LOG_INIT();
' R9 Q7 J3 p8 d  y0 B. R) Q+ H    Error_Block eb;, w4 q: s  y! T; K
    Task_Params taskParams;
  |/ e# A6 p) \( _8 g' e, J$ \
# Z9 j5 i0 Z6 F  A. g8 [    LOG_INFO("--> main:");5 ^5 t% Y7 P4 Y6 ?8 m
3 W/ i. E, w3 `
    Error_init(&eb);
6 J4 e: V) R8 I+ n: [8 Y1 S: Y4 Y- ]- t
    Task_Params_init(&taskParams);, i$ ]2 `1 Y7 o- C2 T; m
    taskParams.instance->name = "message_loop_fun";5 l9 Y* A5 k. W0 y  z, \
    taskParams.arg0 = (UArg)argc;% M$ U5 X1 w: P  F( c
    taskParams.arg1 = (UArg)argv;
% n0 q' P2 ]- R5 _% Q$ S# W% _7 N    taskParams.stackSize = 0x1000;% X  \- R7 i: H) `8 D' s& w; s" o
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */5 V: L5 [5 o9 o6 Q- ^- }
# h. Y( u0 [$ G0 z1 a
    if (Error_check(&eb))
  e1 Z2 w& @3 ]( K        LOG_FATAL("failed to create application startup thread"); 7 f; o$ w/ @7 I2 [4 l6 [4 u& m
       
' |9 l7 U, d, k* L! H' ~" @    lineOutmain();
. J& C: e8 f2 ?    BIOS_start();9 F' {7 T) ~: p  ~2 |: S
    LOG_INFO("<-- main:");' W7 `  |) G! ]
    return (0);
$ |. U# O% O% Z8 s% l}
  K; Z- D7 l# U5 O( \其中lineOutmain();是启动lineOut例程: w8 M) Y3 {9 o5 @
int lineOutmain(void)
  m& J% ]" ^: I$ T: }& Y# d{+ B  p) \5 s6 y& H' ?2 L0 `9 e% _
        unsigned int i;, j: s( E! b' f0 ]7 e

% O; Z1 y* Z7 i- |/ x6 V8 V1 o    PeripheralsSetUp();3 {2 v- f# L) e. |6 ]4 k1 z

) g2 V7 k9 n* A% z+ K- P. l    LOG_INFO("\r\n ============Test Start===========.\r\n");5 ]9 r; }" z5 m  i  @) x! v  R
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
. _! @& \3 Z% z7 m    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");: z4 B2 P5 s. c1 _" u
( l" V% c+ o  G7 |3 N
    for(i=0;i<229396/2;i++)
/ m! W. D& L! p5 x        {
, f, H6 o( A9 a) C( l- ]                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;$ t  H0 a9 D% p6 A; d; B
        }" T  o4 z- J  h1 n  `
  G" c3 [3 B2 Z, H
    IntDSPINTCInit();
+ K* A) \- g* Z- k! u! V6 T% f4 v- F3 c/ \5 C6 s- M
    I2C0IntRegister(C674X_MASK_INT6);
7 h% {+ Y9 [" P7 w' {4 H) K4 y; }: g& {& U" T
    IntEnable(C674X_MASK_INT4);
, s* }, z: Y" g  U5 H% \5 h( f1 m    IntEnable(C674X_MASK_INT5);; g" D- m& }7 ~
    IntEnable(C674X_MASK_INT6);+ G" V. `4 W$ ?6 n9 B: }
: D; `( T: Y, U
    IntGlobalEnable();, j# @( Q2 V7 K  _- i& m0 C

* U& b6 \, G7 e" T    AIC31Init();
1 s' h+ F& `0 j' I. {( {    ToneLoopInit();9 e0 P) g. \! j2 Q. a9 C5 a
    Start playing the tone looply
$ [5 ]3 X* j' x- X- P) q  ]6 Q" w0 j    ToneLoopStart();* V4 \' ^' e7 {
, f# {% Z6 U3 \: b" A$ M! }
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);  \6 R7 T7 _: L( K: l5 R
) i2 k6 N/ \; c2 ^2 i8 n3 t  V
}
9 v) I! l- n: N7 W5 _; [) R8 Z* A0 e2 p
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。! m3 |8 j" N5 u7 P( l

5 }+ X8 c, m6 x7 D9 b
; X  b, O* v' c
* b5 ]* z8 H  }0 V  }" M& z# e
4 i4 i* N0 y* p! e, ~$ s5 z; I# K; `

) j) N) V0 T. _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断' `% S6 V: D4 b( \
& k5 L5 I- c% p
在 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-12-23 10:18 , Processed in 0.044527 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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