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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
4 q& C0 U8 O6 @# H! W5 l' Q" S* y) N  I# Z8 }! N, z  ~0 p& S

: R0 I5 @$ F  N7 U3 u9 X谢谢
5 p4 ^1 {" W- e4 P5 f  L/ ~' `+ ^5 Z% y2 M9 K
2 h' q- }, j+ W$ R' Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_7 z4 w+ k( u9 U1 z, X  b9 c1 X
  2 #define _LOG_H_* s7 E! a8 f- H  Y! E, ]
  3
; t1 N. W# w; r" A0 h0 y* q  g  4 /* 0: printf; 1: UART1 */
7 K9 m' I. y4 j0 d* j/ K  5 #define OUTPUT_TO_UART1 1" w* S6 @% e. V- B& L3 C' u( z
  6
8 a/ z. }: N' R* D' R, n1 U  7 /* Switch Log Output */1 I% R. Q5 S! H" _5 Y
  8 #if OUTPUT_TO_UART1
1 {/ [$ @( r# h$ K! p1 y  9     /* For UART1 Initial */  j  L9 P7 L. H( H% n- o& G
10     #include <stdlib.h>9 D  W) A+ [% O( B8 {4 F
11     #include "hw_types.h"  7 ?4 @! A  e* p
12     #include "hw_syscfg0_C6748.h"
$ V; \0 M% ?1 f 13     #include "soc_C6748.h"
# Z6 o9 @3 J, ^ 14     #include "psc.h"               ; s$ w. B6 \3 D  A
15     #include "gpio.h"               
( X; Z# E2 y- E5 u# c9 } 16     #include "uart.h"
  L2 x! ?# u+ J% ?) ^* `1 P) K4 _/ A  A 17     #include "uartStdio.h"
: @# _9 k" p+ A* } 18 + R7 s' x/ e3 F/ Z1 \! m
19     #define OUTPUT UARTprintf8 _+ g; r& s/ `$ O+ |- \
20 #else
' T8 ^( a8 f, O+ k0 X: i 21     #include <stdio.h>2 G3 I7 a1 ?4 Z; t" l& m0 Z3 C0 ?
22     #include <stdbool.h>9 {9 s$ ?$ v2 o. U
23
9 v) D( F1 u, [3 e8 d. S 24     #define OUTPUT printf/ r% [7 q9 h' r% }( ?! `
25 #endif
$ w+ r! Z: P* Z) z 26
9 `; r* {0 @9 l1 j' b 27 /* Log init */5 `1 `8 I' Y# k$ P1 [' w' T/ z  Z
28 #if OUTPUT_TO_UART1+ f5 _# f8 g) @+ E; d- i
29     #define LOG_INIT() do {                                     \% s6 O! s4 B6 c( N" y
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
5 c( a$ ^! s* }$ _9 M% s) g 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
9 ^4 a1 x. B" Q7 A 32                          PSC_MDCTL_NEXT_ENABLE);                \" x, A- d3 D+ @+ w! A* C
33         GPIOBank6Pin12PinMuxSetup();                            \% ~  `0 F/ @# L6 h) P! k
34         GPIOBank6Pin13PinMuxSetup();                            \
5 I, Q/ D) H- }; }. n/ G  @* k 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
& L4 Z/ u+ T0 ~0 o 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \: n! _; E4 S. [( c" p
37         UARTStdioInit();                                        \
; P$ O0 M& r: W5 a9 K9 c 38     } while (0): Z2 d9 S0 Q0 u! F  U; ]3 B/ R
39 #else9 T& O. K! M- t7 r
40     #define LOG_INIT() do { } while (0)9 A) c0 P( j2 b( E- r  R- g
41 #endif
. [3 o* P4 i8 \! k1 S" V4 K 42
6 `8 ~  `# p0 x9 a% s4 n( |1 f# \( x 43 /* Log Output */
4 ?, D" S- A1 A6 v( z8 u 44 #define LOG_INFO(format, ...)      \
5 L; _, E) ^4 v 45     do {                           \! w+ C# y: w; z9 b( b" L! P# }
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% e1 [* Z/ Z1 n4 h5 Y
47     } while (0)
. t3 z5 f5 `. h& `% e 48   ]) K& n  u8 _6 P
49 #define LOG_ERROR(format, ...)     \
/ O8 S1 G( C, l1 m+ o( x 50     do {                           \
6 R; o2 |" u/ h  f3 { 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 d' s# I) ^2 ] 52     } while (0)
6 Z( ]3 G+ |0 y* j- Q0 f% v 53 8 Z# a2 G! u" W. J9 o
54 #define LOG_DEBUG(format, ...)     \
1 N, W, q! U! M: r 55     do {                           \
; O% A4 O( i* y, P  t/ B 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! m( f1 W+ v9 E, ^+ T
57     } while (0)( Q5 L  i% R8 N. `# v9 j0 l2 B" X
58 , A9 t; h' _' K1 y* @4 P
59 #define LOG_WARN(format, ...)      \
. l# ?' ^! P6 m% z* T6 [ 60     do {                           \
& U  A" ]0 ]+ J/ ?$ Y7 m$ |+ q! B 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: H3 I2 U) Z/ P- A# R. A6 E4 ] 62     } while (0)
  u. @1 d% g; k 63
/ f/ X: y8 I1 S2 a% q2 K 64 #define LOG_TRACE(format, ...)     \
0 L" r. r2 _% h+ \! z 65     do {                           \
! ~( z/ K1 [8 O& s7 \+ p 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 A2 @2 A' u1 |* x1 X7 l5 g 67     } while (0)
/ b* a4 X$ C2 y9 w' J: \; }) i 68
6 c& O! a. t# m# |  [6 r% E 69 #define LOG_FATAL(format, ...)     \- \, S3 i4 i- H7 F# f, L
70     do {                           \* t9 {% L, Z4 v  W/ d7 Y" t& h3 I
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- j) u, F1 t& A) v  e% m) `4 j' t 72         exit(1);                   \! |4 s& @; h+ [7 M: n
73     } while (0), g! ^2 W0 z5 a2 o' D" s" O
74 , B' z/ ~; i5 C: B: |
75 /* Assert */) X- Z( Z5 ~( |" d9 B/ \5 g
76 #define ASSERT(EXP)                \/ m: |4 S1 F# \9 F- x  a0 e
77     do{                            \
0 G) B! y7 j* G- ]+ b 78         if (!(EXP)) {              \# e# F# N1 g3 m) x3 D% X  c& n
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \$ j; E' h0 p6 ?4 R% ~5 t: L
80             exit(1);               \2 f# E4 M) W) G# z  L
81         }                          \) p: }) l) W& _5 F9 _- _0 {
82     } while(0)
3 |5 B" k4 p9 Z5 k& x+ N" o, G 83 $ h- T4 y% f" u" q9 b/ f& k
84 #endif1 M" ]* T, G2 B/ `) r) v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏4 F( k# A  ]0 |1 F
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
, i& u: a6 H. e( _3 F# I修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
" @* ^$ x! n/ m( o3 {1 V8 d" O
你好,是arm这一端的app
6 ?- N& T* M4 Z& _, [( {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03, W" D( ?1 a% v: \7 p/ u
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ z$ j8 H! o0 z+ O( S$ y
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路( K0 U/ l" i9 S) d! k3 T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
# |  f6 I0 b! A6 p! M" fdsp 端的 log 才使用了 uart1* a+ }8 J" W% G' p) o( ]% j
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
. S3 N' i+ a! U, i% ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
) o6 d; x9 }0 @2 qarm 端的 log 并没有用到 uart1
' W% [. k( Z& p( T. ]- adsp 端的 log 才使用了 uart15 `: r; V* Y9 c( |
所以,你需要也只需要修改的是 dsp 子工程的  ...

! l5 Q9 [3 Z, a$ |: Z8 g+ l! v那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,1 O  C, x, _9 I& z6 z! v8 k
然后将#define OUTPUT_TO_UART1 1 换成
9 A; F! L6 U* e7 S9 _! L#define OUTPUT_TO_UART1 0
2 h: S% \9 Q4 h' z" }& G0 t  是不是这样; A  V5 Q$ _" N- f

: g$ P8 p' Q* @4 G6 Q) x% L7 c) O7 W3 m* @2 ^4 }- ^) H
9 @* O, G& |1 c2 k* a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
+ G8 h( X  V7 w2 }: ^
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 16:01 , Processed in 0.042040 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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