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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢+ X5 F; _7 F- v8 S, x4 V

6 K# d2 [, g+ ?6 q: d& S: c$ q
- y* M" G" i" i5 _2 w& n3 I谢谢
  Q4 \& u" c  ^/ ~
  p; [. ]0 m: [, q3 z1 K* p$ Z
% P) L% m: g, \7 G" a; h& l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_9 I5 z3 c2 |1 g/ q
  2 #define _LOG_H_
6 L! Q2 ^) J% P1 V7 T: _  3 ( b! U  E( O$ A# z* F
  4 /* 0: printf; 1: UART1 */
; a4 w0 m) X* R9 T  5 #define OUTPUT_TO_UART1 1( ~) M* D9 O3 c3 y
  6
0 \# @  C+ ^% c  s( y4 d" F6 Z  7 /* Switch Log Output */
, |0 I; z& M: G9 k/ k  8 #if OUTPUT_TO_UART1) c% ~" J7 ^" }5 r* o; z$ V
  9     /* For UART1 Initial */' D# }" R( v$ ?# A8 k
10     #include <stdlib.h>% k& Y" T6 o1 C8 ?) j
11     #include "hw_types.h"  " M. p% |% {+ q4 H
12     #include "hw_syscfg0_C6748.h"
2 c/ l, j8 ]' W6 q8 E. c 13     #include "soc_C6748.h"
. N! \/ C6 A! h( r 14     #include "psc.h"               
& J; Z7 J, A% Z6 O' e' g 15     #include "gpio.h"               * Y* `" t; w0 ?5 M) Z7 W
16     #include "uart.h"
0 [( n, H. ?; S, A% ^7 @ 17     #include "uartStdio.h"
" c" l4 O, i! v2 {9 @ 18
4 b6 e; P% W4 ^) U9 z  k& c 19     #define OUTPUT UARTprintf# b, e* E8 o- L$ u% t* @: [$ \2 U
20 #else
" }6 a! }% t2 R8 D. S- E 21     #include <stdio.h>/ |, }' }" ~! _) z# o8 N3 T! F% K
22     #include <stdbool.h>2 @' M& V3 q7 P/ D: E7 b& H
23
) t8 k+ d/ U0 H' J9 M$ s7 _ 24     #define OUTPUT printf
$ w! u( Z) E, b) m6 ^& N 25 #endif9 x; s$ X9 O, ]- P9 @
26   j! g* m' F* D) M8 r
27 /* Log init */
8 i+ Q. `7 I# [" h! W, n 28 #if OUTPUT_TO_UART1/ r1 y: Z2 _: K( C: ], J! N* p1 P8 P
29     #define LOG_INIT() do {                                     \' e# N) {8 g- M$ W& y0 L. E" Y
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \1 v: X. `$ w* G$ d. }/ u
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \& c" O  @# B7 {: y# l5 D, u. e* E) E
32                          PSC_MDCTL_NEXT_ENABLE);                \- g& B* j! T; L6 A
33         GPIOBank6Pin12PinMuxSetup();                            \
8 s& a2 c) H. G! }1 m( ` 34         GPIOBank6Pin13PinMuxSetup();                            \
& [: ?6 T1 Z. j6 o6 g 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \5 K: M0 P( U: `, w1 r8 X$ r
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \3 G( a% O. x9 G$ P/ Q
37         UARTStdioInit();                                        \
3 K) N5 U* o& r8 j# L# p1 ] 38     } while (0)4 S0 s4 i& U8 H
39 #else
2 p! k) I) l% R 40     #define LOG_INIT() do { } while (0)
9 \/ o: }5 u1 J" q8 M- _ 41 #endif
; ~' n- ^; ]8 X" p. p9 Q" C$ | 42 ' g# j2 O2 Z) O5 n2 c! M
43 /* Log Output */
. \9 Q. Y" c7 W1 O- V 44 #define LOG_INFO(format, ...)      \: ], N( d+ n. o& G. Z0 |3 h) p( w
45     do {                           \/ @1 `5 H+ V/ F* s# j0 K
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" F. B" [0 x" L9 Y! {  \
47     } while (0)/ M+ B- h( i% i
48
$ X) Y6 V/ B3 ~  T 49 #define LOG_ERROR(format, ...)     \5 M% W! K7 w2 z( q2 t, R
50     do {                           \
0 n$ u9 _% g' g4 K6 O8 p 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# d5 W' o+ y: D; r+ \
52     } while (0)
( O3 E4 a- V% v 53
  Q$ H+ F- V% z; \5 j. S& }4 }1 V 54 #define LOG_DEBUG(format, ...)     \
  ?0 ^3 p& E- k! r- u* O 55     do {                           \# f+ I$ t6 |. A
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 m1 I. h6 X) D3 j
57     } while (0)
) z6 B. W* u4 K1 r. o1 ?8 l* [ 58
' r, v6 h+ q. ?  e. H8 v 59 #define LOG_WARN(format, ...)      \
/ @- i& r5 O& K$ i6 E 60     do {                           \& c* v& l8 h+ s* R, P
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 r& k8 d8 G3 A4 E4 T! Z
62     } while (0)
' {8 g; d; \1 F6 D 63
& Q5 i1 |, o6 }5 A3 ? 64 #define LOG_TRACE(format, ...)     \
% q! u  q8 {  S0 \/ t% r/ K 65     do {                           \
9 m* T+ e& F2 {: Z7 N+ o; O8 h 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 p' j4 D) R8 x8 c6 D: b 67     } while (0)
0 U2 ], c' G! k: f 68 & A0 S  r( ?0 o9 ~3 M  @
69 #define LOG_FATAL(format, ...)     \
4 j; R5 n' ^) u! c; {. I 70     do {                           \
' J' w5 D0 }- h" ? 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! b6 t' s4 }! W& t# m$ k( W- B6 _ 72         exit(1);                   \7 o' H3 I& r3 O5 p5 E8 X
73     } while (0), X, a& o! Z' I1 U) C8 G
74
* h" d: w8 w  I+ Y5 n 75 /* Assert *// ^8 b9 X3 z: h4 |
76 #define ASSERT(EXP)                \
1 p2 N% i% H  `, G' G% P 77     do{                            \
/ f% a. r9 F% ?' H9 X- p 78         if (!(EXP)) {              \- _' p9 S6 Z3 [# j& u
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
% c1 y# R4 @# C( { 80             exit(1);               \
; B; ?4 I6 D6 f" K* N* n# _ 81         }                          \
& k6 w8 e2 e5 o6 X 82     } while(0)
+ G, N( w# `+ [ 83
- \8 S, m! D, C# ~" y* P 84 #endif' ?- d  B* b; @$ Q8 _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' d6 o# m- v+ y- A2 u8 Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
5 i: r8 x' o% s修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
" V7 c1 M7 _& Z5 Q7 J* p- ]
你好,是arm这一端的app
( g" Y6 x# V( l& n" y+ ]& v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03$ `$ A. j, _. K/ i8 ?# @
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ M$ V* A) _. [你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路% ?7 y, m* D( G+ k9 [, D  A0 Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1% ~" g2 o' f  [+ e; g
dsp 端的 log 才使用了 uart1
) G7 I" ?5 T: y: h所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h); j! g$ `$ E  @. B# H+ H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
0 G& P4 |* y! ^  b! K% L4 U% Aarm 端的 log 并没有用到 uart1
. N0 S- q0 y0 @4 y) a: Wdsp 端的 log 才使用了 uart10 s; E" u! w9 z7 z
所以,你需要也只需要修改的是 dsp 子工程的  ...
+ m" ~3 B; N9 B2 q, H* G
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,  D0 {( f7 K2 B- `4 a" w
然后将#define OUTPUT_TO_UART1 1 换成+ I, R# l, V: A6 @) j& g7 o
#define OUTPUT_TO_UART1 0( E- F/ G4 F; s3 y
  是不是这样4 ~) \6 `$ X4 d( S+ h- q) s
# I' ~/ |( J% N# n
$ T" B5 w9 e4 o
# Y8 M: S7 K7 F) l# a7 u
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

5 k6 a) @1 ?; d5 i- l( O! S( P
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 08:00 , Processed in 0.041404 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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