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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。$ y) ^1 `' x8 }1 q( X1 T- x' Z  {
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
' S* h$ E8 q; W" e5 m* ^现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)' R" Z7 B4 b, [5 `
详细程序如下:
1 L: X" ^2 p9 a" ADSP侧 main_dsp.c, w; ^% A5 v7 t% n! E  P5 f# {( k3 H
extern int lineOutmain(void);
( k) ^# A! l2 I; w7 aInt main(Int argc, Char* argv[]) {
8 K% I+ x3 ~/ Z5 H  @  `& h    LOG_INIT();  U  g" q. ]9 C  {* q
    Error_Block eb;2 B# i, V; r- N' t- R. ]3 U
    Task_Params taskParams;
6 X- x5 S0 s5 M! K3 A
9 e, }6 W5 R, m. L% D- K% }    LOG_INFO("--> main:");
9 {: N- ~* x" g; v4 j2 Z+ D" W3 }% g; l  v0 e7 v# N7 }8 u. h
    Error_init(&eb);
; I$ H+ w  q: V% C5 }; h3 w3 m% K; z% ^3 Z
    Task_Params_init(&taskParams);
3 U( ^2 B2 v* p( P; T    taskParams.instance->name = "message_loop_fun";6 g; Y* g7 }: J* Z
    taskParams.arg0 = (UArg)argc;
1 P  d! y. X1 ?3 }  W+ b    taskParams.arg1 = (UArg)argv;
  M/ w- _4 B' D9 v1 i8 l    taskParams.stackSize = 0x1000;. o9 K( @. g5 k
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */7 Y5 W3 L+ D( y6 Y- t
5 n; C4 y0 V9 U
    if (Error_check(&eb))
% t+ n  L; w$ r7 q- r( U        LOG_FATAL("failed to create application startup thread");
' X6 `& u4 L+ h2 n0 T) D! z/ J        ) ?% i2 V8 Z. b; g! N
    lineOutmain();
( w$ V5 Q; c8 k: P2 g    BIOS_start();- \/ }9 p/ ]9 t+ _4 N
    LOG_INFO("<-- main:");
1 r8 w" ]2 J# |' W    return (0);6 D" v8 _3 |3 u
}
0 @4 V4 |! d/ |" V0 u其中lineOutmain();是启动lineOut例程# A3 K5 T3 P/ E& H) U& l
int lineOutmain(void)
3 `, @$ b8 P4 L0 [' u5 {{
+ g# t6 L8 e; M, G2 k, Y7 E! N+ T. y) C$ n        unsigned int i;9 j1 {% U! B2 C

, }* w8 a+ c9 G- F+ a# \% k    PeripheralsSetUp();# [! p6 U% j0 |4 e9 N# l. M3 V

. K/ ~$ x: z9 w. S    LOG_INFO("\r\n ============Test Start===========.\r\n");5 E, v0 X& G1 r( R& h
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");. K5 K+ c3 B. e, A+ f
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");
% }$ ~* l+ M5 C! N- R
0 C( Q: J2 {. L: z# O  W    for(i=0;i<229396/2;i++)
0 E. K9 W( \6 N# @, Z        {
$ n# w! i9 l2 I                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;
( g- \! S9 F( O, ^* n5 b) d' Z        }8 l- ?% c$ i- n& X

1 s* T/ R4 ^9 Q( e; h    IntDSPINTCInit();* C# n  C* C2 U
2 _, p* ^9 g8 H
    I2C0IntRegister(C674X_MASK_INT6);/ a+ z0 P! v% @/ F& a
2 p7 `% d+ V) W8 U* D  J
    IntEnable(C674X_MASK_INT4);
+ N& O  X- j# @1 i# R* b5 {    IntEnable(C674X_MASK_INT5);9 I8 g, `4 }( I2 F+ p0 W% X3 d  e8 E
    IntEnable(C674X_MASK_INT6);9 A% }2 E7 ^) C( P( s) p9 K  e
8 m2 `! ^& c6 y; v$ a. ~
    IntGlobalEnable();
8 q4 M$ [" h& C3 K  L, M4 \/ l- t- R" ~- W2 g& e
    AIC31Init();3 l- e& L4 ?  l- C1 a9 b' m6 k
    ToneLoopInit();
2 O3 N) u% X) N) R6 u& S    Start playing the tone looply2 M0 B4 q4 N# z! g- `' Q# X
    ToneLoopStart();
! t% l4 E* l6 h4 k) ^% Z; P: m9 m+ {7 i: u% R5 r) I6 V7 Q5 m
    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
- d$ [; B3 g( e2 A3 L0 `, x
& A- `+ e! A( h# p  o$ l: p( C}
& ?1 z& Z* B$ b: b; S0 S% m
9 F, l. |) t; e5 p& K( r$ Q从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
1 Z) H, E0 @$ F% B3 \( Q
; V6 w5 W: Q5 R' S5 O
& \) o0 }1 j+ a+ w4 z" {1 K
2 f  x" T) s* r" R- R4 {7 A" }" d- |# g3 {6 |

, C& E: f) ?2 x3 F- |7 N; p( ~8 Y
2 ]( P6 {( L+ _, m" i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
- Q# U! A$ `3 o
4 g% [& Q& n0 h& y- f4 `/ ~在 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-3-9 20:59 , Processed in 0.044793 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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