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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
1 g+ N0 d2 ~5 W+ X2 e" {" a: O4 U
% A$ g/ `! P( @2 b; ~! V! r
  B1 B" h7 V4 C% {: {1 _1 V/ I谢谢1 b8 Z8 D7 Z) m, I: \4 A, a; b' ^
( P2 n' ~# o- ~$ u5 J" J/ _2 @* f
" V) F$ M+ T: t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 R8 K$ `- T, o- e
  2 #define _LOG_H_0 F  i- w6 ]  y7 Z* S9 d- _+ E! i
  3 ' q4 w! N/ u# O9 e2 i% O! K% m
  4 /* 0: printf; 1: UART1 */
# U5 n3 C: V$ [' m, V2 Z  5 #define OUTPUT_TO_UART1 1
% S% X" [# a( n7 {8 K
  6
: k9 C' E: d6 l3 [" q  7 /* Switch Log Output */
) z- D7 c! ?# a4 ], c  8 #if OUTPUT_TO_UART1: z8 ?9 o) g' o) X
  9     /* For UART1 Initial */
( I3 m- K+ r8 k* r; W$ I 10     #include <stdlib.h>1 a9 Z% h! g" F' }/ B0 G
11     #include "hw_types.h"  ; V5 A. B9 V( l
12     #include "hw_syscfg0_C6748.h"
5 n( x- Y# m6 w( k% `4 M 13     #include "soc_C6748.h"
. j6 I, E; W, d) L: ~0 B5 I 14     #include "psc.h"               6 F- B! J4 l# d! Q7 T
15     #include "gpio.h"               
9 J- @9 F! F1 M( N( h 16     #include "uart.h"
  K) p* v! a9 \+ `, m+ I/ W/ m. B- Y1 o 17     #include "uartStdio.h"' |8 H' m  e, g3 g
18 , Q' X; x. V" h% M$ p6 a5 m
19     #define OUTPUT UARTprintf
- l* ~& A$ Q- A) ]  a 20 #else1 U9 K- I0 k4 F% Q) e
21     #include <stdio.h>
7 K) l' ]3 W( y7 y, k/ w& A 22     #include <stdbool.h>5 |3 l7 f0 v  m
23 " p! H. U9 p3 K+ o9 Y1 x
24     #define OUTPUT printf9 U- a6 `( B: c3 k" l
25 #endif
# Y6 Z; j& Z! s$ Y1 V0 }: a 26 : ^& Z, C( N7 d; E3 a
27 /* Log init */5 ?; Z) P! q7 V# S: [& x
28 #if OUTPUT_TO_UART1) |  l8 N& O, @# ]& U7 q* f& `
29     #define LOG_INIT() do {                                     \; n% d1 H2 Q" }0 c
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \5 E$ ]% z2 g' h
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
4 O$ p$ e& c; r5 ?* d8 l' U 32                          PSC_MDCTL_NEXT_ENABLE);                \
$ N9 A( P4 }5 ?  R 33         GPIOBank6Pin12PinMuxSetup();                            \
/ c5 A# v. y' T, b% V( a' z9 {8 P 34         GPIOBank6Pin13PinMuxSetup();                            \
9 v( E0 x6 g# ?1 W 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \! R7 r; |# C1 @- ^9 o
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \. B2 s3 y% K) ^" D, C' z* R+ e
37         UARTStdioInit();                                        \+ c0 [; E" p  L$ C' Y+ }; c
38     } while (0)
' h3 s$ k, p4 P/ y1 `! T. X 39 #else. z$ w. k0 G$ T+ T9 W, M5 r
40     #define LOG_INIT() do { } while (0)
2 ^, e. c2 \$ ? 41 #endif' f, U8 D- [3 ]
42
+ L9 ]! y6 i3 q; ` 43 /* Log Output */
. X1 n5 C4 p6 @7 U( C& ~- Q 44 #define LOG_INFO(format, ...)      \
4 N. d. @* F( q' S$ X 45     do {                           \
; H! q( e  r- ]% D1 \" i 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  N& B( {7 r8 U9 _- s 47     } while (0)9 \$ g7 x* {6 r2 {% H
48
2 ^) v/ j4 B0 N) C# p+ F 49 #define LOG_ERROR(format, ...)     \. |" y, d' \" G' [, O& i1 Q
50     do {                           \& _* v8 |* Q4 T. W7 f* i, G  ]
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! v2 E2 I7 J; d 52     } while (0)$ x, u  |" ]$ m. S$ K0 G
53
6 {0 [3 Q% i! Z" f4 ?+ Z3 p 54 #define LOG_DEBUG(format, ...)     \, A% y3 x, b6 q" I; E
55     do {                           \
! ^- b, P8 Y1 w* M9 t 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; z4 w# z! y, \9 \
57     } while (0)# z( e4 D6 Y; W& R# U  C
58 4 E) k3 q) b/ W1 W* b' K
59 #define LOG_WARN(format, ...)      \
+ K5 V- d3 S; i- N& @7 f: o5 b 60     do {                           \7 @8 [/ x  a& `
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% c. ]  ^6 r( X/ Z
62     } while (0)
& M+ }( g$ s4 |% v4 N 63
& \9 y5 q1 q2 v, j. ] 64 #define LOG_TRACE(format, ...)     \* ?9 P. \- D" s0 M
65     do {                           \- N- K7 z4 A. E$ P9 @
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ v) _) q2 P& { 67     } while (0)8 {$ W4 H4 I8 l' H& \+ v. b
68 ( p+ T5 M* c- U0 [: a9 T& S; v
69 #define LOG_FATAL(format, ...)     \3 p/ E( m$ G" A
70     do {                           \
: D/ Y# t/ R) n7 g& P1 z 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 g" i" n* s9 I- G8 @/ Z
72         exit(1);                   \9 V1 v, ]' n8 \& d% }, U& ?
73     } while (0)% {! h+ g  J4 R/ H
74
% W  A  Y& W4 Y  H8 w" I9 ~ 75 /* Assert */
' M0 S6 d  {5 X 76 #define ASSERT(EXP)                \' i% r) r. t+ Y) A' @. X( g
77     do{                            \
& ^/ h2 V  b2 g" K$ d. P 78         if (!(EXP)) {              \  r, p4 K1 O5 Y0 ^1 P
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \+ R7 T$ z4 z" l6 u% U: O" N
80             exit(1);               \
: A! I- P8 p) V# [ 81         }                          \
4 Q, r6 e# ~! s( _ 82     } while(0)1 T0 N8 T+ `' n5 {: O: n, x
83 4 g' }# C5 L( W" ]) ^
84 #endif
2 l) k2 \& N9 B+ V) d9 N' h) q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏$ g; [! q4 z6 G2 Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03$ u( H+ _! _- a
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 X& E4 d( c8 v! l, `6 c3 X5 r0 n
你好,是arm这一端的app
+ n% S2 h, I$ i
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03$ B, l, b- F4 n; G5 l7 v8 {
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

% I. Q$ ]  \7 n8 T: h6 p% \8 N1 }你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路% l0 O6 I7 Q! ~* J9 J$ Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
: c1 H; K: b  @8 gdsp 端的 log 才使用了 uart1
! c, V+ o5 V1 p; }6 [7 \. ~9 \  _所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)0 ~' q" ?- {0 x& W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59% K' d4 C$ L- I/ P9 L
arm 端的 log 并没有用到 uart1
" }) S* @6 G4 Bdsp 端的 log 才使用了 uart1
1 z$ o2 a' g2 y- Q4 H, g7 r所以,你需要也只需要修改的是 dsp 子工程的  ...
0 n4 w, @  a, l" O2 z
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,8 t2 Z. ^3 |6 {: D3 F
然后将#define OUTPUT_TO_UART1 1 换成9 [6 g& x: [0 x7 L
#define OUTPUT_TO_UART1 0
3 ?; Y/ p2 R0 F, W' e( l$ U  是不是这样
+ E  D2 D: v6 g% c& K
/ E6 ~3 N* P' I6 W% g* R6 h; ^/ t1 C% a3 j: Z
* p! {! i) x0 e9 S9 j
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
) ~: T7 y* ^8 u3 x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-24 20:12 , Processed in 0.043577 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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