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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
, U) q1 Y. p0 P1 W8 o
  S) X% J3 i9 V0 R4 d1 Z
- a; P  _6 g: ^) j谢谢/ ~4 p% i( K$ P( L- m

6 }& _( w9 l: y' L, S- H% Q( e- M. u1 [4 E1 K$ J1 R* P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
* y3 W# n3 c  ]# C9 i  2 #define _LOG_H_
7 h& Q& L  w" \, d8 A  3
) u4 I/ g% T' Y- |. ?0 C% A/ y  4 /* 0: printf; 1: UART1 */
9 l. ~/ S! g2 ~/ d  5 #define OUTPUT_TO_UART1 1
% r+ |7 B& J& X3 A4 |; ^! R
  6 7 a6 a; j  [! T' b8 X
  7 /* Switch Log Output */
/ k/ j1 |9 @% X4 |- O  8 #if OUTPUT_TO_UART1
& I0 }  O4 O: M& B+ H% m  9     /* For UART1 Initial */  W/ o+ y1 F8 b
10     #include <stdlib.h>
  o3 b& f, X# C, {( n 11     #include "hw_types.h"  - [  J8 P4 F# P: G  Z7 B% Q  P
12     #include "hw_syscfg0_C6748.h"
) P6 m) r: n* g 13     #include "soc_C6748.h"
! e" y. {( y" U, M* q% P 14     #include "psc.h"               
0 T1 ?( ?( t& v, ]8 |! k- N 15     #include "gpio.h"               
8 a: v0 A$ e. m' v# z 16     #include "uart.h"% i- [  I# J8 Y+ a
17     #include "uartStdio.h"
( w) e  c2 z0 P( @8 L# F 18 3 h% v( H  W/ L) x. p; n
19     #define OUTPUT UARTprintf. g* G# {& I+ Q0 K+ w; h
20 #else7 z; a9 c( j, L8 }
21     #include <stdio.h>
2 n( x$ R' }( z/ F% f, j 22     #include <stdbool.h>
: U3 W7 ?. a. h% N' l/ _ 23
* X( u; Y7 t! K& n* Y 24     #define OUTPUT printf
. ^  Q$ E- k* H, A 25 #endif; L8 V6 H1 u4 g3 z( D; A7 @
26
2 ?0 V3 H* V, I) f" w 27 /* Log init */
4 d; ]7 T) L( G- u% C2 v 28 #if OUTPUT_TO_UART1* w. [, L6 D0 A/ ~
29     #define LOG_INIT() do {                                     \
+ n; l1 p) K; }6 v4 ]6 S0 | 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \! ~. ^" H' X7 T& A7 q9 D% n( O' l
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
5 D6 _9 J# Q$ r0 n* D 32                          PSC_MDCTL_NEXT_ENABLE);                \% Y$ P7 o$ Z% X1 O2 w* m: g0 t
33         GPIOBank6Pin12PinMuxSetup();                            \1 l+ p# P( J! b, u: W
34         GPIOBank6Pin13PinMuxSetup();                            \
" g& n& _7 l$ ?) j, n8 n6 T 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \0 p+ q" \0 \4 K( x$ W$ R: }& x8 ]
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
% f8 A: B, R) q4 X7 R# x 37         UARTStdioInit();                                        \7 W$ K8 r0 [9 a
38     } while (0)
0 H( |6 c* N, S7 Z/ k5 Y% H! N2 L 39 #else
# ^5 G- E% ^- M/ E 40     #define LOG_INIT() do { } while (0)
, |0 x, p6 W0 b# v* H 41 #endif
: e) M( e, F" G. X4 ` 42 ! u5 L6 B3 V5 E1 k: A
43 /* Log Output */
- Y6 f  w0 g; a6 G* ~& W 44 #define LOG_INFO(format, ...)      \
& X; b0 g- x" s; I+ H8 O4 z0 _ 45     do {                           \( V. [4 j/ D6 N" o4 J% U6 c
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ R0 [8 a. y8 W 47     } while (0). V: D/ Q8 \8 ]) J& d
48 # m+ t6 s8 R9 \, A
49 #define LOG_ERROR(format, ...)     \4 a7 {7 h. ^: w- C
50     do {                           \
1 @# _# Z4 ?0 _, B 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 {0 B( X2 I, j9 h
52     } while (0)
3 s9 K) \1 J9 a, T; P 53 ( X# f/ u& N* ?' H/ K2 }
54 #define LOG_DEBUG(format, ...)     \
8 h- r" w; T# w7 x 55     do {                           \
9 @+ t* U; i3 z* U: } 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ W7 C" k. s* X0 Q
57     } while (0)
9 @3 O. {' \) d+ O' G6 q! _/ q 58 1 q- U& k; Z4 j" h
59 #define LOG_WARN(format, ...)      \' d- l; |5 ?6 W
60     do {                           \
$ @$ F8 d$ q) s0 J8 p, \3 K 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 @: M9 ]' P" E( @% p( G$ P 62     } while (0)
4 d) W* X" ]1 M6 N/ p4 l. V% f 63
% V% O1 Y. Y& K5 j8 \6 [$ ? 64 #define LOG_TRACE(format, ...)     \, c+ W7 ^: G& U# s
65     do {                           \3 W6 b0 X( p) t/ T4 i* ^% ]
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 `" b$ a- Q6 i! ~6 X6 m2 z
67     } while (0)0 Q$ O/ I; J; |3 G3 c
68 ; ]- v, ?9 \' h4 o5 y# j; T% J
69 #define LOG_FATAL(format, ...)     \" c! a6 w0 A% }7 m( E" R
70     do {                           \6 R/ Z# V# x' o% K5 k3 K
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 s$ ?% F" x! a
72         exit(1);                   \
! n, _2 U+ O- w+ Q 73     } while (0)
' `- ]/ Y6 l5 u9 U9 v. w: `, ]1 | 74
0 x% l; K- y8 ~: z/ U/ F% p 75 /* Assert */
) Q$ j4 m; }6 c3 X& [. e; e; C1 t 76 #define ASSERT(EXP)                \( K3 m5 y/ F7 {7 H2 y' q
77     do{                            \1 l, `1 b- y0 O
78         if (!(EXP)) {              \/ `" k0 w8 t1 \6 K
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \4 Z' k0 S/ }' K: w; Y& u5 s
80             exit(1);               \/ }1 K& l$ d) b+ N% P4 n
81         }                          \
9 [3 u3 e; J3 N# _) q$ D4 x5 q: S 82     } while(0)! j9 H& U! d( ^; a3 [. a& a0 w8 i
83
$ Q/ U2 s" d  ~9 p! l" l 84 #endif
" {% k2 ^0 S; S: h. s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏/ E! Y! f1 D  D  Z6 U' I5 H
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
$ j2 c0 G* R) h! C  h修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 O- h' j6 q' l3 a1 o
你好,是arm这一端的app
  L6 W1 Z$ F, c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
1 v4 V8 l9 P/ y修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 s8 @" {+ U* y
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路: ]3 C8 |7 H! F* x- R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1: h7 N9 |. f* G: z$ p6 f
dsp 端的 log 才使用了 uart1
9 A( x3 v( T- ~# T5 E6 P' a所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
' Q' l' D( {7 ~& [" x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
' h1 P, B  f( Q; W8 X3 yarm 端的 log 并没有用到 uart1  h/ R% c9 A. f$ G) e3 ~
dsp 端的 log 才使用了 uart1
, C5 {" E( y0 t9 A所以,你需要也只需要修改的是 dsp 子工程的  ...
. u; a& R9 S$ o
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,$ u5 J! ~: n$ m$ L" v0 Z" t: c. I% t+ K! T
然后将#define OUTPUT_TO_UART1 1 换成
3 _/ U8 X4 ~* P" j! j* `#define OUTPUT_TO_UART1 0
% P; f7 U4 w: [/ D1 Q8 a: i5 N% A  是不是这样
& x# V/ k# p7 Q7 N: ^& k5 Q+ g# G, N3 B; W  F3 i6 [) f, v' y9 q

3 R" b5 r( L3 `. Q1 m/ z& o5 V% ~( j, f! T5 x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
) U" k, j9 i+ I
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 14:27 , Processed in 0.043789 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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