OMAPL138基于SYSLINK的双核AD采集处理例程和线性播放有冲突 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。8 l" f  A& V0 e
目标:AUDIO_LINE_OUT播放声音。ad采集声音。  f+ L# n" s- c  a
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)+ C8 Q7 A5 ^! V. h; H0 w8 {7 r
详细程序如下:4 u0 Y. w2 N1 L9 S& L8 @
DSP侧 main_dsp.c- x# V1 ^- M* Q* d/ r! u
extern int lineOutmain(void);; E( X2 k" @+ v$ ?# R9 J  K5 ]( A
Int main(Int argc, Char* argv[]) {
7 x% e# F1 t1 _1 G* x& V9 `    LOG_INIT();2 o4 ^* c$ m; E# a7 @! l; w
    Error_Block eb;" r# n# `0 H- X: U2 r) g$ A/ F0 ~
    Task_Params taskParams;/ s) N: u9 C7 s( L' S: b
, K( e  h: C0 e- i  u# Y
    LOG_INFO("--> main:");& R1 b, i9 d4 K) ?

  v# Y' o/ L2 Z    Error_init(&eb);
1 I& |' e9 B- \4 ^; y0 d& y3 G0 H% K# u5 y
    Task_Params_init(&taskParams);
; l# ]0 z. F6 Q1 X' v+ G3 P    taskParams.instance->name = "message_loop_fun";- c' _' g$ s* U- E% F# L: R" P
    taskParams.arg0 = (UArg)argc;; H5 P8 [+ @2 G- B2 \1 d
    taskParams.arg1 = (UArg)argv;/ [; ~9 S7 B  B. C2 b5 k
    taskParams.stackSize = 0x1000;" B6 K6 _+ T) I- A* n* }
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
2 C# k1 E0 D" T& u$ F" U; {" G& O' s0 X' U0 V9 e
    if (Error_check(&eb))
$ R3 ?; @, c3 R8 P        LOG_FATAL("failed to create application startup thread");
; X7 U4 L9 a' p. l       
- H3 r3 ^9 r( [5 d+ Z    lineOutmain();# j. U+ e# v1 j$ a8 p, M5 K
    BIOS_start();
! }* K- l+ I# F3 ~+ T: m    LOG_INFO("<-- main:");$ O8 \' ]: C5 T8 n( _
    return (0);- R, }! A0 E5 Y6 N9 U
}
5 D4 N) P1 O5 T3 @. }* \/ b其中lineOutmain();是启动lineOut例程/ [$ s% ]9 K5 E' u1 q
int lineOutmain(void)4 [1 F7 ]8 Z% S, J3 y
{0 M. P2 C' V8 X: s% `' ~: X
        unsigned int i;
3 F4 s; o, e/ M2 h6 c( V, Z! Q1 N8 L: A) y7 c
    PeripheralsSetUp();; T/ O3 V+ G$ I  B

% c& b+ n* X3 J3 `6 }. ]" Y    LOG_INFO("\r\n ============Test Start===========.\r\n");( _) R) Z0 @# n7 ?
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
& I8 D. l5 G2 H  ~" J* e' n    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");1 F8 @, M1 O1 G" F- R: {" R" k
2 a, R8 H: W' d# \
    for(i=0;i<229396/2;i++)
! }, o" [! s9 _: |- n0 t4 x' p6 G        {
8 j  c/ g. W4 U  C: B3 B5 h                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
; G" f$ l+ G& N7 P; o: Y" m        }
. g0 ]! k; L( `# j2 M5 S8 q* s9 K
* x# a. O( b0 v/ ?/ c4 [' }    IntDSPINTCInit();
4 t# W! a8 K6 A$ x# C# R5 O* m. @; O* g
    I2C0IntRegister(C674X_MASK_INT6);7 x  A9 i- J+ O
" s0 t3 f$ e, e9 b
    IntEnable(C674X_MASK_INT4);
, @4 t9 }8 }2 ~    IntEnable(C674X_MASK_INT5);# {& s4 p/ \6 l0 i$ K
    IntEnable(C674X_MASK_INT6);2 Z+ t$ K+ K8 |) [: q7 a" E, i

2 l; a3 W' k+ P    IntGlobalEnable();7 z+ k  q3 L1 c: N& Y5 C
7 z% C; Z: o3 K9 T
    AIC31Init();; ^: S. e+ q" @# m/ m- B
    ToneLoopInit();2 x: c) h4 ]5 k; A+ |
    Start playing the tone looply
0 B& ~: _8 a1 ?# k1 |    ToneLoopStart();
  @' t" M; c2 `9 i+ p4 M
$ B6 ~/ e1 p- J8 c% C    LOG_INFO("\r\n ============Test End===========.\r\n", -1);$ _1 R& {- z7 i

& h$ w8 E/ Y0 |: T5 W. ~}5 H" K* r& J3 ^# G& |% ?1 q

& Z# C/ T  U5 q. V# Q. P从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
) w8 R$ V, X  j+ F7 y( m( E& M  D1 }; b' U
" \# {0 P' H$ `* w2 {3 ^/ O

! x, `/ l9 ^. w2 D& T, o9 \) b9 Q$ V6 E. Q* g5 k+ M
" b6 K! e( n. T  s

( u4 r* j3 d/ O5 X( U
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断+ ~8 |- \# h/ e& k2 @& L5 ]) y

" n- N# Z6 M4 x- W- f& t在 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, 2026-1-31 02:06 , Processed in 0.093634 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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