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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。
1 l' {/ p" q$ z+ V& I目标:AUDIO_LINE_OUT播放声音。ad采集声音。
5 }7 o# I6 I* c, ^5 ~' b现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
! u( \! _% L! o% n, u0 ?+ u详细程序如下:1 @1 Z  ^6 r7 T/ ~( u" p6 f
DSP侧 main_dsp.c% m  N! G5 h4 B: u8 N9 e
extern int lineOutmain(void);9 J% I+ _( J  Q2 O
Int main(Int argc, Char* argv[]) {4 P5 d' d/ `* M
    LOG_INIT();' J2 M9 E2 n& ^+ H, Q$ L
    Error_Block eb;
" ^" a+ ^7 o7 Q1 d" ]    Task_Params taskParams;
/ Q' B# p1 }% b; @) u" n
0 q, {' [) g4 z% X; O, r4 j    LOG_INFO("--> main:");8 \! i& u5 c, Y5 g

9 V% t$ m5 n: \5 U4 X6 ~  S- D! l    Error_init(&eb);( p/ u5 M$ N5 |" l
! x3 D0 [$ |8 c$ j
    Task_Params_init(&taskParams);
3 i1 W8 ]1 ~5 h* M9 M    taskParams.instance->name = "message_loop_fun";- g; V7 w2 d$ G
    taskParams.arg0 = (UArg)argc;
$ Q6 @4 X& ~2 Q2 g/ b* W* R$ m/ S    taskParams.arg1 = (UArg)argv;3 B% \! l5 v0 y" u# K: A0 F
    taskParams.stackSize = 0x1000;
& d6 e4 ^& x5 k* ]' ]* W3 `0 _1 m    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */) o$ I( ?  p/ K2 j3 |" I
" Z& f" L0 t. a# g1 k
    if (Error_check(&eb))
; i0 J& q. b! s! [        LOG_FATAL("failed to create application startup thread"); 5 O2 y. e+ s: i$ d
       
/ z7 K$ y, ?/ [3 s" P    lineOutmain();) ]- ]# u5 ^/ p- K- _2 q
    BIOS_start();6 P! O. |  u1 v5 o5 B
    LOG_INFO("<-- main:");7 ?' N. c, G0 e  R/ B
    return (0);5 g# L* r( o1 f
}% y; _/ b. P9 z, h
其中lineOutmain();是启动lineOut例程
0 |$ A! K; b) ]+ c1 j& g0 kint lineOutmain(void)
$ @3 q2 h3 T2 `{
- e/ D( s7 }1 K        unsigned int i;" O/ t2 w8 w, g4 U3 i9 p% ?4 m

! W# ]: U# |' H* k    PeripheralsSetUp();
4 p3 d7 J8 i8 [7 ^; u7 n% |
' y9 s5 i, `7 z! {  }    LOG_INFO("\r\n ============Test Start===========.\r\n");
+ Z' ]- }" m: ]- T7 s* g    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");; r$ p. Z- M$ Y) F0 X$ |4 X# b
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
2 j+ E+ \: R1 ~, L, Z' ~
% y& M* A  J' z4 X0 d    for(i=0;i<229396/2;i++)
! g6 w  ~8 M/ t        {
# P, r( a, c5 T2 a4 l                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
& j, k2 M) G+ q9 ~% f" M+ v! ^        }
" k* f: p% Z6 U; \/ d9 ?) O  Z, a. Y0 Y( v5 {
    IntDSPINTCInit();
  T" D$ _% [( Y3 R: @( k
9 z' ^$ V) O$ r9 x) X' J; n1 v" w    I2C0IntRegister(C674X_MASK_INT6);; L' }& p; V0 w; a% H! A0 Q

* o4 t7 z# `7 s6 |& |8 O    IntEnable(C674X_MASK_INT4);
: {3 }. B8 c8 L: l1 `    IntEnable(C674X_MASK_INT5);/ f: w2 `+ a7 }# v
    IntEnable(C674X_MASK_INT6);/ D: h; U! T/ G- s+ o7 q, k/ o' R

/ G: O. W! h+ G  M! z    IntGlobalEnable();
2 T& u9 G, R# R
* V7 a: m: t3 Z    AIC31Init();
; \8 D! \2 w7 D( h) ~4 `    ToneLoopInit();* h3 k+ K0 Z& T/ ?! a( u
    Start playing the tone looply
- f' M: Z' B; M% C) V; Q    ToneLoopStart();
$ L) N( p" c& ?- ~1 W/ {0 B/ G& I7 g3 x7 s/ j
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
4 F4 A+ H- q  T* u5 r7 l* h8 c' Y+ M: z2 P5 L
}
( W. \$ O* l5 @# n' `, G: K" N) u- T8 p
从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。4 P  c% j$ [# V; D' T/ [
# ~  ]/ s8 L1 N- G; I% G8 t" V

' M* V' O3 v0 l  F( s  e" r1 y! l' t$ Y; g( s' v% c
5 ]  g3 s: H5 ]! |

4 j) R# J0 E' }) Y
: g* f- {" y9 H) P; F5 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断% R3 a4 n6 W, B9 i% i5 v
9 Q$ ?; ?$ V6 Y
在 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-17 10:02 , Processed in 0.047637 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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