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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
& I" x+ r' w! h0 M* B目标:AUDIO_LINE_OUT播放声音。ad采集声音。1 q, P( ?9 d( _, z( ^5 n% ]9 S. t
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)8 z! \- h  Q' B
详细程序如下:
+ E. N' _: m$ d! J! ~8 Z! s! a9 |DSP侧 main_dsp.c8 X% N/ ]# O, u0 `! |2 w) `
extern int lineOutmain(void);8 K6 N  O& c$ N' Q
Int main(Int argc, Char* argv[]) {3 o% F9 W3 Y$ t- g  L' z1 Z
    LOG_INIT();3 r( Y( O. M! p3 G5 y3 _
    Error_Block eb;4 n; r) c& d% }3 }
    Task_Params taskParams;% }- o( K7 i' {, R9 c3 P; Z
% n( r  u! Q) W
    LOG_INFO("--> main:");
9 U. v2 `# q8 S5 H5 v/ b. N& T; d& g2 z% |0 r
    Error_init(&eb);1 M. `* ^/ u0 C0 [
% Y: j$ Y2 s5 E- a
    Task_Params_init(&taskParams);: q. A- L- e3 n8 M$ r% u& j0 U7 _
    taskParams.instance->name = "message_loop_fun";5 w; y. I- Q! |: M! H2 q0 N3 a) \
    taskParams.arg0 = (UArg)argc;
( u, u4 n# s# L    taskParams.arg1 = (UArg)argv;6 H- S; P) r# H
    taskParams.stackSize = 0x1000;+ C( ?# v, D& O
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */( ~1 y# K# U  p

8 O* e2 L5 \! g: i+ q6 ^$ j2 Q    if (Error_check(&eb))
2 c1 A( A- O2 i$ a- R8 Q        LOG_FATAL("failed to create application startup thread");
4 ~9 P  B3 J0 {/ T- P       
& n( X6 g3 n4 E, N6 b. C# Q    lineOutmain();
" E* i7 z0 w% S0 E" t    BIOS_start();
0 I* W' }, l+ i' n* Y, I. `) M    LOG_INFO("<-- main:");
- s" n3 G# M6 n! J5 R    return (0);1 E; \. @6 p6 l- ?4 h! z1 z3 |
}
7 W6 a2 J% {$ L# y( t: X其中lineOutmain();是启动lineOut例程  q7 \* C& F) g) M8 |
int lineOutmain(void)
- A9 @5 ^" |1 y- {& L8 Q: @{6 s0 U4 t1 R; P2 h
        unsigned int i;9 C# k% h1 M6 f. ~4 N' O

3 u4 @, N- z. L    PeripheralsSetUp();: L# I7 x4 t) f) B

" D* t1 @. j& M. p/ p2 J0 i( Z    LOG_INFO("\r\n ============Test Start===========.\r\n");7 [) @  F0 I. J* [( i
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");7 k+ k9 n9 ^( }2 f6 W4 m2 h
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");4 ?: L$ z' d* O' l
3 Y* {/ c% o! |- P6 F. r
    for(i=0;i<229396/2;i++)
) z& d+ @6 l# H        {
0 ]& w9 j& |7 F9 d. ~/ r2 e                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;' ?6 U- b$ A0 \( |
        }
7 Z6 D* }0 M3 n2 A9 l' G/ I) l6 B6 m+ A0 k
    IntDSPINTCInit();
; R% K' i+ S. ?  j$ `
2 j  r+ E6 z# P3 T1 L- {    I2C0IntRegister(C674X_MASK_INT6);. _/ n. I- h, E
+ a0 ^; q+ F. R9 N7 {
    IntEnable(C674X_MASK_INT4);/ E  ?0 S, G7 B( K( ~: n' x
    IntEnable(C674X_MASK_INT5);) b3 n7 b( {0 ^( {. c+ x
    IntEnable(C674X_MASK_INT6);
. G  |% i3 F1 ~* q) e% P: k# C% f, x5 P9 |* C6 m
    IntGlobalEnable();
" H) M  x+ e, V5 E# R
5 J9 o! T% j- q3 b    AIC31Init();
; \# X' J- Z1 c( L4 n    ToneLoopInit();
( X8 c* ?5 ?8 k9 q2 ]: l    Start playing the tone looply
. k) ^) _2 k; o1 \4 J+ q    ToneLoopStart();
/ J0 a9 H! y, |3 D- p1 ~' N1 M0 Y( V/ W
! F3 \3 o7 J/ X: U7 z2 l    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
! i% ]" B/ R1 |7 k4 p
( s3 H3 H' Q+ [: N  N" x}
3 l6 y. u. S0 M6 G5 q+ U# F/ V% a4 l/ g; T2 n
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。0 f3 W9 u% h0 b

& A% F  e) y8 t$ L: w: J) o+ ~6 P3 E3 D# o& f

; r( K+ w7 V/ ?
1 G, c  c, b. L* L! L8 f% t
8 L- \* Y  @* z5 E3 N! V+ z% E; X! F: U: H" R+ e* ^8 A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断, U- M: G9 @# N

2 g# a# `7 c  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, 2025-12-30 19:02 , Processed in 0.042652 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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