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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。3 ~% n! A0 q9 i
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
; C, h5 R3 B# ?, o) h0 I/ A0 w现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)2 I! F, b9 m) P) w+ K6 v+ o1 f
详细程序如下:
: l0 a/ R! x- V  O5 t- `DSP侧 main_dsp.c( ]" |- w, _7 \5 b+ I4 s
extern int lineOutmain(void);- v( T2 }8 D; X0 i" p! a* ]
Int main(Int argc, Char* argv[]) {
4 e8 P3 \0 T0 ], w  z    LOG_INIT();
, L2 ~. K: m: v5 U    Error_Block eb;* N2 Y+ q7 v; M9 b) p9 C" k
    Task_Params taskParams;
# [  \; O! w- i! M& T5 ^
! l* X* v0 w/ x    LOG_INFO("--> main:");" r7 y2 ~/ B7 `
/ _1 [% n% D) I! W8 _! Z5 W
    Error_init(&eb);
4 X2 d/ n6 Z+ o. h
( d+ H! B  \2 f  i" w    Task_Params_init(&taskParams);
, q4 p) c) ], u    taskParams.instance->name = "message_loop_fun";
9 X# Y! ^9 @7 P" v( W    taskParams.arg0 = (UArg)argc;+ ^8 d7 J! k2 Y7 t
    taskParams.arg1 = (UArg)argv;4 w4 j5 Y( g0 @) [( Y
    taskParams.stackSize = 0x1000;
; D+ m7 x' ~& W8 L    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */  `( c$ u$ ~/ O
$ S2 ]9 w3 j; X
    if (Error_check(&eb)) ; g$ j; }$ n4 g4 W3 f0 j; S/ H
        LOG_FATAL("failed to create application startup thread");
& Y4 h) M7 u0 P8 b* F5 ]        / [3 e" H- l& y; M( \" a+ f
    lineOutmain();
% M7 M& r9 M2 |! C: D0 E5 d* e+ C    BIOS_start();
# V( G! k, L& m- I9 r( n* W    LOG_INFO("<-- main:");
; [: d0 Q( |$ ?- [" H- E$ j    return (0);5 L6 K& o; E& _; O) _
}
/ P9 u* {* N" M) e/ ~其中lineOutmain();是启动lineOut例程  R7 [/ e8 H" W' o
int lineOutmain(void)& k; h5 t$ T+ @; g( N! I/ E4 _
{
1 u  ^) y2 N& `, R2 D& ?        unsigned int i;+ i8 W4 v% Y& N3 Q, M  J
1 |% ^  ]# B+ O% D: z# U; K% [
    PeripheralsSetUp();0 B: i5 d: c2 Z' y

& k( G% e  V3 }9 w4 W! Y4 {    LOG_INFO("\r\n ============Test Start===========.\r\n");$ T- V/ [, U7 ^" V8 T; `
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
% \9 p: f8 ~, e" M6 p    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");$ x8 @( {. r8 U3 g" g' g1 E
/ Q0 S: e# O# x0 _& v+ r
    for(i=0;i<229396/2;i++)
4 R  X" l1 y2 q% W3 M- x        {
# G% B  _( J% X  H+ O                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;, I7 w3 e# D) u8 M6 r
        }7 B1 R& k, Z/ J& \

# e6 L3 d, o3 w4 L) ]3 O. I    IntDSPINTCInit();
: p! O# x+ j5 B9 d
* d5 E- f( h5 N" r9 b: K    I2C0IntRegister(C674X_MASK_INT6);9 p) s# E# F" B

- z, t2 X+ n* x& a4 v; p2 c    IntEnable(C674X_MASK_INT4);. L, t7 m" G, J- u/ g( W* M
    IntEnable(C674X_MASK_INT5);' c' Z( r# p& [$ V3 s9 F7 l; l
    IntEnable(C674X_MASK_INT6);5 l& ~# ], F% T9 D. k7 G% ^5 w
' t* T1 n3 |- j- x/ n' r# Z; E
    IntGlobalEnable();+ C8 ^1 V2 o2 _# m+ O( s

# Y( i2 P7 U- Z* G; g3 q$ Z    AIC31Init();; P8 E* M( E, `$ Z0 i9 U
    ToneLoopInit();
  ]6 j0 B( H2 U: W, d5 g) q5 r  S/ w    Start playing the tone looply$ n7 M- A% Y8 C2 `' A* z( I& i9 p9 t
    ToneLoopStart();2 _/ D/ |; P2 F

! h# Q9 S" }# r    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
5 U8 K2 }6 w4 \) r# W$ t7 \- [9 j1 E4 l3 H' U* b
}4 \9 T% P3 b% m$ y3 m

& w4 P" H! T2 h" z' D; J" I0 f从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
8 K/ f2 E1 `$ r1 B
, m4 k1 D" R  @  z2 B! V3 n0 C0 I1 ~) i: @

8 M3 ?% f: _9 U/ E' T& t/ L' E

7 V+ ~7 w" l9 W$ J  s$ s. F; Z' [0 ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断1 Q2 @( X4 ]) c* q  s* T

) e7 J7 c) `' ?在 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-9-16 05:08 , Processed in 0.043859 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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