请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢/ Z( ?1 q1 D+ @0 L$ P4 m# F
6 b7 H9 ?% q3 s/ v  n! \) E

/ I0 ]2 J  ?' M谢谢
3 i: Z% x2 q" @1 \% [& P8 W6 Z* v; D/ s" p" r
* s' ]& N8 l9 R5 ]) K- [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_) t8 Q* n2 N+ a
  2 #define _LOG_H_
1 n8 i/ S/ B) R8 B- X  3 ! W, H  \0 E- C* @" w
  4 /* 0: printf; 1: UART1 */
$ v3 m2 S0 E) e! b- A% d( j  5 #define OUTPUT_TO_UART1 1
. E* t( }4 C# U" |" a, N$ N
  6
" x6 V4 O9 m. ~% g+ A- Y% x  7 /* Switch Log Output */* W8 X$ u9 ]! v
  8 #if OUTPUT_TO_UART1
, A9 e: ?: D3 i  9     /* For UART1 Initial */+ i' I$ x, L+ R' h7 o) _
10     #include <stdlib.h>
6 x( X% l8 q( Q8 H 11     #include "hw_types.h"  . d% S' d/ P6 X0 L/ n0 N# S
12     #include "hw_syscfg0_C6748.h"/ n: U( B$ b6 N& O* T5 N- b" \5 Q
13     #include "soc_C6748.h"
  f4 l9 i; `+ Y% j* n6 K 14     #include "psc.h"               5 t- k3 c/ C% J& m: `
15     #include "gpio.h"               9 x! h" q1 |" w: x. h# Y
16     #include "uart.h"# P0 Y, w0 V3 b$ w, S& X
17     #include "uartStdio.h"9 F2 [/ G4 g& t% e
18 ; Z* v# k+ L" x+ [: Z5 x- ~
19     #define OUTPUT UARTprintf
3 L# O1 E8 A: z7 s0 { 20 #else
9 i+ M: Z7 W& h; L! ] 21     #include <stdio.h>
% |" c/ R1 y) ^0 m8 R0 h0 z# C 22     #include <stdbool.h>) `+ r( O" M1 T4 _8 \/ E+ e
23
; @# c4 v( ?- Q' P: l5 i 24     #define OUTPUT printf) y- l/ S# J% l% z% `
25 #endif& V5 l- N1 M% Q  p$ C+ c
26
- W* O1 I3 Q% u 27 /* Log init */# J4 d" a) G1 s( p% _! Z
28 #if OUTPUT_TO_UART1
, _7 b0 c  l% |0 P2 _ 29     #define LOG_INIT() do {                                     \
% O0 x7 A4 @% t5 c, ?! b% M9 d0 P 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
8 u9 z2 H7 x. y& G& _) e  U' T! G 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
0 U/ p  h! j0 { 32                          PSC_MDCTL_NEXT_ENABLE);                \- H8 x) N5 A# t9 L2 R% a
33         GPIOBank6Pin12PinMuxSetup();                            \
/ p6 S' Z- Z+ {% y# } 34         GPIOBank6Pin13PinMuxSetup();                            \7 {  |. S, P7 X' q# r) M; |* s
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
# O6 H% {& l9 h$ U4 r0 k, W 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
! d+ s# @* F. N 37         UARTStdioInit();                                        \
4 {) Q/ O* c" [/ f, B 38     } while (0)
7 f0 G; T4 o6 C6 X! U3 e& G3 ~8 D 39 #else
7 w4 w) {; D3 C6 q: e8 m& h 40     #define LOG_INIT() do { } while (0)% K3 z. m: x3 o. @8 W! @
41 #endif4 u' A5 d* n. M" N8 `8 |/ i
42 * Q& H, M/ _' _0 H+ G" Z' Q# i! c- f) ?
43 /* Log Output */
% k; Z9 n% B- L. Z: V 44 #define LOG_INFO(format, ...)      \8 y% i$ P: K3 p+ c
45     do {                           \
" C/ r- e& D3 z& t 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) M6 t( c9 }7 \7 D6 k, c
47     } while (0)! t" D) w, ^* Y
48
# n3 m6 A2 n, ~0 m! T4 i8 k) ` 49 #define LOG_ERROR(format, ...)     \
- l: l- V. K: _  z/ ]1 h! d 50     do {                           \
$ `, P7 F+ @/ k+ ^ 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ {# }% A7 K3 |' ~' b0 C 52     } while (0)
2 l- P# }' ~- y. m" b* y 53 1 I' C! ~. ?5 c
54 #define LOG_DEBUG(format, ...)     \
  A# Q& q  d: }0 h9 p4 S+ T5 l 55     do {                           \
( k, Z; n; h2 v5 M. q" a- ]2 ? 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- k; `4 |8 F1 C3 K7 p+ X
57     } while (0)
; Z- P5 |, C( q2 ^0 z 58
4 z3 s* z& Z; G 59 #define LOG_WARN(format, ...)      \
+ y# i, j& g! ?$ k9 ?8 r 60     do {                           \* }  t0 B$ v5 @' y) S
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 d2 O8 R' M, B1 B' p2 ` 62     } while (0)
; R* w4 G2 k, P& Y! ` 63 ( e% \! M3 T1 z  D
64 #define LOG_TRACE(format, ...)     \3 s+ `! w0 U" Z0 J. ~
65     do {                           \
! E. [" F: n& A2 w: [6 d  t$ o 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& W( s# C& G! n. `4 t& S2 s! ^
67     } while (0)
0 O3 h# \* {/ [* {  d# Y% K' q. s 68 " O0 U0 X9 Y. v3 [' E
69 #define LOG_FATAL(format, ...)     \
6 }" ]0 O* x( O 70     do {                           \
8 K* M* y. k& x: n9 d( W' m 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 D; r# v+ r7 v. F: |2 H2 E
72         exit(1);                   \
0 e& M2 b8 I2 C2 o 73     } while (0)" P2 X( O3 b- l6 P: [/ I
74
, D: ]: `8 l" X5 p; [- H 75 /* Assert */
. `" b3 r2 V! ` 76 #define ASSERT(EXP)                \4 P) R' o, c' i
77     do{                            \
, D% l0 N# i% `, X3 }! B0 a3 h 78         if (!(EXP)) {              \; E. ?% X8 Y  T6 ^. {
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
' I" [  u, E, A* J5 N! D 80             exit(1);               \! Q8 p1 `  u# W' `* O
81         }                          \
) g: x( \$ |5 w6 T! g0 p 82     } while(0)
' [3 N$ i/ A$ }4 D 83 ! f) Q$ n6 U; b, v$ n
84 #endif( b8 l$ d* i+ v9 y. l+ B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) V' J9 H' I& q& S
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
+ U  Q2 c+ |3 c( }/ l/ E修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

. g7 V3 c3 \9 m3 Q你好,是arm这一端的app6 F4 L, J% k/ e% M( j) G
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03( m4 c8 |% r, ?8 h4 Q3 v
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

# A$ k0 \/ ~* G& L# d1 m4 N你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
  Z, {1 S% V: ?; G' l# }3 P
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
' g$ J/ o. W0 W  f; F# Zdsp 端的 log 才使用了 uart1
7 b4 n0 n( W; V( j* v4 o2 `所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
+ J$ g, J" K: p
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- J) b9 Q! S7 Marm 端的 log 并没有用到 uart1
" l6 d* E# S! i! D, a9 ndsp 端的 log 才使用了 uart1
0 P; }* }: M: d$ o8 w9 ?所以,你需要也只需要修改的是 dsp 子工程的  ...
) h; O0 B; @7 T6 P# ?
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
1 r4 X& ]- E  M, S: t: ^/ u然后将#define OUTPUT_TO_UART1 1 换成
2 }2 y# M8 D& c% P#define OUTPUT_TO_UART1 0
% [4 A. Q% a3 H! f, O  是不是这样& {! T) r" d$ h7 V1 E, n1 F+ D

5 c5 Y# v! @5 v* O4 ], [: a3 |/ z' M& Q
5 {, ^' D" F; l/ z9 I# |6 q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

' d% j3 i8 O# T* A
回复

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 05:04 , Processed in 0.041360 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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