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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。- t7 t6 P6 C6 V9 S) d
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
5 H# q( G: V: j; k' r5 J% ^现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)  K) y* I  G  X7 n% K5 r4 O
详细程序如下:
5 U, {1 ^7 T! g- \! f2 F" rDSP侧 main_dsp.c
; o% C$ U/ s( m, E. ^" y8 Lextern int lineOutmain(void);- A& d$ W  K! P# W% v3 W3 F" {
Int main(Int argc, Char* argv[]) {, p' T* g% Q' W+ H0 M
    LOG_INIT();  d4 z" n9 u3 J* v$ k- ]
    Error_Block eb;
5 D; b5 [/ G2 g! m( M/ o2 v    Task_Params taskParams;
9 ]  r0 S# o& I7 ]1 I; G+ D; W$ r$ T$ [8 [8 F) ^
    LOG_INFO("--> main:");
4 S1 G. Z: ?' H" M9 Q+ u8 Y9 s: u& i- Q9 m) ^  h9 U1 T. o% ?
    Error_init(&eb);. H7 R- J. G  q9 g, E/ C7 {, C
( ~" z0 X5 L1 S9 x, q6 u2 Z- _, ^
    Task_Params_init(&taskParams);& c( b. e' [  S! t& e+ G
    taskParams.instance->name = "message_loop_fun";
3 Y+ E! U3 k) b, f: V8 I    taskParams.arg0 = (UArg)argc;' j2 ~! ?2 |. j& c/ W: v& R
    taskParams.arg1 = (UArg)argv;7 \3 r3 C5 @0 ~7 X
    taskParams.stackSize = 0x1000;
$ m' Y1 f3 S# |: d# V" S; D  g    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
2 C; p+ l5 g0 j; J/ `1 E2 r, Q# N7 f$ P6 [) M. H* ~5 |6 O
    if (Error_check(&eb))
) M% C, ?. Y; m. }3 K        LOG_FATAL("failed to create application startup thread"); ' Z! I0 |# V- c0 ~
        % {( j$ n8 L, f8 [  p8 O: {1 ^) ^
    lineOutmain();
  k7 a" N% E& Z+ J7 X" K3 m    BIOS_start();
0 O) o" P  h. X, k5 F    LOG_INFO("<-- main:");6 e" D( o3 w/ A. k2 e
    return (0);
1 K7 \; R& b) O/ Y! N" Y, F# k}! f5 Z# `; n! |- s0 o7 N
其中lineOutmain();是启动lineOut例程
% R8 e# m# _, H5 K0 eint lineOutmain(void)3 ~0 h; L5 p' ^5 Y/ K: o
{
& s$ n2 `( O2 M1 a  }  c        unsigned int i;
( w% ]4 k1 y+ C$ M3 s2 u  Y# e' r; N9 g: E0 _" n0 {
    PeripheralsSetUp();
* m& @) t3 V/ y% W/ I$ P4 ~$ I) I5 V1 u; y5 x, ~
    LOG_INFO("\r\n ============Test Start===========.\r\n");! {; o) G  V# }, d0 ?' N6 q' z+ s( j
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");9 R, T1 U) |. D( q4 `
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");# d: o- @* ~; ~6 N8 G' V$ ?
  @; Z  \, m: x# i
    for(i=0;i<229396/2;i++)
+ B! {- e" G+ E$ l  k2 N% t/ E        {
* x: B; m- x8 M1 o7 \- c                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
9 w7 p: w4 c, U0 ?8 }* N6 d        }( B) i  n7 h3 w3 b/ [! [1 j

; U6 |& w8 L+ Y9 R4 @# D+ ~7 [5 d    IntDSPINTCInit();4 `# K# j3 G$ i9 [. Z7 q# w8 E/ {

: `$ {9 d6 o6 @+ u; i- e    I2C0IntRegister(C674X_MASK_INT6);; L( q* @+ X$ [/ r& s3 Z9 V( N
4 G! R* x. t, p6 d0 m
    IntEnable(C674X_MASK_INT4);9 x6 \# }5 e, v; L3 l
    IntEnable(C674X_MASK_INT5);- Q9 M6 a3 ^& `% p2 G5 E* H) l' r
    IntEnable(C674X_MASK_INT6);
0 H$ U2 n4 J  |- x3 D/ l8 k, `6 t  Y- j* y' G
    IntGlobalEnable();
. q! z  U% z3 G7 f6 Y  }' c$ G, }6 C/ y% I9 p: |2 R2 d8 ]/ \, Z7 H
    AIC31Init();( `' T% \5 A" l' C  Z2 o$ q
    ToneLoopInit();
) B9 ~6 N- c# B' L1 a/ y6 T    Start playing the tone looply
  d  D: [4 Y) B3 a    ToneLoopStart();
7 |5 X8 M, t9 \, E" S
/ i3 t; d4 i9 |! D" [    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
; r  r# J1 B, f6 s* z1 {5 ^1 Q4 V! k3 x* }
}6 n/ `; G* e& Q) n

* u; a$ C! o7 [9 G% e7 J从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。) l, G8 m0 e$ d+ v* Z1 ]1 p7 O  ~
4 B/ g5 v% d' k& v6 H, G) g: \
! Y, p1 ]! l8 v4 P0 T0 c

9 Q) w! b3 A# S: F+ s% ^, y) s7 L5 E6 t* J- S6 Y- a" |0 C* p8 B
; K5 G' I8 ?. E4 d7 T" `" x
, l3 G/ }' _! F+ D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断4 _, O* g4 m1 {. \0 E

1 J0 p* x8 i$ K: p在 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-4 01:59 , Processed in 0.050301 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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