OMAPL138基于SYSLINK的双核AD采集处理例程和线性播放有冲突 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。9 m6 l; [3 i& E  U
目标:AUDIO_LINE_OUT播放声音。ad采集声音。* E8 x( ]4 o1 Y4 k
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
1 }1 W+ O0 o# {7 C+ |详细程序如下:6 l3 W5 b2 E2 A' E9 @$ C
DSP侧 main_dsp.c5 c! P3 ^9 ^6 o4 A; Q
extern int lineOutmain(void);" L0 O9 k, S3 @8 A& h* V( z
Int main(Int argc, Char* argv[]) {" U, j7 U! ^% |
    LOG_INIT();6 P* X/ x  X  h  d+ e% d
    Error_Block eb;1 t+ ?9 a5 c, V% h" m
    Task_Params taskParams;
' P9 f+ _( U" t* g
- I6 o$ W! ~8 o* h* a5 m    LOG_INFO("--> main:");3 s) j6 y/ O) F; R+ `# q5 V0 W2 `
- R5 Q& W, S: j+ z7 S) Y
    Error_init(&eb);
# l+ B" L3 u7 ~( V9 n
3 J  x$ m$ ^; c: r6 c7 F7 V    Task_Params_init(&taskParams);1 c5 V" u6 I6 {) ]( V! H5 ?
    taskParams.instance->name = "message_loop_fun";
, f' H+ Q/ W: B: ~2 F    taskParams.arg0 = (UArg)argc;
  F7 p* E4 F$ M0 b6 t# V/ S7 {    taskParams.arg1 = (UArg)argv;! I( P, Y' o1 ~# @# g1 W2 ~
    taskParams.stackSize = 0x1000;
$ |% O# N; r1 c    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
% B( a9 D6 G9 Y+ |$ M% C5 I, `1 {0 }" J/ O- W, S3 k4 K
    if (Error_check(&eb))
1 ?6 g2 g/ T# h: Y) {/ K        LOG_FATAL("failed to create application startup thread"); ( `4 `, d/ p9 ?( F6 j8 Z1 X4 ~
        % Y# w1 {  J+ M" v
    lineOutmain();; L' s5 ]) v, m" _$ Q& n
    BIOS_start();' e8 y# g# @- Z4 }
    LOG_INFO("<-- main:");  @8 v+ x; U: o, _8 O
    return (0);; b/ H& O. b6 m! [! j! q" z0 U: r
}4 }. ^6 `1 s0 y+ W4 p  V+ k
其中lineOutmain();是启动lineOut例程7 K% q! e, ?* Q/ ~
int lineOutmain(void)4 c' f8 T' K# I6 ^( x3 M
{
( l4 I  K$ ?# ]0 \( V) W' r        unsigned int i;
& Q* ^* r. M- y( X! s6 r8 d4 b/ c# x" D3 D! ^( U& U; C
    PeripheralsSetUp();
9 t/ ^; }6 U: b% W( ?) T
# \: W5 w+ ~% U/ {4 H( \  e    LOG_INFO("\r\n ============Test Start===========.\r\n");
8 I5 m. h6 o/ P" M8 m8 {    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
: f* j8 C9 r& _9 s( M' L& [    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
" j% z9 H$ Z  X, F. j% G  {0 p# h5 S' U( _, @4 H8 D: g% f/ l
    for(i=0;i<229396/2;i++)
$ D' C6 T" M/ {  N$ ?% I+ h7 h        {) W5 W9 H* b3 _9 T% {* M8 i8 N
                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
( a2 A; w5 ^1 S3 @1 l        }
4 n3 M4 {/ z5 a. }
+ `4 a4 z& G4 T. @- M% p! g    IntDSPINTCInit();
/ n$ S5 \8 D  U  r0 b
3 W8 D; B7 g& d6 B    I2C0IntRegister(C674X_MASK_INT6);
& L  ^! `" r( i  U0 t5 d
" e6 g/ _" F8 z- e! j; ^    IntEnable(C674X_MASK_INT4);) W5 }5 G6 g- a% w& E. B5 X
    IntEnable(C674X_MASK_INT5);* K. S* ?9 K0 ]8 I! Z* E) m
    IntEnable(C674X_MASK_INT6);/ N" {! O# W  W9 B1 e7 O
( b' W! S3 K4 H  K, \5 s
    IntGlobalEnable();
) O/ J0 s# y% I7 H6 ?! j( K* h' O9 H2 n/ J# T5 k7 Q$ u
    AIC31Init();3 b8 X! |$ [9 G
    ToneLoopInit();
0 R# J. ~/ e- g8 Y) O( i4 x+ {    Start playing the tone looply
9 v" c1 D# n' c# Z    ToneLoopStart();8 W) \7 O/ Q, C8 l& P& P8 \7 M
6 ]% K2 O) H0 ]- l
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);9 I# z, |1 N* ~8 n$ `3 o/ x
7 t' P. j3 |4 a+ B( y
}; M2 i7 {3 x/ U0 L

9 r- G$ z! S8 e; H5 Y; F从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
2 m* c& q6 u2 ]0 Z9 O" m# N' g2 @" ?1 c% y/ o2 ^$ ]

9 l- b/ l. ~3 [  _# w  u) ~5 I  Z- z' q. X

" l# O" ?# P; V2 O9 V  n* X. H! W" H- _  i' ~* }
' L6 _2 H/ ]$ u# x. j. R8 q+ y0 B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断0 V8 e; n$ c5 G: {

5 O. k! V$ }9 ^在 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, 2026-1-24 10:28 , Processed in 0.052039 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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