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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
' E# N  t! u  h0 G( I* p% D2 k+ z; U
6 S* n% K/ D! M6 z
谢谢
* E0 N5 V$ k! C" m/ {! ?: o
) F8 b5 J5 ^* G' O7 j0 }$ l
# K* J0 f6 _% a0 Y1 i, S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
  y$ _* `" j8 t, l8 o* q  2 #define _LOG_H_
4 n  `1 p8 s9 i9 P% t  3
0 A. v1 p: {& q1 a7 {7 s  4 /* 0: printf; 1: UART1 */3 F- w4 \+ H5 C! F$ t
  5 #define OUTPUT_TO_UART1 1& Z8 ~3 J& I, e7 Z* @
  6
6 W' `4 ^% H- Y9 Y# q% F8 K  7 /* Switch Log Output */
$ |, P3 @+ z. Z4 V+ P4 `  8 #if OUTPUT_TO_UART1  L) u/ y& D. X* B5 W
  9     /* For UART1 Initial */9 P& U* u3 P& t: ~
10     #include <stdlib.h>8 f5 c* @0 N/ l) X9 w% X$ }* x3 j
11     #include "hw_types.h"  6 t( Z- V  I" p1 `
12     #include "hw_syscfg0_C6748.h"
/ w# J* h- Y$ O 13     #include "soc_C6748.h"  q! X5 W5 \* }
14     #include "psc.h"               " `3 |; J2 _* M! c/ u
15     #include "gpio.h"               3 p/ E- e1 b8 m& Y
16     #include "uart.h"
, k4 I) C  M: Q 17     #include "uartStdio.h"
$ E- ~1 G6 l/ r! |+ C. b 18 # B- q7 s& l- l
19     #define OUTPUT UARTprintf
; w. ?$ I. K1 o9 z7 Z8 j8 O 20 #else1 y0 a4 w0 Y; P, M) [4 k  w
21     #include <stdio.h>
: U  k$ N0 n  N% {4 o; ^ 22     #include <stdbool.h># e% {6 \+ F* `% j, z- O
23
$ e% |* K+ Y% P8 p1 M1 i) _% q 24     #define OUTPUT printf
3 M, [& o; X  O  u- i& B; Q; i, w9 t 25 #endif
$ H! P( A  @( N, Z& ?7 L/ ~# L 26 : y# h, Y) P$ E
27 /* Log init */
( n2 u" U- Y0 H  O8 q4 D" m1 R 28 #if OUTPUT_TO_UART1$ K; H/ G( a, D: ?
29     #define LOG_INIT() do {                                     \4 w. o- ^& W+ e& g* r! I
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \& I( ?+ W# t9 e9 l
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \" S( o3 z$ L9 {1 g
32                          PSC_MDCTL_NEXT_ENABLE);                \) p3 m' \4 z, Q4 d$ ?! ]1 Q& |8 o
33         GPIOBank6Pin12PinMuxSetup();                            \' d4 f) L% C. s- f+ F
34         GPIOBank6Pin13PinMuxSetup();                            \
) O: {- Z9 ~0 U% F: D 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \1 m6 G" q  `' g% L
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 }+ o& Y; F5 C2 _
37         UARTStdioInit();                                        \
6 G# r2 a6 q. y 38     } while (0)
2 m1 b0 a' i' P& e* S 39 #else
3 @. [& {8 O  a7 h 40     #define LOG_INIT() do { } while (0)
  T$ I' [6 r5 T4 q 41 #endif- I7 d3 h" |' r9 G4 P8 @
42
2 g0 ?& Q5 |' y4 j. V" @- _  [ 43 /* Log Output */2 f9 W( c+ w  Q) X: [3 q
44 #define LOG_INFO(format, ...)      \
% L& ?/ m! S. h* } 45     do {                           \
) k' ?' x6 ?, X. ]. f' X) `6 B 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 I) @5 G* ]. p  H9 c 47     } while (0)
( o1 ^4 Y8 X1 H) C6 Z0 L 48
: B) A1 E  Q" ~" t7 Q: \2 J5 _ 49 #define LOG_ERROR(format, ...)     \
5 T7 S2 Y. E( T 50     do {                           \
; z# {) \/ D7 B& l 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 A: i. x7 m+ ?5 z' F( [
52     } while (0)# @8 m* e; [+ E- m
53
% @9 R5 u% P3 }, k4 V2 L$ ~ 54 #define LOG_DEBUG(format, ...)     \$ s. O' Z9 c4 s3 _# m( U# m7 }
55     do {                           \9 H4 m% \9 }/ Q6 j+ W. v+ f( t
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; t) K3 U, l1 s: ^% y5 _! Z& t
57     } while (0)  W$ J) {& ~* M* i: |8 C
58 9 V* Q& B/ |: M0 a/ b
59 #define LOG_WARN(format, ...)      \$ u5 W4 D0 d9 S5 o: C
60     do {                           \
4 }7 E) ~1 s" x( \: ]& ?8 w 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 p8 h# R3 d; a5 s" j 62     } while (0)% a, ?- Q& W' v4 B0 u
63
9 _( v4 u* R: J8 B 64 #define LOG_TRACE(format, ...)     \6 T  Z% F+ M. u) ^+ a; X0 C" _8 {* q
65     do {                           \2 c' w" s6 w. ?4 f5 }0 |  [
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 V6 [) u& W- o; v2 J
67     } while (0)
3 Q+ d3 B' H  B 68 : L& a9 D% r7 `4 x- Q
69 #define LOG_FATAL(format, ...)     \
! Z# Q# q  y. {* S% g% b4 f 70     do {                           \+ k3 n" c  J( a" u- Z3 V' H- Q
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. \: ^3 s% ]$ i. C8 A 72         exit(1);                   \
: Z2 M6 ]5 {* ^6 p/ p) E9 V 73     } while (0)8 x$ e' a5 N. r, J# U
74 & B! g! ?8 _) N5 x+ ?
75 /* Assert */
" A. R1 T; f' H' I8 }) y 76 #define ASSERT(EXP)                \( y+ V8 I# G6 Y! S# w8 m( }
77     do{                            \( R# X  k  A( m9 }1 I' C6 H( C
78         if (!(EXP)) {              \
6 k5 t. S& r2 W( `- L" f 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
$ x8 W/ ^+ E9 ~3 N5 Z7 b+ ?9 Z) A+ D$ l 80             exit(1);               \
. W% `1 K/ L" g4 i 81         }                          \
0 ?& m! F9 O( [4 @5 ^. v; a1 p0 M 82     } while(0)
2 D( n% ~. e8 F* c& d 83
* M5 J$ F. m) B& ]4 p% Y* ~ 84 #endif* l5 c4 h/ N1 q* b# s$ h7 b
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏% J- R3 u" ^1 e& O  j2 V/ L
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
3 P! t$ I: R: u7 D$ M修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( h, K- e5 D0 v; ?6 ]( N, ]8 w
你好,是arm这一端的app
4 b/ r3 |7 K# x- X9 x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
. v6 p+ K9 t1 m5 T( G修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) i2 `5 n6 ]+ p1 Z' |; f: x/ a: i- I你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路, _7 f* `$ D; G: P) |- A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1) [- u' j, ?3 M* k& D) T' B
dsp 端的 log 才使用了 uart1' r+ ?! C+ o/ l
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
( D, B6 }, K/ h' o1 g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:590 R, m. {* s4 U- N5 `1 C% B2 ^" i0 L
arm 端的 log 并没有用到 uart1
+ f5 i3 K# W; j: F8 B1 f9 bdsp 端的 log 才使用了 uart1
7 B& \$ ?5 f2 t7 L2 z" [所以,你需要也只需要修改的是 dsp 子工程的  ...

8 u& U$ l& W6 d. N4 A  n# X1 h; B那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
0 h0 u$ K$ H; X# ?1 s然后将#define OUTPUT_TO_UART1 1 换成  e  }! Y4 T9 h$ C  v
#define OUTPUT_TO_UART1 0' \% y. ]" @" o
  是不是这样' g; v9 p( F  t+ s7 F) q, R. v2 i; Z

- T" [6 }6 E1 _5 H3 N! x2 I* E4 G+ L- M* z: `/ p7 W# Y( F9 v2 Z
: A8 Z+ V" }8 Q0 Y0 C) J4 U) P: G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

, @. e+ ]$ K* ?3 H! m/ F, ~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 15:24 , Processed in 0.046445 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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