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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9557|回复: 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 l+ w) n9 }6 f+ r0 }. L3 I目标:AUDIO_LINE_OUT播放声音。ad采集声音。3 @# D& _5 {& ^. g7 B# s- w4 T
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)" }, x/ F0 }6 H4 Q- H8 ~
详细程序如下:
* U7 ~3 n$ v: L4 Y- }2 A) `DSP侧 main_dsp.c
) P5 T/ b/ G; L3 S  s% c$ ?extern int lineOutmain(void);
0 q, j. k6 A% o+ p1 ^# {Int main(Int argc, Char* argv[]) {
$ R, V$ p0 ~/ Y0 h, _1 [# q& @0 _    LOG_INIT();0 }1 V' ?# ~/ D- @$ l" `& m
    Error_Block eb;$ Z  K0 Q  t7 [+ |$ n* ?! p
    Task_Params taskParams;# K) w5 s; \- w$ X+ \. O
3 k& w+ A. D1 S4 S0 a% P
    LOG_INFO("--> main:");
) \5 G3 U6 Y$ y- c7 J
7 K0 m- H4 [) p; a1 k5 i    Error_init(&eb);
8 j* |1 ~* m8 y; E, @6 L
: ^. ~6 M! t0 V5 P' A' L) E    Task_Params_init(&taskParams);
2 z1 c; ]6 i1 M* R    taskParams.instance->name = "message_loop_fun";
# r) Q5 b! z2 d8 g    taskParams.arg0 = (UArg)argc;, {  N5 v( _% G( e! ~
    taskParams.arg1 = (UArg)argv;$ }/ F: m: k! z; n' H
    taskParams.stackSize = 0x1000;5 k- w8 B/ R) Z
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */' u1 ]7 f$ _( Q7 }
4 K" Y9 m& F0 _5 E7 m; h. n
    if (Error_check(&eb)) 4 s0 V+ B* k/ i+ ~- v
        LOG_FATAL("failed to create application startup thread"); . C6 y7 ]2 N& S' m5 W) w7 k
       
/ I8 f! _# ^4 ^: x( }    lineOutmain();
9 `1 x, Q& I# x+ L" O- v    BIOS_start();1 Y: x% e0 D4 p. a; T: d& S
    LOG_INFO("<-- main:");- j% T* O/ ^/ m5 R" L
    return (0);
! m: C* p5 y' a6 F: P/ `}# N. k1 f) c1 U" a. r
其中lineOutmain();是启动lineOut例程
0 q/ ^9 X  O7 G; {" n3 G' Oint lineOutmain(void). K' U9 Z  g4 d
{- B9 o3 f" T8 b' J
        unsigned int i;
0 I7 `5 W) W  p, j% B. [9 a* Z" _; g# I
    PeripheralsSetUp();
( C, C4 C+ \9 Z" ?" X# P- L
1 i8 C7 A7 N" W    LOG_INFO("\r\n ============Test Start===========.\r\n");
4 |; B. y# ^% O7 D    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
0 w1 \+ F# z+ w( t& y/ R7 b    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");4 U2 |; M0 Z9 T, s; P
: r5 Q  N! Q7 ~6 r/ {
    for(i=0;i<229396/2;i++)8 k, ^9 u& p/ V- a3 O* u
        {5 I! B0 ?& Q- T
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
! F: E5 R, w" H* h0 B% e        }
. X& [9 l! I7 g4 Q% z
: p" W& l/ W- x4 Y1 V5 R$ ^; O5 y/ A! @4 ^    IntDSPINTCInit();
0 V1 g# h  d( w& z+ a# w
1 a% l2 `" z. p' N! `' a    I2C0IntRegister(C674X_MASK_INT6);
8 G$ `% v6 Y' ~( v
8 M5 P0 @5 U, T& c# a$ B2 X/ d    IntEnable(C674X_MASK_INT4);: t2 _) ~' D4 b" K6 y$ g$ U/ x5 {! j
    IntEnable(C674X_MASK_INT5);
9 b9 _7 r& `7 E+ \4 p6 K5 F    IntEnable(C674X_MASK_INT6);, P" [: s% u! t7 |6 w' d/ N

' U* q; I$ I& ~+ Q4 R& Z. y3 C; `4 f    IntGlobalEnable();
' M$ x( u& j) _5 w
# `+ c6 r* o7 H5 U    AIC31Init();
3 N4 `" v6 ^- f8 y    ToneLoopInit();
  @3 ~, [3 N7 z. E7 J1 l    Start playing the tone looply
  s+ t* m' G: J/ S7 C6 r/ z    ToneLoopStart();
4 b% s0 b( `% s- u" S- u" `
( ~: p( b. @% x' o# N7 s8 u! n4 g    LOG_INFO("\r\n ============Test End===========.\r\n", -1);1 T) ?' H6 z: P' G( L9 I$ X; _# `2 ?5 d/ O
5 G+ o" W4 ~1 S+ P
}
/ Y! f4 }% z$ ?( \8 f
1 E; j8 ~% X* e% w5 n  H从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。2 a7 H6 t( p. m
0 `* P* m7 [+ i/ [

$ D% h1 ?" ]& P2 s! q7 b
" V5 V3 Z0 `) r4 L' _. x& l1 A8 Q! N% Z" X& P' s% f
+ L5 X6 x# b% |! z1 F6 I, R* W
9 ?% }' V  \2 H& @$ @0 X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断" h& r4 z' d9 s! _+ ?# k" b

' |6 a+ t8 M; @/ R2 R! _( n在 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 10:00 , Processed in 0.042807 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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