请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
. x8 X+ o4 X/ n5 L  R* W
0 v. C2 e1 S9 y& y6 }9 A+ n* d6 S8 o: a, V1 r$ X
谢谢! @( V0 ]' I  `: w

! U, X6 z! e# d9 y3 f
0 j# L8 P( x. s4 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
) `/ E) l3 f" Q8 V2 h  2 #define _LOG_H_7 v0 v: R" h- m# k
  3 # q) ?- N- f: @( q' _
  4 /* 0: printf; 1: UART1 */
2 F& j1 H9 T0 F* y  5 #define OUTPUT_TO_UART1 1  w$ Z- e* a) V
  6
% q9 W  k( f3 C5 |  7 /* Switch Log Output */5 l1 l  N" `# d+ g
  8 #if OUTPUT_TO_UART1; O# c1 S( o/ g; y
  9     /* For UART1 Initial */
8 K/ V1 o$ k! f 10     #include <stdlib.h>6 n' ^0 u* I6 ^' p( U
11     #include "hw_types.h"  
/ \7 f4 x! v. d2 | 12     #include "hw_syscfg0_C6748.h"  p! p) S1 D, _. S' @" q
13     #include "soc_C6748.h"
; T! T$ r, D6 a% O 14     #include "psc.h"               
6 f- m4 l9 _/ f& q 15     #include "gpio.h"               : G9 o0 H4 m: I  G
16     #include "uart.h"
8 K* _* G& `2 G$ C4 {# W0 ? 17     #include "uartStdio.h"
; D$ ^  o4 t" n3 o- b# C5 v 18
3 h6 }# b4 E7 b. H" z: j, C/ T 19     #define OUTPUT UARTprintf
. Y# @$ G5 v2 t/ _. _: ?' } 20 #else$ [2 H. W& \: Q8 i* n# ?  K- C; ~
21     #include <stdio.h>' h$ d) G8 P: p" j. v, @
22     #include <stdbool.h>5 h' l- ?% H- L6 a( a' H+ w
23
8 F# O  P, `6 Z1 X- H. W 24     #define OUTPUT printf
7 D! Z' q9 G/ D# W( X 25 #endif
/ E( L$ R( |& N# O; \; U# X/ p 26
' y  q. b( z0 G& w* p 27 /* Log init */$ a4 a5 m  c3 h. A0 L6 E
28 #if OUTPUT_TO_UART1: S3 b5 r- A1 l; ]! L
29     #define LOG_INIT() do {                                     \
6 |+ p2 |% v. X 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
( u# m7 ~2 ~6 r$ I1 s 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \  |6 P) _! Z, `# D
32                          PSC_MDCTL_NEXT_ENABLE);                \: y" B; f9 i* B
33         GPIOBank6Pin12PinMuxSetup();                            \; r: k# @0 g0 w; }. M9 x
34         GPIOBank6Pin13PinMuxSetup();                            \- j. o- J4 G, s# l( [% n  g
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
8 e  W1 j8 L# p1 n" y 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
6 g; N& ?3 m$ `  b) e* X& m 37         UARTStdioInit();                                        \+ {+ n& G. V; b+ T+ b- U
38     } while (0)8 w+ _7 a3 Q/ Y( ]4 e
39 #else/ j7 D: W' [* ]4 N+ n
40     #define LOG_INIT() do { } while (0)! @: k; U+ L2 i4 Q; X
41 #endif9 H) l8 }' H4 z2 s
42 ! j9 P& v! `8 ~- X: }
43 /* Log Output */4 @/ h# e6 y4 Y: S
44 #define LOG_INFO(format, ...)      \
7 K; h! y$ A0 Y: n: X2 \ 45     do {                           \
# u- P& d2 J4 x+ _$ | 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; R! x# t/ ~/ f7 z3 r3 q& z* h/ n/ P
47     } while (0)
- Z! Q% X% @9 o/ R0 O8 z/ J 48
+ Y1 X4 X0 X$ \" x3 R 49 #define LOG_ERROR(format, ...)     \
0 \. Y1 k! Z9 z 50     do {                           \: R; @8 F) k3 ?! h/ A9 r
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 f0 q: J& h# R3 D 52     } while (0)
( J( O- y# k$ x' U; c( p; e 53
: @' @" n6 Q" U( p, q# u7 T 54 #define LOG_DEBUG(format, ...)     \
' L" |9 `( @, m. Z8 I8 C' K* B5 E. M 55     do {                           \# K# b: O- ?4 y8 b. @5 ]$ P
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% ?4 o2 N, _6 z8 a4 y8 D' K 57     } while (0)
; t% N+ _4 [+ l" D, X; d 58 ' V  x& P/ G8 [/ E$ T, V" J# Q+ }
59 #define LOG_WARN(format, ...)      \
% E3 ~; V) e) y, q0 s 60     do {                           \+ j; f: q3 o! b7 w$ P7 X
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 v! g* \' \; g6 a 62     } while (0)
" p8 F6 r. j9 P' D 63
9 R$ u6 ?0 G. q; Q" x7 A) t 64 #define LOG_TRACE(format, ...)     \' [3 t/ ^9 s  V
65     do {                           \1 ]8 k0 N6 T- x! r! L# a) K2 f% O
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ `( Y9 p1 ?! e2 v0 W 67     } while (0)" i: @5 @& c1 B, H( m$ X
68 " A) g& U3 A( G, h+ Z
69 #define LOG_FATAL(format, ...)     \
/ s$ }- a+ R& @% G6 S6 j* p+ g  K 70     do {                           \% r4 b$ |' @% O" f5 z0 `( F6 T; K
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) b! Y* K7 Y: O$ m5 {( {, p
72         exit(1);                   \" S: q& E) q3 X# F  y# j( n
73     } while (0)7 m* [2 r! w- x+ O1 O. L
74 & j7 S- N/ G5 b, ~
75 /* Assert */) C1 K0 f9 [$ @4 u% P
76 #define ASSERT(EXP)                \
/ c# n% g; q. f' Z# o3 g2 ] 77     do{                            \  l# R8 v6 C3 R5 I7 y$ [# s
78         if (!(EXP)) {              \
- \& i% ~: Y! s+ v 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \3 S2 |; x; i, b1 G3 b- n
80             exit(1);               \
+ ?2 k6 ~5 g+ b 81         }                          \
* v9 z+ p0 _/ c. e7 N" q 82     } while(0)
" B4 [: a( B) [5 z4 x$ u, Q+ ~6 U2 Y2 f 83 " K0 @- N/ M3 B% o
84 #endif9 ^7 {" }' d9 b' U5 q( V" F! ]
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏# z8 [3 P: T- K( j
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03) J) [" r# \8 {' o1 o/ T
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# l6 w* T4 T0 V) {. p/ I8 r
你好,是arm这一端的app
: U7 j4 x; B3 `! p. N! e
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 Q# X# b7 f- ]. M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 J1 g1 j' h2 d) B  o
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
6 l: R# P, z5 }! W% y( o0 n
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
4 L$ J8 G9 R/ G6 {! T) n$ q0 D1 Bdsp 端的 log 才使用了 uart1  H; t/ h! c+ _
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)5 v8 z1 R- ^5 Z1 }9 P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
0 Y; s) b3 ~* }9 I2 f" b6 z, |7 P" }arm 端的 log 并没有用到 uart18 C: Q- e1 z/ X5 B) c- Q* h  l
dsp 端的 log 才使用了 uart1, U, y& y2 ?9 }# \$ _
所以,你需要也只需要修改的是 dsp 子工程的  ...

% \' X6 Z& I* b  m8 C0 R那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,1 M3 D0 k% L; M4 x! Q
然后将#define OUTPUT_TO_UART1 1 换成# G4 [+ m9 n$ ]! W
#define OUTPUT_TO_UART1 0
9 ?: T, [* g% \+ a0 ~( |4 o  是不是这样
7 ]5 Y. W6 `( D5 C9 W6 t0 D7 x# \/ @$ u4 C+ i7 B% _

  J! p5 y' b, G& T7 i, e
; L1 z1 w$ b; S; ~; E
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

: w6 H2 o0 r6 o0 x5 S+ {0 q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 09:23 , Processed in 0.048566 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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