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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

2

主题

8

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2015-3-3 08:31:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:将StarterWare\Application\AUDIO_LINE_OUT,合入 OMAPL138基于SYSLINK的双核AD采集处理例程。, n0 V! z9 G1 l) e
目标:AUDIO_LINE_OUT播放声音。ad采集声音。0 q) r- n$ X, h3 j* Q
现象:两者单独运行都可以完成各自的功能,将两者整合后,只要启动AUDIO_LINE_OUT,AD的数据就无法上传。(是不是两者资源有冲突?)
4 w" p3 w( O$ ^3 C7 A4 w详细程序如下:: Q8 e: S" p2 E6 ?
DSP侧 main_dsp.c. C. ]# }2 d/ X7 d5 w5 G; B, y7 B
extern int lineOutmain(void);& [% g1 l! ?+ V0 H$ v
Int main(Int argc, Char* argv[]) {
. K& |6 L1 M6 u0 d3 n5 X    LOG_INIT();, S) p1 C* W& q# a
    Error_Block eb;
4 [1 I0 y9 V" ]- x! ^    Task_Params taskParams;
; u" [/ }  f1 {1 G) u3 {0 Z2 [7 t6 B, L; p! o, }
    LOG_INFO("--> main:");/ c, s$ k2 A$ M  X2 Q. X
0 [# y5 d+ z) J* Y. c) a. F+ h
    Error_init(&eb);
; C5 W  ?8 W3 K9 v9 ?1 T; y: W. O& C/ @  v( z2 L# m
    Task_Params_init(&taskParams);7 P# A5 X& _3 c0 t, J9 E
    taskParams.instance->name = "message_loop_fun";
5 L/ q" G( N2 c/ Z    taskParams.arg0 = (UArg)argc;
( t2 r; Q2 B3 O+ H; j2 {7 h1 W    taskParams.arg1 = (UArg)argv;: R6 S$ T3 Z; x" A; ?- g" Y/ R
    taskParams.stackSize = 0x1000;9 R# o4 M# }$ `, N& _
    Task_create(message_loop_fun, &taskParams, &eb); /* 鍚姩 message 绾跨▼ */" l# b+ v. l) F: `8 l

9 O' f' v: k# {- }1 O& \    if (Error_check(&eb))
/ m, \" E9 g- Q8 d  G        LOG_FATAL("failed to create application startup thread");
/ H) Z; \+ Y2 h: `        & Y/ X7 m4 x, @
    lineOutmain();" X4 v9 d6 E" _/ C! \/ \5 x
    BIOS_start();
' l; K0 f% ~3 `    LOG_INFO("<-- main:");# i  {! y* D0 `4 A8 R8 p
    return (0);; i7 i& |5 |6 u6 f' f
}& W; J+ ]% i" ~5 Q" T* v  A, C
其中lineOutmain();是启动lineOut例程
8 \& Z& S! Z% _, Cint lineOutmain(void)
, Y' B- l8 C' s  o7 v# \{
7 o, D- T6 y% {6 H* M" L        unsigned int i;
1 N4 }" ^0 k9 g- _0 I% {2 {4 F: N" _( B9 ?; a
    PeripheralsSetUp();0 `/ K& V- R$ S* Y

# i) k# v( H3 ]3 _  ]5 l: s  l7 N5 ^    LOG_INFO("\r\n ============Test Start===========.\r\n");9 G3 f- ~2 W! u! m0 J0 Z& G
    LOG_INFO("Welcome to StarterWare Audio_Play Demo application.\r\n\r\n");
/ g1 q0 h. H- b; P7 w1 F$ z' R    LOG_INFO("Please insert microphone to the 'LINE OUT' port of TL6748 EVM.\r\n\r\n");5 @) E+ l5 V5 Z4 Z# j. v% V  e3 b

9 k4 Q6 D- d: d: b1 U    for(i=0;i<229396/2;i++)4 h5 w' B. @$ ~% |3 f& v6 O
        {
& |' _2 Y4 o3 z* F4 ~/ A& ]                toneRaw = (toneRaw1[i*2]) | toneRaw1[i*2+1]<<8;2 s  a) [$ Y* g" k. ]  h3 i
        }2 u& e1 U, }$ z" O& Q% s! R
, N1 h5 T( i7 f8 q" |
    IntDSPINTCInit();' l5 i1 ^: R" U. U6 h7 W; e
& y3 Q9 s- H. \. l$ ]3 v  T
    I2C0IntRegister(C674X_MASK_INT6);
6 e% J. x1 o/ l1 P7 z
1 a9 i# C4 N% g    IntEnable(C674X_MASK_INT4);
5 V& ~7 p+ K& J* k3 L; I    IntEnable(C674X_MASK_INT5);
1 G, y: z7 e, G% W. K5 y, q    IntEnable(C674X_MASK_INT6);8 E0 W: M! J& @! V# u& L

* O$ Z6 Q( D8 E) s& r$ D    IntGlobalEnable();1 C: p2 C% y! S) ]! `

6 B5 G; g' Y& ?; K5 q- j' G2 _; E    AIC31Init();+ F) G% p5 D$ x  K
    ToneLoopInit();) X7 u' x' a# E/ j7 b+ J& g3 B
    Start playing the tone looply' R: ~+ t5 v* X
    ToneLoopStart();* g: L  g5 o( h4 G- Y$ G9 s

  p2 Z+ B0 o4 X( o7 v    LOG_INFO("\r\n ============Test End===========.\r\n", -1);
9 o9 H- A6 U. I. n2 J. G
  S: A, F' }' K/ N0 I3 `}  W& }( x5 f  {" X+ W5 |, _1 x

" F4 [1 Y) \1 K, Y# O. G从定位结果来看,只要lineOutmain 运行了 IntDSPINTCInit(); AD就不再有数据发到ARM侧。请大家帮忙看看,两者是否存在资源冲突问题。谢谢。
+ R  X' ^8 ]. u; r; p" ^
( e8 f; K1 o, t- b8 L# f2 v. C3 P2 m- u4 O

* G" U9 ~  i% M2 U$ {
& P+ _3 S8 n+ e. i" B9 n3 f: W0 E) k1 x7 L
* B9 ~1 o; C  n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-4 08:57:42 | 只看该作者
请观看视频教程  18-1-硬件抽象层-硬件中断
/ S, [+ r. P9 c6 ]: s# K/ C7 V  [0 @. h& w1 X$ |3 z( b) b. Z
在 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-2 18:47 , Processed in 0.040556 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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