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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16790|回复: 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 I5 X1 r& U1 g. U- w3 p目标:AUDIO_LINE_OUT播放声音。ad采集声音。2 I8 q- D) u0 M6 E# v( W
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
$ m9 H# A- i( ?* z6 ^8 w详细程序如下:3 d8 b2 C+ A7 R' q
DSP侧 main_dsp.c! s" M. h7 X' |9 y
extern int lineOutmain(void);6 U, }: P: H2 F4 c$ B
Int main(Int argc, Char* argv[]) {
& Z5 L: l' B+ }' h, t0 O2 h/ b4 j    LOG_INIT();
& m# ]. a# L+ z: |& {    Error_Block eb;' R+ b2 W* a  V5 C" b2 Q% s% X
    Task_Params taskParams;/ z0 g) A" n3 r; q' Y/ ]* [( d7 V

# E* t! o) F) x  f    LOG_INFO("--> main:");9 S- B( q7 e2 h( o! }
+ B' {, j8 t1 Z8 H: |
    Error_init(&eb);; |- e1 C: v8 w+ m: i. f
- b* i! b6 f' ~% ?
    Task_Params_init(&taskParams);6 `0 `  [1 }+ Z: @! p
    taskParams.instance->name = "message_loop_fun";
% F- l5 U2 H& R8 o$ P9 C    taskParams.arg0 = (UArg)argc;, m; m# W/ V2 q* b3 c, e$ n2 C
    taskParams.arg1 = (UArg)argv;; Z' R' M+ K, p, d% a- [( W
    taskParams.stackSize = 0x1000;
7 N( B& T) ^9 i/ j6 C1 ^    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */- Z; d4 z+ k( C' q; B
  j: L2 @: A$ m/ J  x
    if (Error_check(&eb))
! B$ _* ~( d: m, o        LOG_FATAL("failed to create application startup thread");
% f8 s' }. \" g" I* q1 W* w       
' I8 E9 L6 h/ I7 b    lineOutmain();
0 @9 J  ]9 A2 E0 C    BIOS_start();
! }- E$ |6 x0 _6 s0 ~2 T- x% L    LOG_INFO("<-- main:");* S- X; \2 [8 v+ P  b1 T8 e3 K
    return (0);
( M( o, V6 S5 m}
  d* w6 s* T; y! _! ?- \4 U其中lineOutmain();是启动lineOut例程
. k; e$ [) ?* f, S9 I0 _int lineOutmain(void)  `# w) g- G4 E( i- ?) m8 L
{$ u/ M: x8 U6 }; ^2 l5 K5 m9 p1 P
        unsigned int i;
1 D8 i6 c; J: s+ B& A" V4 ^1 g
$ G0 e5 b6 b6 c5 `    PeripheralsSetUp();, o. G) A0 y: Z) j4 D; ^+ h) u
9 a. Y0 \3 |- L4 K
    LOG_INFO("\r\n ============Test Start===========.\r\n");
$ p* v. L9 K. [: U    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");1 ?( A$ [& Y) Y+ l' g) T# P0 h. y
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");- E/ @: t8 b) g: b1 X$ H3 ^
+ i3 j' Y( K0 s0 O
    for(i=0;i<229396/2;i++)  I8 ]( i( T  ?2 f8 @( r& J. W2 d
        {
% P* @5 m+ G! |# f# n, z                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
" a, _+ X/ g' }( D2 ]% a* q6 V        }8 Z# `3 e# `, @
& f# Y6 t% S- ~- o/ J! P2 r1 S
    IntDSPINTCInit();
1 d5 z4 x7 |# [, b1 r+ l4 N8 i9 @2 G, ~' ~  C. o
    I2C0IntRegister(C674X_MASK_INT6);, `6 v3 n; t% o; F

! g; ~3 V4 }- g9 t2 F    IntEnable(C674X_MASK_INT4);
" i0 Q( _# k7 h    IntEnable(C674X_MASK_INT5);6 ]% \' y* A0 f# @/ f
    IntEnable(C674X_MASK_INT6);
# K2 u( y- }0 Y) B5 B2 W, N" }3 m! T; m9 k$ l# P" b$ K
    IntGlobalEnable();" t* H( c" {& {7 t) I: d1 ?3 V1 F* ~

" ]/ n) h* ?4 H2 V    AIC31Init();, D% A0 I' V; g; T# I. }+ w& q
    ToneLoopInit();" S# R1 ]0 O, \0 A
    Start playing the tone looply3 d  l6 t* {% O8 U5 {
    ToneLoopStart();
4 I3 K; c1 X' A- S2 [$ j( ]! [. n/ c9 D$ J$ K  H
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);1 c4 o: z3 J1 F2 _

! m0 x. p) N/ E) J3 o}
) I9 q. i9 h6 d0 z/ a( L8 {
. x8 B' x: U* b7 ~% ?2 u从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
& L: e3 U  O5 B: |
& O, u: G8 b2 A" d1 @+ B, `+ u; c) e

7 w+ n; I* B! j
" @, n6 K: g/ z4 o1 m0 Q* i  w5 [
4 ^$ S2 {, u4 \; F. C6 S' P" c! W# K* C& g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
4 W8 l# G" Q0 T% w" {9 g+ h4 N/ ^/ E+ i/ k& J
在 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-10-16 12:24 , Processed in 0.043894 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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