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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢1 ]0 z/ \/ h0 E2 [4 U% t

$ b7 B* m; R5 G% O$ T  E1 q8 z! d
( {' a$ h/ b6 \7 D! _谢谢
0 A1 a; R  `& N. y9 \- |# ?8 K: R2 r) C. s' M: u+ A, R, z* Z
% M) s. ]' i, v: k# {) |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
7 C. s4 T, Q! }: z+ R6 M  2 #define _LOG_H_0 B- e- n9 Z8 A6 a4 Y! L: `
  3 ! x! u0 g6 I2 b( w! U; X9 `
  4 /* 0: printf; 1: UART1 */
" m1 e5 T6 h1 p# ^2 F  5 #define OUTPUT_TO_UART1 1
/ x( S- _. P" }: m4 ^6 t% u4 G
  6
4 [* A6 l% ~- ]7 ^  7 /* Switch Log Output */
+ T$ u0 O7 @# H- w/ k5 m  8 #if OUTPUT_TO_UART1" {4 [. U: i% \% x7 ~1 Z  ~/ v. M
  9     /* For UART1 Initial */) Y- H% Q; N; }; p
10     #include <stdlib.h>; z6 n) `. H' m/ H
11     #include "hw_types.h"  
3 }  B5 D2 ~' ^2 z( M 12     #include "hw_syscfg0_C6748.h"+ d0 Q7 c; X% c& D; z0 k0 z% q8 o2 L
13     #include "soc_C6748.h"
6 S  y$ _+ h- m) B  H. T4 O 14     #include "psc.h"               
- P2 l# a# J' i" \/ C' I 15     #include "gpio.h"               
) @6 S4 v& ~2 b 16     #include "uart.h"
0 k1 w; S: }6 ]. ]0 p! J# w 17     #include "uartStdio.h"
7 k1 N9 B, H$ P+ A 18 ! B, `: O- z5 _9 X
19     #define OUTPUT UARTprintf
- x$ j8 I, K. m 20 #else% n% l3 Q5 y. ~) p+ \" K( s3 C
21     #include <stdio.h>
; j8 K7 t/ v7 L" e1 n8 c" k5 e 22     #include <stdbool.h>
1 h5 T; t; z3 o4 \$ w7 ~! X5 ] 23 ; X" L- n1 K( M: E0 F5 Q! i, R
24     #define OUTPUT printf. G/ l; W/ ?. \6 A
25 #endif
5 c2 c7 f8 ~  w# D 26 ( k" M5 H  I* H
27 /* Log init */
+ ]% j" {# Z. J& f/ C 28 #if OUTPUT_TO_UART1
# Q% I0 M" ?5 F( Z 29     #define LOG_INIT() do {                                     \
$ |# H2 B! P7 l0 y' V' ^% l7 G" n 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \, k7 L6 j8 e) f4 Y# e2 g
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! e0 ?6 d4 i9 A4 ?. z4 ?/ s% s
32                          PSC_MDCTL_NEXT_ENABLE);                \
9 `+ h9 m6 o$ E2 o+ W7 o% H 33         GPIOBank6Pin12PinMuxSetup();                            \: i% |. Z0 ?7 H! Z7 y1 q
34         GPIOBank6Pin13PinMuxSetup();                            \  f+ @" D. w* P4 ^' g
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \8 ~! d9 _/ A4 J
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \* {2 I& @9 b, V; b  a
37         UARTStdioInit();                                        \
) _% ~) d& |; k# |* x" ]% y 38     } while (0)+ d% l/ [5 ]% [! H+ Q
39 #else; B. w8 y$ _/ ~8 @& G. p# a& @
40     #define LOG_INIT() do { } while (0)
; D+ n& o7 v' \! ~( F 41 #endif- g' W7 N. q" T2 b/ |: A
42
" i/ y, D. N8 O" ]2 x5 m7 o' C# }5 G) Z 43 /* Log Output */
2 r: Y0 a( b# c" L- N 44 #define LOG_INFO(format, ...)      \; y+ a) U; v# }- b; g& n4 ]
45     do {                           \0 W  c( I5 O* g/ p' C5 w
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% d( \0 g4 N8 k4 T
47     } while (0)% ?5 N- }; z) c% y3 U
48
  e5 m* `* U6 a5 f 49 #define LOG_ERROR(format, ...)     \, q  J% \+ c  W, |% q2 d% P
50     do {                           \
' `, D2 c6 r) x, C, g$ K 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( R0 E% Q. x& k7 F 52     } while (0)) g6 y+ c6 d- Z, ?" W
53 $ `# }$ p) v( R6 v; I5 ~5 D
54 #define LOG_DEBUG(format, ...)     \
" }" n& T5 B5 e) |! [: j 55     do {                           \0 l; T! b! g. z# F% S
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ s2 t; e1 v2 W; w) O4 @ 57     } while (0)
$ T0 q# w$ R" G  y' f+ w: m" _ 58 : D9 Q2 J8 z6 E* ]% t' [
59 #define LOG_WARN(format, ...)      \( C( p# I6 y  C" B% Q' X; [. l0 Q4 N
60     do {                           \6 z- o( O5 P" K8 R
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ H, b$ S8 }* ]! f
62     } while (0)
/ X/ c; {; o3 Y: D1 i 63 0 q/ _3 y3 x! `# |4 E9 V/ A6 N% h9 q
64 #define LOG_TRACE(format, ...)     \5 x6 @+ [6 p9 `3 z+ v' y; r+ D
65     do {                           \
3 a: n. J9 p( t+ T3 _7 I  ^- a 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' E( k7 g- ~6 R" h
67     } while (0)
* ]1 D! I/ O' |4 ? 68
2 [1 |: J& T' Z3 }0 _& u6 s3 J 69 #define LOG_FATAL(format, ...)     \
# U1 ~2 [: ~8 h" f/ _ 70     do {                           \
' H' ]: t+ g- r1 f9 N, Y  m  ~2 } 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ L3 f5 j, j3 Y+ ]0 x- i7 Y
72         exit(1);                   \
# E2 d7 h2 E  s0 y" G7 p" C 73     } while (0)# Y& i" ~+ q) c  ?( Z: H1 F- \/ _
74
( _3 b0 w  Q2 u) S( H 75 /* Assert */3 {3 |$ Y$ z& ^
76 #define ASSERT(EXP)                \/ T: l+ ~! v9 {5 v% O! t
77     do{                            \9 T' M" F0 u; h8 W) N
78         if (!(EXP)) {              \
( p3 ^# T: B9 M/ A% Z8 a 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \1 _+ _" Z3 A! ?- U9 _6 o& W
80             exit(1);               \6 p  y# e/ V) h
81         }                          \- c" J: ^0 s/ y+ o% f% Y* q
82     } while(0)9 F0 W1 p8 ~) T* w- m$ v8 o
83
# T! V( a; w( Q" \  I# w) g 84 #endif
% E* V. S. g* `6 _/ Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏: r) B" [7 B2 ^0 q3 K5 o" @/ w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:033 j) @, [+ I( M. D* q1 o- g
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
" K8 }# f) v9 z" V
你好,是arm这一端的app
3 {3 U2 ]% ], f* k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
$ x8 C* s! g$ w1 ]( ]- I+ @. g修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

# k: L9 s* q* d$ Y) C你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路8 I. J4 ^, n  y# K. m+ S) Z, Y" r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart10 v) ?, _7 y& b6 u, b
dsp 端的 log 才使用了 uart1; B. G* B' d. p3 w+ y
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h): o1 q* |1 w7 O+ e8 R
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
& |- z' x; w9 G% E$ ]) M7 garm 端的 log 并没有用到 uart1+ `  [/ f  Z! Y* t, e5 ?' }
dsp 端的 log 才使用了 uart1' P$ e/ M' E* x1 `+ J# p- g, G
所以,你需要也只需要修改的是 dsp 子工程的  ...
/ `7 ?  }2 j; P0 _  _
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,( `, b' q( u, I9 O7 g5 j/ U7 ]! b
然后将#define OUTPUT_TO_UART1 1 换成
9 `: [5 t: J: P, X5 ?/ t  Y/ K- F#define OUTPUT_TO_UART1 0
: h9 b6 f+ U. |( v" p) t  是不是这样
" g2 A' [4 ~# w- H: g2 }: q3 k' ^
0 q' O, D, I5 r, P" }0 G

, f, X9 ?0 I. z2 O  t
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
# G9 `8 Q2 s$ J& r- _7 \. |( G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-30 18:53 , Processed in 0.041863 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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