请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6242|回复: 7
打印 上一主题 下一主题

请问怎样可以解除DSP端输出信息对占用串口1的占用

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
6 B! C; f" h: o7 `( S- X& T8 j# q8 @: t

5 J+ f$ F, X" O  m3 c& M  N( r谢谢, @* z3 L( k9 |2 Y! G$ f4 o8 X& s

3 s. I$ z4 S. g* Y$ A. C: x+ t& |  d% w! d6 W6 V; [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
- ]& y7 r) r! W( @  2 #define _LOG_H_0 o2 b, V2 ~' W
  3
% m* O$ J7 @$ U& k; t( C  4 /* 0: printf; 1: UART1 */
# v4 `! A' _. f; F$ d! z  5 #define OUTPUT_TO_UART1 1
- j. d! u3 O; {& f/ u- B+ ~& I
  6
; A& E/ S9 `1 v6 y7 S3 a) T% G  7 /* Switch Log Output */$ G+ G9 S  t2 `! k5 k; h9 T' Y& n
  8 #if OUTPUT_TO_UART16 z2 J5 a$ _7 {  |2 K$ M
  9     /* For UART1 Initial */
9 Q' {7 H3 J( F9 c% l; G 10     #include <stdlib.h>
( F9 {" Y% g5 l. i- I" F# [ 11     #include "hw_types.h"  ' P4 t1 ?/ l) \( V# X" K0 |
12     #include "hw_syscfg0_C6748.h"
. ^/ j$ k$ S& h! j 13     #include "soc_C6748.h"+ |1 @5 K* ]" p$ o
14     #include "psc.h"               ! j$ c6 |+ E# ^) u. O4 u& ~8 `7 K
15     #include "gpio.h"               ( j" o! `5 J. L: f4 G
16     #include "uart.h"! u' ?9 h# ~/ E8 t# z: }. p0 `
17     #include "uartStdio.h"
9 s; s& c7 ]7 g* u+ p1 f. Y  I 18
1 b) P+ W0 Q) w4 V8 ~( [. p 19     #define OUTPUT UARTprintf
, g5 U) n( o; J3 Z! N 20 #else  A7 Y0 w1 m& a* u
21     #include <stdio.h>+ F$ P# D/ R& Y5 p. S* r. n' f9 L
22     #include <stdbool.h>* P6 G) Z" O+ _( J% n
23 ! `6 H; z7 v6 T9 T
24     #define OUTPUT printf
2 Y0 T8 q- }' E7 `7 y$ G/ y 25 #endif
( \5 J$ u) G% B7 D7 } 26 2 y) I. o1 x$ M# H% |% }
27 /* Log init */# h. ^7 l4 \* U
28 #if OUTPUT_TO_UART1, N) K1 X8 P' U# o" d6 R, x
29     #define LOG_INIT() do {                                     \
9 P' t7 L7 ?1 d; z# H 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \& R( S9 [$ l; F. C
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
: H  W7 M! c0 u3 W 32                          PSC_MDCTL_NEXT_ENABLE);                \" x* V, ^& E: k- c! t
33         GPIOBank6Pin12PinMuxSetup();                            \+ D; V/ y0 L! O1 G" u/ F  S
34         GPIOBank6Pin13PinMuxSetup();                            \
3 K# _1 I6 A3 c, }1 w 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
4 U6 ~) L) `+ Y 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \) F% h$ l+ e" Y1 Z: Q% i( {
37         UARTStdioInit();                                        \9 Y1 ]9 I- c" j+ |3 l/ }
38     } while (0)
3 U- k3 N* l; o+ N5 g. _# U% ^ 39 #else- q2 S1 \4 U$ c/ w
40     #define LOG_INIT() do { } while (0)/ }2 H: a5 |0 G! @
41 #endif# M/ W; q. |5 h% C
42
7 L+ {6 K/ [$ Y/ t" Z4 v* j8 y 43 /* Log Output */8 d5 I4 [/ w: l& t4 f3 p9 X
44 #define LOG_INFO(format, ...)      \
  L! K! ~  r' }# \* g 45     do {                           \4 ]9 }, P+ @; k+ v
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 @% j; k: I4 a$ ^* I, T( |9 O9 P 47     } while (0)
3 j$ J/ I/ o5 ^" a* Y" u$ o 48
7 g7 u& m) X4 K 49 #define LOG_ERROR(format, ...)     \/ ^# M; ^: w/ q# ^( }
50     do {                           \! y6 [% k/ E2 ?
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
, o8 J7 X; B* n 52     } while (0)
4 s* {1 a* x9 I' V- ` 53
1 W0 p" r0 c8 Y! _. V2 k6 C 54 #define LOG_DEBUG(format, ...)     \
. [: Q& U5 ]& O! T 55     do {                           \- E6 H1 R- {: D) Q3 }5 W6 C
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 l; r- l* ?/ m) ]- w2 s 57     } while (0)
3 Y4 X' y& p2 X2 u) _% |5 _: u 58
$ ]# l4 S/ w/ T5 I- h' k 59 #define LOG_WARN(format, ...)      \
! T6 r/ k3 T1 p; e# j 60     do {                           \
# [8 C+ w3 m+ c; I* y" r3 [/ K 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 x/ Y, {& Y* n$ ^) E
62     } while (0)  e' z. A  h5 s0 Q2 ?: ?! q# k
63 : M9 @6 v! p& i4 ?6 a) ?. w
64 #define LOG_TRACE(format, ...)     \  v) Z: ?: o6 Z, _3 ~  A3 a7 Y  I
65     do {                           \; J. h2 A, Y/ H, n) I
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& @# b& H% ]% S: i
67     } while (0)% S0 P) Y0 v  e) T4 m: ~0 a4 N1 P
68
& Z# O* s% T8 l" ~ 69 #define LOG_FATAL(format, ...)     \& g6 Z; N. S3 p8 ]5 N- C1 x$ u7 ~
70     do {                           \' m5 J+ U4 T4 }( ^
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 v/ I* O) w6 }% @& t6 Q
72         exit(1);                   \, F* Y7 F7 J5 c, n: C9 @* r8 k
73     } while (0)
( d! M2 J6 p" b. V; r 74 * w  q, h' u' p5 o- U2 X; ^7 O( I
75 /* Assert */3 }# Z) [7 r% Y8 t: A6 L9 C
76 #define ASSERT(EXP)                \! i) q/ @4 r/ Z' {: ?3 _
77     do{                            \
; h! ?  x' l2 j) T6 s 78         if (!(EXP)) {              \
. a+ [& ]$ q- l, v* `( Z 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \" P* Q+ n" Q+ c' z, O9 q
80             exit(1);               \
! b. O' n5 E$ ]! I* B' @& ?( k% [0 z 81         }                          \
: w$ {, E2 e' p 82     } while(0)( _0 r- [2 j% H/ ?" z8 @+ B. ?
83 7 q: X7 H: H( E" s# r
84 #endif
2 |$ c/ r  {, G* g  ]+ e" H$ ?
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 t5 E4 m1 C  }- y9 n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03# X4 C/ n9 q! ~: I) }
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 F( d! z. M% V  ]
你好,是arm这一端的app
3 Z$ Q( \+ Y; c" @/ H8 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03; R( w* F3 `# s& r8 l
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% Q6 u, @1 g% q7 ]" j& J) m+ F
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
: |; N( S: A- f1 }& E% i8 ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
5 U- S7 J4 x4 i5 I) Jdsp 端的 log 才使用了 uart17 G/ X, o+ _) f
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( Z3 r) \0 v! A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
% W9 }7 b! X* Narm 端的 log 并没有用到 uart1
, j4 A1 z5 `  n4 \: D0 Z5 l1 ydsp 端的 log 才使用了 uart1  P3 i7 V, P* s1 D4 [
所以,你需要也只需要修改的是 dsp 子工程的  ...

! g2 _" E  c# T8 m+ p6 l那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
, N: M* d( R% t7 E然后将#define OUTPUT_TO_UART1 1 换成2 r# e; x7 }. N* t" K0 N( ~5 D
#define OUTPUT_TO_UART1 01 K) l/ _9 o" L& x4 J) q
  是不是这样* [  c, K$ d. A; r2 T
4 h% s/ T) g$ _7 W' \* l4 R* ]

8 ~  z/ p" j3 H6 B
0 {- v. ?  x2 U. @( |* G5 p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者

! Z9 Q5 y7 S  F5 p
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-2-4 16:10 , Processed in 0.053577 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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