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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9577|回复: 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 D0 y) W) Q. J  L' v
目标:AUDIO_LINE_OUT播放声音。ad采集声音。
$ _- x6 n2 A+ x现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)1 ~) C4 m0 j7 }6 a; K& _' o' c5 ~
详细程序如下:
9 D: B/ d% h6 Q9 v* \) fDSP侧 main_dsp.c
  |0 o* J- q4 l5 U+ S3 xextern int lineOutmain(void);
3 s: [+ P8 |7 q! R& l: MInt main(Int argc, Char* argv[]) {! f& H. Y# _" p1 j" ]- s
    LOG_INIT();
) J( u' f" j* C  R: u0 k& }* ~# ^    Error_Block eb;
) @+ Y! s' \# |& L3 N    Task_Params taskParams;+ }" k- J8 @, d( c% r

8 [' t0 V$ k+ K    LOG_INFO("--> main:");
- I' T" \# O8 k1 {4 Y# c8 G3 [" e
    Error_init(&eb);3 s8 W0 p/ ^5 f8 A& v$ ~( n
. N* I2 \* [1 s, C( {; F+ D/ r' l8 Q
    Task_Params_init(&taskParams);
& V) C9 @: s/ e7 B7 K    taskParams.instance->name = "message_loop_fun";1 ]3 a" s+ t2 R' I  Q6 H) O
    taskParams.arg0 = (UArg)argc;+ @4 Y" C! k' H
    taskParams.arg1 = (UArg)argv;, Q- h& E' I4 H* ^
    taskParams.stackSize = 0x1000;
. M1 P2 k" t) F& C  a' h8 A* N( u    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */
" O% z( z4 z) @# I8 @
) b" A% M) I+ E0 v    if (Error_check(&eb)) ! K: t4 l" T$ x3 ^: }5 \6 P
        LOG_FATAL("failed to create application startup thread");
" |: n" q' w! j9 o       
( ?5 r$ i( T1 g, B    lineOutmain();
, F( `1 |* F3 u- K0 N4 E2 v* O    BIOS_start();
% X! X. d' X7 r& T7 d; d    LOG_INFO("<-- main:");
; A' t* g3 u1 x4 `, t    return (0);1 g$ z7 T7 O" U8 V6 m  r
}
( p0 @& [& T6 {: V" D* D3 F, |其中lineOutmain();是启动lineOut例程
: l* ^& l6 g( P8 u) Dint lineOutmain(void)
* O3 Y- H* t3 l{1 A; W( Z6 i9 D2 N0 X1 U
        unsigned int i;
! y) @( Y" c& b/ i, m: k% d
# R6 O$ d' b# u1 h    PeripheralsSetUp();
2 w4 ]0 N8 |+ N* l. q# L, W+ W9 d7 B) P7 W% R5 Y' }$ ?5 P- [' U# K5 N
    LOG_INFO("\r\n ============Test Start===========.\r\n");
3 @, V$ U, V" G% F2 ?    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");7 K* f) ~  P3 T/ v. k" i' c1 g9 G
    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");  g! t2 }5 w" S8 k6 p
8 o$ F; s/ {# d
    for(i=0;i<229396/2;i++)
6 d; F& g3 Z' m$ ]7 L2 Z        {
* o: l- s2 \( ]' y                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;2 M# q$ i6 \( g8 \5 O
        }# i3 L/ {" z9 u
! q3 b4 }7 ?7 h' T2 f& L7 ^
    IntDSPINTCInit();
0 p2 K1 U6 d$ g+ f! v, R" L3 P# V8 {1 [  t; w4 Y( t) k7 k
    I2C0IntRegister(C674X_MASK_INT6);4 T/ Y$ F" f' c' _  |" o$ C
% C; C9 I! ]3 k2 K  y  \8 Y
    IntEnable(C674X_MASK_INT4);8 L; U- Q2 \- o1 o$ }
    IntEnable(C674X_MASK_INT5);
- [6 ]- e2 k4 k4 T6 }$ c( r    IntEnable(C674X_MASK_INT6);
1 P9 J4 I3 h5 O1 v* E. e0 [  C' F! f9 {" R7 w# H
    IntGlobalEnable();
5 R1 E/ ?' l5 T# u5 Z
* G; S6 Z  B( A4 \6 E7 r! b    AIC31Init();( u/ V* r& N: @/ w! A
    ToneLoopInit();7 |: U: @3 o, z4 e9 M9 Y& z8 u- T
    Start playing the tone looply) w$ A# O, s; p* X- j' @
    ToneLoopStart();8 B2 N' y4 c9 G, ~

4 ]% \1 [! ]% o- G/ Q. Z& _6 D    LOG_INFO("\r\n ============Test End===========.\r\n", -1);! o) |, Y# J3 Z- _! z& j

& N. V, z2 D# ?; Y}
# {+ W& @8 B8 p' H
3 s2 w2 n- j. P! H3 n' c# G/ e从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
+ `$ f: z: {% @2 g  n4 @" l/ G+ V- u6 g8 M

0 t& z& c/ Z& G+ ]$ N7 f- T  g/ b8 S7 Q; a4 V$ N

$ @' `' ~* m/ ]* t$ P  J! n/ @# ~8 A; J& m! r8 u  r* Y
" f4 O* K' w6 N  S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断$ ^  \2 B5 Y5 v) f/ X: K+ O! Z

1 R8 C9 U' n  v; T) R& i! T# B在 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-5 04:54 , Processed in 0.046594 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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