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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
( j2 q" ]( d# S4 v3 @& I7 s2 `' P! G- P
9 C) F4 u' m+ X% C) F9 f5 p, M% i
谢谢1 u8 c8 }5 ]3 i+ {/ s

7 A# T! _2 d3 O- n5 N  H) O4 q5 ~! @9 ]8 S# H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
( p+ V. |& K0 Q- g) z$ e  2 #define _LOG_H_" m, W: C. q- o1 m, E( Y
  3
/ p$ U9 I2 |& K* N" N; [) \  4 /* 0: printf; 1: UART1 */0 q9 C% @- e  D$ q
  5 #define OUTPUT_TO_UART1 1
; z2 d6 f3 l2 ?7 q
  6 + b* V3 p. n- t% T, h# i. t" N
  7 /* Switch Log Output */7 _' g: U5 M, A, h
  8 #if OUTPUT_TO_UART1
9 C) L" R# {2 n7 Z- I' Q( U" Z6 f. D  9     /* For UART1 Initial */
6 F4 p0 N7 A5 A' J5 O 10     #include <stdlib.h>
$ o3 ]: T: U3 A6 B  n! o 11     #include "hw_types.h"  
1 K7 o: ]- ~0 c# { 12     #include "hw_syscfg0_C6748.h"* p6 \8 n8 C) A/ F, X# R& Y
13     #include "soc_C6748.h"6 s. o0 \: D1 S7 ^5 U
14     #include "psc.h"               # r" v* U& ~/ E. E8 i
15     #include "gpio.h"               
) r$ E0 T& T  Z7 S) ] 16     #include "uart.h"
9 `- J& \4 n7 ^# } 17     #include "uartStdio.h"; V6 c/ V- o6 \; C5 t9 ]4 ?9 d
18
% c% ?+ A7 f& [: ?3 t6 N 19     #define OUTPUT UARTprintf
0 Q2 _! ^/ y& a+ c' K 20 #else
6 ~9 L9 M5 h8 `( Y8 }) [( D 21     #include <stdio.h>1 R% W; F  k% t% N0 G
22     #include <stdbool.h>% A5 {, H6 f) z1 C/ V$ g8 d5 o
23
; c+ R4 q- f/ P2 p5 {. a 24     #define OUTPUT printf. L& K& H4 t! k, I, l! g* o4 J
25 #endif
5 |* a$ |# d- u6 c 26 2 Z/ h& ~  x+ j* u
27 /* Log init */
; _* }3 c, f  b7 l# r+ C5 a8 T% ^ 28 #if OUTPUT_TO_UART1" z* t! U  S. \: m
29     #define LOG_INIT() do {                                     \
# R/ n! B) a$ Y$ A% ?) Z" I3 g$ v 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \; T0 u1 ^0 j  {  o' H
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
/ N& s' N$ d+ B, d* b  R$ G 32                          PSC_MDCTL_NEXT_ENABLE);                \8 \. `; \! n3 e
33         GPIOBank6Pin12PinMuxSetup();                            \# }7 B, O: O" `! ~. j9 i: J. O" m! ~
34         GPIOBank6Pin13PinMuxSetup();                            \
* M1 J2 ^# F. T4 T3 b 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \. [$ |: @5 A( h/ S" D
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 P( ~0 }9 o; L4 q# A, z% G- G
37         UARTStdioInit();                                        \) O  y- ]: B9 z$ M$ G) `
38     } while (0). p% L, l" u: t) F" t/ N% \5 Q
39 #else
. a( v/ O; |; ^0 P; z# o; n0 J 40     #define LOG_INIT() do { } while (0)
: \9 r. H* L4 g* {  T 41 #endif' W6 u4 Z6 J& q; n
42 1 ]; Q2 _: g3 r- t
43 /* Log Output */
4 d& x$ ]# L% ]' V+ _ 44 #define LOG_INFO(format, ...)      \
/ j' z0 |8 Q9 M9 y; [( A 45     do {                           \( x" q9 w  p: i0 [& U: }) Y1 o
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* t: E# |" j4 T! d! r6 P! K- L+ @  L
47     } while (0)" @( P& b& t9 H3 Y
48 9 C5 t% b( |! l! Z9 t5 G
49 #define LOG_ERROR(format, ...)     \6 K6 t" @% t% Y5 g
50     do {                           \
+ j8 Z0 ?* U9 X" b! w/ G) @3 Y$ o 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) j- q/ W& @; f
52     } while (0)
7 _) D/ v9 I) z" @- \ 53 ; `3 F5 f/ p+ X* ]. m) F- R1 x
54 #define LOG_DEBUG(format, ...)     \
) \3 R- m7 \1 K+ M- k/ [, H 55     do {                           \3 w0 C% ~( l: ?1 S8 a. w- `5 w
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ m) v' V4 e5 u, Q5 m/ N 57     } while (0)) D1 \: @1 q# F* k7 y, n6 I4 A, _
58
  ], ?0 B8 F- ~ 59 #define LOG_WARN(format, ...)      \% g% U9 N1 K4 C) [8 F# s, ]; i
60     do {                           \0 u* h5 x1 J; l: s6 ]+ Z
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, D2 z- [0 u6 i# z$ W; D2 d  J& f
62     } while (0)" _8 X6 q% ]7 {' l3 k  n
63 7 v" k1 z( Q# x0 z, n4 a- Q9 M
64 #define LOG_TRACE(format, ...)     \
1 ~0 d# r4 ]) [) f" p 65     do {                           \& s: r2 l% N) v# z. h
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- m) y/ Z$ V8 G% m1 X' i6 G
67     } while (0)8 {1 U1 r. @; e5 O5 L: l
68 . Y( y1 D+ e( s8 U5 }- k/ F, p6 L9 c
69 #define LOG_FATAL(format, ...)     \
7 W: M1 Q% \0 H2 Z 70     do {                           \: \0 }$ E* _: h$ T; v* Y# U
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( H) f' c- V5 W6 r7 w; ]0 S 72         exit(1);                   \
% \: y8 B" z* z; q# [2 \- D 73     } while (0)8 j( w! M+ \4 |' D: Z1 f$ C. K& i
74
. T9 a5 M. Z% [- `% F1 Y/ M 75 /* Assert */
* X; B5 I, m8 j" _$ H 76 #define ASSERT(EXP)                \" A1 v7 p2 t" u6 ?4 b) m  H
77     do{                            \* r' P8 L. l5 L6 N* x( G. F
78         if (!(EXP)) {              \
. Z9 f4 M0 }3 ~/ C  {$ P5 B: R, A 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
  }4 Z! B1 V9 n 80             exit(1);               \
' C7 ^+ k3 p) a# r$ W3 R 81         }                          \
: Y: h8 {' k3 t4 F% z 82     } while(0)
. l# S4 m" @6 s  ^6 h) j 83
9 h/ C# g+ K+ ]$ o; O1 I9 @ 84 #endif1 G$ L* S  P$ {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏! @6 |% f7 r+ @# h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
7 x0 p, D# E+ d7 y1 r2 l) \修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

  h$ k' d3 A6 T0 _你好,是arm这一端的app
* K% {+ w" ~% X3 c" u9 O3 {% f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
- i) k4 v  n5 M  u修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ k0 d1 `$ y2 V
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路$ w  o; E9 e& V4 }
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1) n9 g, G2 [5 M6 q2 Y* W
dsp 端的 log 才使用了 uart12 P) e4 Y! g# t0 x8 L
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)  I9 h7 |3 ?$ @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:598 ~# `* A6 A* y
arm 端的 log 并没有用到 uart1
* n, `  |8 L) W. X* k; udsp 端的 log 才使用了 uart12 ^6 Z# U# v' F6 `% J& c; _
所以,你需要也只需要修改的是 dsp 子工程的  ...
: {3 h& g7 X2 g) I5 `: C6 p' n
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
2 A# ~, O% ~. U% d0 a! |& x然后将#define OUTPUT_TO_UART1 1 换成& y* N" n6 J. Z
#define OUTPUT_TO_UART1 0
! |( b: W0 n6 S6 ~$ @, a- U% a  是不是这样
5 T. N; m9 n/ S- |' {
5 x& g; l4 O8 r: Y( ?9 m( A
9 K) R1 n! @* ]. U+ s
, d1 N4 E+ ^0 H0 x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

. p! D  B9 t8 x" C
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 09:46 , Processed in 0.041780 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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