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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
4 U7 R2 |9 I' ~- P# |/ |/ }* k
. ]2 M: U) I0 E2 l- `8 |9 Z0 ]
3 B0 [/ z3 {5 E9 G# i( ]1 Z谢谢
3 F6 p9 T& r1 Z# t7 E9 I& s' ~) G* D" P5 j7 ?# n/ z

" r6 X( x" O4 c' A( e4 H2 X6 @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
: j7 M% j' ~6 a% x) l; W& F& ]  2 #define _LOG_H_
* m3 l$ Q9 \- v- h' |& L2 s+ e* E  3
" `% O$ b+ m7 Y) Q) U  4 /* 0: printf; 1: UART1 */
' h( a* i- }1 m; \  5 #define OUTPUT_TO_UART1 1
4 a& _: e; u& `( X
  6 5 Q- [$ A- j( [7 N9 H! [  N7 T
  7 /* Switch Log Output */
& _! q+ L  b& `# G  8 #if OUTPUT_TO_UART19 {, C& s5 v3 d
  9     /* For UART1 Initial */& n7 w6 V' x" P5 e* h
10     #include <stdlib.h>& m, j! f  R/ C2 c% o# d
11     #include "hw_types.h"  % o! G  A' F/ H6 Y, y
12     #include "hw_syscfg0_C6748.h"7 t. Z' r4 k# Z
13     #include "soc_C6748.h"
& U6 x7 [2 W2 d4 @% f- x+ H5 u 14     #include "psc.h"               " k/ o) ^5 {2 F7 {
15     #include "gpio.h"               3 Q! Y# k& T' X
16     #include "uart.h"
2 A" d& m9 s$ m- s 17     #include "uartStdio.h"
( n8 A* J5 q6 r% v9 ] 18 & f) q! z' I7 s3 C1 U+ J
19     #define OUTPUT UARTprintf
. `2 x: L, u+ F3 [. O! P; C0 X 20 #else+ {5 p: d' w" C6 [/ D4 K1 F
21     #include <stdio.h>
2 [2 N( n$ E) _( n: S/ D6 R 22     #include <stdbool.h>
) H% }4 r( D9 b( R 23 & b: l- |& K% ^
24     #define OUTPUT printf/ L; d% X4 y/ Q( N+ S6 B
25 #endif
3 V# d0 c9 l, \5 I6 ? 26
" i+ r) v$ L7 u% l. C 27 /* Log init */
) h1 K. K( _1 |" P; s5 Y 28 #if OUTPUT_TO_UART1
; f& W& P/ ?! \: V 29     #define LOG_INIT() do {                                     \
2 B% w! e( ]( ]1 z+ l0 n" w8 L* n 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
( I1 o! n9 \8 V: Q' _+ N0 e 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \/ V5 ]4 S7 V- M& h
32                          PSC_MDCTL_NEXT_ENABLE);                \
6 V6 G. [2 B1 U2 y. M& C2 T) Y2 ?4 t 33         GPIOBank6Pin12PinMuxSetup();                            \
+ h- [1 w3 w# D9 s  S+ F 34         GPIOBank6Pin13PinMuxSetup();                            \) u4 p/ X% U& J+ Q6 k. a: }1 K
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \' V5 O) Y4 S" O' g5 o
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \! M4 `9 V  D" }# q' F
37         UARTStdioInit();                                        \
3 c) I) Q3 O2 B; e& w+ P- p0 U 38     } while (0)
6 T) R  S( s6 G7 j, e9 b% [0 j 39 #else
9 v: e# N1 i4 C$ w& _ 40     #define LOG_INIT() do { } while (0)
8 X% ]$ K3 H! z1 P 41 #endif! p2 s" T" Q: M4 t- J
42
8 _( h* z( u& E 43 /* Log Output */
& u; R+ ^" @& T: a2 N/ V 44 #define LOG_INFO(format, ...)      \9 i; `$ t+ H& `6 Y" p. S1 Q4 u
45     do {                           \6 W# D- g4 R- \/ P. n
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' d. i7 f  K5 U* w4 @
47     } while (0): J+ i! }  B2 J) x( s% ^
48
( r2 \$ K' M- _, t+ {2 e* |" f 49 #define LOG_ERROR(format, ...)     \
& g4 q/ i3 S, a4 b6 X( m2 O1 |( g, \ 50     do {                           \$ p2 J3 C+ I+ M! K* o# H
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 j+ f( T) y( a( }3 K* d  U
52     } while (0)
  w* L' }4 }- U+ Z 53
2 _+ E& H$ H, |7 L# i9 y) T 54 #define LOG_DEBUG(format, ...)     \& k; ?! y3 `& ?" H
55     do {                           \
0 |7 m5 {# a4 I! B5 [6 o# V* T 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ s/ K$ E4 L: d) s 57     } while (0)
0 w+ F6 u; b+ H/ r& O! J8 a 58 # R, \7 Q7 k' O
59 #define LOG_WARN(format, ...)      \8 P$ x; s9 G/ ]0 L3 Z9 c$ j
60     do {                           \
, c. n+ h3 {3 y0 l: \) G 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% R( o( l9 `, J. V
62     } while (0)
  N4 D0 l, [1 B' O 63 ( j8 q; {- [5 m5 Q/ r4 ], N# y; g
64 #define LOG_TRACE(format, ...)     \8 p6 c% o& J. S3 Q1 B4 s
65     do {                           \
8 T3 x- W0 ]+ n7 R2 D 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 V2 p2 a* \. Y( K( z$ {: Y
67     } while (0)
! x2 j8 D/ N' v& s 68
$ q4 v+ o$ {$ V/ c3 ]$ [- @ 69 #define LOG_FATAL(format, ...)     \( `" ~7 @8 V. y2 f* ~0 ?& R
70     do {                           \5 h6 ?& S% }4 g! f' m6 |9 G
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! r1 e9 F6 A5 L2 ^8 {. k 72         exit(1);                   \
5 r& }+ E" o! I8 N% h 73     } while (0)
, f1 |3 ]( n7 Z- n 74
# E+ ~5 a6 W  R& O9 q  ] 75 /* Assert */: Q5 c$ T  T( g7 D. I/ l
76 #define ASSERT(EXP)                \( D6 _3 C4 X" G, {; t
77     do{                            \$ o/ d' T7 l0 O! U! d
78         if (!(EXP)) {              \; H4 ^5 V2 c5 \* C, I
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
# r" o3 F# T8 G9 h% V1 Q" Y) e1 t; B  i 80             exit(1);               \
1 ~+ o' f% E; B! h8 [* h" Y  s 81         }                          \  U) k8 A: l4 Y6 T' j# t
82     } while(0)
$ ^2 K4 G9 m# V  q5 Q 83
/ q1 A0 M/ d) L: i7 H 84 #endif
3 ]$ H) x/ q8 r9 a& l) {& I. j  _' N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
  P  ~1 o" L9 f4 r. [( K0 f- W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:038 S, N6 U( U9 H, U% b
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 Q% W  E+ y7 P( h0 h你好,是arm这一端的app
) Y1 s# Y6 v+ X3 [" I3 `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
. o; b; P' S& e  Y& P修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 \1 i" U/ u& }4 F) F你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
4 T$ _( U7 K8 q/ z' l% z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
' `/ K  X8 ~( ?" Q4 v: b* Adsp 端的 log 才使用了 uart10 D8 B$ n$ W9 P: i; r
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
2 b6 B6 f5 v/ h
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
0 u1 \- G0 p7 \: M7 W7 M5 X6 |arm 端的 log 并没有用到 uart1
: g) C) S! S# E" \. x8 Q9 Mdsp 端的 log 才使用了 uart1
5 H2 P8 K: }  q所以,你需要也只需要修改的是 dsp 子工程的  ...

. r2 Q  y6 E+ @: Z1 q) W) b5 f那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧," ?5 e' V8 C; d& ^6 l3 Y
然后将#define OUTPUT_TO_UART1 1 换成6 `) y; P: z& t/ e* v$ [
#define OUTPUT_TO_UART1 03 i) N2 Y5 x4 c$ o% c- v$ |
  是不是这样! R4 ~, _: J1 l9 L3 R" Z( Y$ J
$ P- |2 [3 W& `' w

( r0 Z( e2 i& J+ k: B( ~' y
2 J: I( V% O+ n9 t
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
% I, Q4 K" I6 }7 Z. y  s) F6 A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-23 05:48 , Processed in 0.039904 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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