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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9595|回复: 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 u3 S% f9 i2 B% N" X
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
) Z# n! j' k$ c+ f5 J现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
/ k+ }8 ~5 v; A* u- b( h0 p详细程序如下:
9 |$ f* _8 r& v# J) e2 sDSP侧 main_dsp.c( k& B/ l* \  P9 w' j
extern int lineOutmain(void);* W7 j$ @4 M- j" f
Int main(Int argc, Char* argv[]) {) P' o; V8 J& x8 k3 a7 G& b! c
    LOG_INIT();( f; H# F9 g0 p8 `! F8 w
    Error_Block eb;; e1 h, i" |+ b; s  K1 s
    Task_Params taskParams;
. R  k* H) V* m* H$ @8 z+ p7 Z5 k( S8 v( S* q# |; w" v
    LOG_INFO("--> main:");
5 k* M$ ~. m9 ?
5 V2 x$ K# B0 x+ J9 _4 q    Error_init(&eb);- Z# ^; R) l+ r: _3 j! c

! g# {" T% x7 m    Task_Params_init(&taskParams);
/ M. L% Y. J8 r9 I; k% o( |    taskParams.instance->name = "message_loop_fun";6 s' i% r6 Z+ G  D! D% L
    taskParams.arg0 = (UArg)argc;
" P4 Z, x* C9 z) i6 r/ e    taskParams.arg1 = (UArg)argv;7 B2 r  z. i: W+ m) [- F
    taskParams.stackSize = 0x1000;2 r( D+ [& Y+ E( F
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
9 Q8 Z7 C" T) |+ W& x, o
! D- T( V. }) `& B9 X! E) w    if (Error_check(&eb)) $ S& E, |7 g7 {* z2 g  `/ @0 T
        LOG_FATAL("failed to create application startup thread");
; b2 z6 J0 o2 m. B- g$ x       
. c6 b4 I$ w2 M' g# f& J3 O% L- S    lineOutmain();, c9 _: O. }" a, m
    BIOS_start();& B! R) q( v2 a" D
    LOG_INFO("<-- main:");
& s1 s7 `' _% N4 a' a6 `7 m; ]  Q    return (0);
0 e9 q8 g- g5 p: w* ~}
5 Y* T1 g& H, s3 @0 _& S& H其中lineOutmain();是启动lineOut例程# T; ?( U, ?+ ?9 q1 [
int lineOutmain(void)
7 u- V) i2 H7 b- N{& A* w! _+ c* C5 l8 O1 a2 T
        unsigned int i;
$ [. u$ E! ^# Y% w5 I
7 F4 m' }+ Z, j- A1 L1 g3 K    PeripheralsSetUp();
. I% N! q& u: w6 r& d) u0 B6 T
; F  S( T, g) G3 u& h    LOG_INFO("\r\n ============Test Start===========.\r\n");
* l* a8 C6 R: w1 P) x& @    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");/ n8 j5 {) V, [/ x/ c
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");; d& Q3 i: H/ `# W' z2 F
# {2 r" s: S& A; n! D! h; c9 W
    for(i=0;i<229396/2;i++)  y, e/ D  Q" D. K& _
        {
& M/ ^/ ~. A2 ?2 ^                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
3 e! ], Q6 Y6 z4 f# K/ W+ a        }% S5 g9 _# c0 g* D) q. J

) j1 A/ N  V' ~7 J+ C    IntDSPINTCInit();) a8 f( k* m4 W$ ^$ r# x
5 E: b' ]+ V! {' J; u
    I2C0IntRegister(C674X_MASK_INT6);4 Z4 n  I0 R0 W: `# a
% V# F. s8 J# p4 u  j" o
    IntEnable(C674X_MASK_INT4);
4 Q* s8 v. W. Q5 s4 j, n    IntEnable(C674X_MASK_INT5);
! Z1 G1 @! X+ T7 S" y  s. W& ?    IntEnable(C674X_MASK_INT6);) c" J9 l  H, b' k9 M, W5 w

, }) D. a) F) y% Y1 B4 s    IntGlobalEnable();
7 N0 B& k5 ~" \+ }8 [- Y' u1 B9 o, h8 G" ]" E' G: I2 x
    AIC31Init();
) Y+ r- W. W8 x+ f0 _2 Y    ToneLoopInit();
+ W  C4 @; q3 Z- }6 p    Start playing the tone looply2 S9 x- H+ W/ V9 `# D
    ToneLoopStart();
1 b  W+ B# z3 m$ g; E7 q  ?
! K* V$ W: k- n% r; m    LOG_INFO("\r\n ============Test End===========.\r\n", -1);/ W! e. [( V) r, R3 W
5 }' ?1 X, i/ V; {  c% f' A8 w
}
9 o% w$ @( |' l5 {+ K: Z! Q" H$ E
! I- {! e$ y, Y+ c# B" \从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。; T- h; z) }* K, [

2 X; ?) ^4 @# [+ [
* {% }$ Z, l' |; f8 f3 s4 p3 h& _# w: k( h, T  F

- `$ ~) V" o1 l8 b4 U; l
4 S, U1 Q- J& G% D2 s* U/ A3 y- k  ]" e6 J, W) a' B8 ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
+ x  @! t; T) b1 x3 l8 H' n+ z
8 X8 A. U. c+ p) H在 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-11 18:48 , Processed in 0.050762 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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