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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
% {3 u( V5 ~+ R, `9 i9 ~5 Z: l4 O' R( g& z, q
6 _2 |3 w+ T% l' m/ Q! d
谢谢6 j& {& f" I3 p- ^- Q) s
; @+ r0 M; u# F5 y
& a* @1 ]( W1 K! X- `6 o- y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_0 a# o( y8 [: ]9 `* Z" m1 a3 u
  2 #define _LOG_H_" e6 s% O. {2 h. w
  3 : [2 g4 r. g1 I, ]: N* p( s5 R
  4 /* 0: printf; 1: UART1 */
6 V5 S3 v8 A( H0 n, I! O  5 #define OUTPUT_TO_UART1 1
+ Y! }2 ?! ^( D. {" u
  6
0 h6 a  H5 _# z* b0 a+ n1 \( [  7 /* Switch Log Output */0 q7 Q  V7 X, W+ J  w' a, D
  8 #if OUTPUT_TO_UART16 p4 D' }* `4 `3 c- [9 W/ _
  9     /* For UART1 Initial */
- C0 u4 C( W( s4 A! W( Z 10     #include <stdlib.h>
/ N; [/ j# r; \0 U6 W- @4 w& E 11     #include "hw_types.h"  - Z* x0 ~1 k+ z5 t1 T  U
12     #include "hw_syscfg0_C6748.h"- Q  P/ ^2 g4 G0 J
13     #include "soc_C6748.h"
( a% x; r  Y5 \( ~' C 14     #include "psc.h"               . M: R5 V: k; F# f
15     #include "gpio.h"               + ]7 S* ]+ Q* y6 Z' S+ ^
16     #include "uart.h"
; Q* g0 w8 [, p6 H/ p2 S 17     #include "uartStdio.h"- Q9 a) T& |% S! ^  @
18 0 ~4 g' W3 A% j0 {1 P3 C) B- W; p
19     #define OUTPUT UARTprintf9 K. Q8 L! [& ~5 @$ O7 Z% O
20 #else8 `0 j+ R: S# |9 A- P6 P/ e# s
21     #include <stdio.h>4 e1 ^" ?/ o# c1 f
22     #include <stdbool.h>
  V$ a. n% i' P4 h2 i 23
. @0 x* d* {% i0 l  P 24     #define OUTPUT printf5 ^1 L! |" G# j7 `) {( `8 X9 C9 k; N
25 #endif, B! `! w' c+ m# J
26
0 t3 g' _3 r1 f) ^' \ 27 /* Log init */! b3 @( }' x$ ^& Y* O$ U( F( x/ ?+ w
28 #if OUTPUT_TO_UART1( L% f) Q7 Y5 t& c
29     #define LOG_INIT() do {                                     \& V' w5 c# s& I5 o2 u# C0 g
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \# i4 z! d" s  g# ?! N
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \2 Z: ~  Q& L: H
32                          PSC_MDCTL_NEXT_ENABLE);                \
' Y* F2 O0 O5 i7 X2 x# |1 |8 {$ l 33         GPIOBank6Pin12PinMuxSetup();                            \
; j2 _* L1 [" e6 q8 l( P" s 34         GPIOBank6Pin13PinMuxSetup();                            \) r6 H9 E1 R0 v; m+ c7 x
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \" Y0 G/ d, {: W4 z) i
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \+ y0 Z% _8 Q1 w" b- ^
37         UARTStdioInit();                                        \
9 j8 l; B2 M0 X) s8 j1 u5 @" u 38     } while (0)
; D8 u8 `4 X6 ]. v" P8 F7 l6 I8 ^7 W 39 #else
) `2 S* ~- F" O3 T 40     #define LOG_INIT() do { } while (0)7 i% ~* X: f. ^3 n
41 #endif: E( v' I" K+ ^" ~8 x% x
42
9 j# d. _8 x8 z7 o, E5 h: H 43 /* Log Output */
0 V3 d" D" r2 `. y( V/ V 44 #define LOG_INFO(format, ...)      \
8 [) G% l' C2 ?8 l) y 45     do {                           \
8 X! C& b& L& h" \. q 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 r: E4 L- ^% y* r3 B# N$ |* B
47     } while (0)
% B; ~: w4 `" z! p/ Z' p$ q: Q 48 9 V1 \1 V) p: P, |& m2 c
49 #define LOG_ERROR(format, ...)     \0 r1 i# h# Z0 E% I4 s& r0 a' Z' e) E9 g
50     do {                           \3 i. U  ^6 @$ x& p1 F, Q+ X" G
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 I, I6 b" G* O; Z) b 52     } while (0)  {8 s, |1 |5 }% c9 k8 V/ m$ n+ U( h/ H
53 7 E: [% ~( u' V2 Z
54 #define LOG_DEBUG(format, ...)     \, C/ j, O. b& W
55     do {                           \
5 k: h4 [3 J$ j& v$ }2 j+ W 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ Z2 O( x  P3 M9 G+ x 57     } while (0)
- K0 i* n8 v: O3 B$ j+ B! t 58
/ V! q( `) I/ M2 [1 V/ }% C$ ?3 ~4 h 59 #define LOG_WARN(format, ...)      \
0 m" Q6 ^* x; @7 V. l0 a1 | 60     do {                           \* L# z$ T/ F! d7 g9 U- Z
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' W" c8 h* V+ L% x
62     } while (0)9 w7 O# ]' }; C/ s: h
63 ! ]6 v6 C* Z' q" u% @9 n& \
64 #define LOG_TRACE(format, ...)     \
& Y7 ~) S- s2 }( S2 @/ v: @ 65     do {                           \
& ]; s* [) j: t( A% j1 i 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) Z) F3 a& Z7 Q2 c' v" v
67     } while (0)7 m- K; x) s. v; O, j  }3 n! {* Z
68
0 ?* f2 v: H8 `! D) f 69 #define LOG_FATAL(format, ...)     \
1 q+ _3 i! m) J$ k 70     do {                           \
+ M0 V9 D% I9 y# T# l5 s! J9 ~ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) ]2 f( R! ?. n7 i
72         exit(1);                   \( R* ^. o' T1 U; T+ w: v
73     } while (0)  Y4 M' O" \8 s6 X
74
9 I. k" G) U5 t" \6 R 75 /* Assert */
+ O  Q9 o/ v' T" f: p 76 #define ASSERT(EXP)                \+ w0 q2 F7 ?" z3 T$ T4 i1 z
77     do{                            \" Z. Y2 i' I% i& z! r7 E$ H, N
78         if (!(EXP)) {              \5 X. L2 f( f" @" @+ _& d% k
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \4 ~/ \- t0 x8 v+ }7 C/ ^: C" D0 A
80             exit(1);               \
  }9 X7 F) N# T* d7 T 81         }                          \
, D) z/ f& n0 e 82     } while(0)  d3 z- \, I5 }) \5 J* O
83 4 p' y, d& o% t) L" g$ J
84 #endif
$ K  j3 `5 ^2 |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ B+ |5 A: O6 @" B( f% P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03" [6 z6 f" c+ `
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
/ _3 }; @/ w' g0 F5 e& i) a
你好,是arm这一端的app3 F& j+ t4 |& f! C4 s
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03" v/ E) R) m% E5 i' [+ m- s
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 |0 w% ^  g9 d$ o
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
% W7 v, G4 C7 n* ]- Q' V/ g
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
6 d; [! q7 p- S! kdsp 端的 log 才使用了 uart1; f# c+ `# ]( C5 R- }! }
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)" u+ q1 B% w5 N1 A- }* W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
2 V3 C& q- C. L; U1 M' barm 端的 log 并没有用到 uart1
6 K2 ~4 D* v8 `dsp 端的 log 才使用了 uart1
! D; V+ d* H7 g9 D5 @" v1 D所以,你需要也只需要修改的是 dsp 子工程的  ...

, I1 F- z( Y4 q& b7 l1 I那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
# ?9 |  a9 n' L然后将#define OUTPUT_TO_UART1 1 换成. N, z! q  P5 j" L! G1 ?# B
#define OUTPUT_TO_UART1 0
3 R: K) B! Q4 q, ]& f4 e* T) V  是不是这样; I- Y" T4 G/ t) F- @; _; b1 R
- s5 L8 {- N9 _$ E

0 d/ K/ l7 u, c  _4 w! O- E  u0 E8 q* ?# `. |$ o* x" O
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
8 t& _1 ]0 O( Y( n, j$ Y  o8 |
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-30 10:45 , Processed in 0.041193 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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