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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
# `( a. C0 |( M目标:AUDIO_LINE_OUT播放声音。ad采集声音。
+ J2 y6 k6 u" _现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
# A  u8 X. |5 z3 s! J2 v详细程序如下:
8 V% v/ M6 y. R3 vDSP侧 main_dsp.c
: j( D' A' U- L4 sextern int lineOutmain(void);0 R( u, i7 l! R* n2 q6 ]
Int main(Int argc, Char* argv[]) {9 C; X$ W! z9 S; C
    LOG_INIT();2 `8 i8 J! b! S$ e& @1 Z& E
    Error_Block eb;. }% G; k% a" z6 h% L# ]( H
    Task_Params taskParams;) J  X* ?5 S+ o, E! a' E' U- K4 s
) k- [& z, @+ W. m' ?
    LOG_INFO("--> main:");
2 Y- h/ ]3 o$ q, O" M# s3 ]+ J) Y, i" H5 U# M
    Error_init(&eb);
& e! f  ~8 ~* ]( ^) u+ q' E' n) D
    Task_Params_init(&taskParams);" P; r  b. U; y" b# X# c
    taskParams.instance->name = "message_loop_fun";8 X* E/ k2 o% d( B/ W
    taskParams.arg0 = (UArg)argc;. ]4 Q; ~; L. f( i- b* s# s- V
    taskParams.arg1 = (UArg)argv;
2 `8 c) d' S4 X0 T' w0 i1 a3 s; b; a    taskParams.stackSize = 0x1000;6 O+ U1 A$ h: W& ?3 w) B8 C
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */; Z1 d7 K6 S3 T
/ @% _, n8 k" M5 o! L
    if (Error_check(&eb)) - t) U6 k) O* u5 o: n
        LOG_FATAL("failed to create application startup thread"); 0 ~* t, v8 ~5 ]0 k: d) h9 v( d
        , `+ A; p! L: w9 j( ?& ]' k+ P
    lineOutmain();
% q+ [' _' A8 h2 X0 [4 U5 F% Z    BIOS_start();
' V1 A+ R& E+ ?  w( t    LOG_INFO("<-- main:");
8 N/ t/ i" g8 g( Q    return (0);" n0 A1 s  v! `1 r
}
/ n( I, j6 X; T3 m0 `其中lineOutmain();是启动lineOut例程
+ r/ p1 x4 V) v" k" qint lineOutmain(void)1 Q: s1 p' C# d' I
{
7 v& w" h; W- u+ W/ D        unsigned int i;
; m+ l2 w. A4 V! R1 D. [
% q! O% J4 I; X, Q& w+ ?& w: ]    PeripheralsSetUp();
2 w0 E  C1 d7 `, ?4 q
, W# H8 E# Z  t  V    LOG_INFO("\r\n ============Test Start===========.\r\n");
; u' u/ r- X5 @; M; ^& _    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");2 L( J8 ~' q7 O0 h6 h
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
( J3 R2 u' c4 F! B1 t) H
0 i/ ~% z# \4 Z# s5 z    for(i=0;i<229396/2;i++)
% e2 x* M: \/ w3 _) M, t& f! |: @        {; h7 }: d, A1 E( Q  Y1 D
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
4 J! U7 Y0 d/ D( ~- D2 P" ^' E        }+ T3 i  I# N7 i6 V; e5 f

$ F# `) t! k7 S6 j: g$ n    IntDSPINTCInit();
7 X8 S: ]% F* \. K0 x' L  I6 V1 \9 ^2 i
    I2C0IntRegister(C674X_MASK_INT6);
' q3 D) @4 p0 d; z) z: ?* \$ d7 I. X( ^" m# @7 b1 k
    IntEnable(C674X_MASK_INT4);
: w- ?$ E! O  n2 f- R5 F    IntEnable(C674X_MASK_INT5);7 J5 a" A! ?; c
    IntEnable(C674X_MASK_INT6);
6 |% W3 I6 C. B4 S1 O) R8 X
! ?; X# C, z8 o" j# m+ S    IntGlobalEnable();% I1 |& x% T; F. t( G

5 H7 i" ~. B! w) o    AIC31Init();
1 u# v' W9 Y. P: c    ToneLoopInit();
) b$ Y0 R& R3 v% c6 @    Start playing the tone looply! [9 ?" d/ i4 A' m8 A( X5 H
    ToneLoopStart();
3 A0 I4 s3 v( z; O- |+ {3 ]$ R4 ^% j7 d
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);' _, ?" \) v9 U) G9 G) T9 U0 i

, o+ T3 z$ K$ D+ g1 G2 ]0 |}3 K3 {6 l( \# O; P$ v4 N
1 p5 B5 t1 ^: t' H7 {
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
4 k9 Z8 E% H1 X5 Z
$ J) O, \! _/ L! f
- o- M+ U$ w$ l3 Z; M9 i* \* P- E. |- G. K+ _

5 l' H" C" M# ?3 `* g3 Q2 {- o( E; U( C) U$ I3 D

! A$ K( c! b9 |3 G
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断3 a# Z! F# e2 w9 s1 y3 l0 `4 \
6 Q6 N+ U8 R% f# }
在 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-6-5 09:10 , Processed in 0.043263 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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