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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢9 T/ D5 r0 a8 |' ^" O6 h" p

8 _( C& d6 v# o4 t) I4 g" d
8 U6 s: k8 |8 J' V谢谢( `! [& E+ M/ h3 \
/ I/ B7 D# x# X# F' y3 V
& o2 e" @+ I. k. d( d8 S# R" A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
0 P4 {! G3 X2 Z3 u2 N  2 #define _LOG_H_4 n( u% L2 C4 c+ E+ l
  3
# }  ^' b4 g3 b0 G( Q  y3 V7 u  4 /* 0: printf; 1: UART1 */# q: ~% x  K4 U! Y
  5 #define OUTPUT_TO_UART1 1
% O7 V7 p0 K& M% |
  6
# W2 a. d! ^& f+ A' D' U2 r0 a  7 /* Switch Log Output */" M0 E# j3 O$ ]) o4 F2 |
  8 #if OUTPUT_TO_UART1
1 x) _1 n$ @- U4 ^7 G# H" j/ ^  9     /* For UART1 Initial */
# P. r, o3 T2 e( c7 ]- i 10     #include <stdlib.h>/ s7 `& }5 D& Q) W
11     #include "hw_types.h"  
) y9 F9 G3 F$ r, N3 ]; k 12     #include "hw_syscfg0_C6748.h"3 V9 K- h( m3 w2 [! o
13     #include "soc_C6748.h"1 z# P! J/ {9 W, q2 _6 z0 Q% q
14     #include "psc.h"               5 T  {+ I! `6 @. ?: x6 l+ ~9 e7 i
15     #include "gpio.h"               
8 z, _( E" n& ]. U; u! V 16     #include "uart.h"$ P  [, r8 F5 B$ t' ^6 _1 F0 k9 m
17     #include "uartStdio.h"& q8 w  z) S4 p# f9 Y
18
2 I6 |( M6 |9 D7 h  T- n5 m# | 19     #define OUTPUT UARTprintf
" s# @' q9 r8 l# A5 q9 t; K 20 #else  c7 `: j# U) R# n/ N
21     #include <stdio.h>
4 G' R' H- ^2 k 22     #include <stdbool.h>- ?  K3 j: K8 N" v; y/ m
23 5 n7 U: b) r" i; l" B  s
24     #define OUTPUT printf6 A- g8 h! \' D# j, b# e. J
25 #endif
: I2 V& [1 ]$ j2 @8 F7 O 26 & l/ p. U8 ]  T* o7 ?/ V
27 /* Log init */
- E- j6 J$ p7 y 28 #if OUTPUT_TO_UART1; @/ w+ W! T  t2 T* k6 Q
29     #define LOG_INIT() do {                                     \
; i, y1 A8 n* E 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \. X( ^8 ~: x- Z( |/ K) G7 x! \
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \5 w! Z3 [' K+ ^; Q5 z& w
32                          PSC_MDCTL_NEXT_ENABLE);                \
. l; k- b2 J& f* ^ 33         GPIOBank6Pin12PinMuxSetup();                            \& o' _( M! h  E3 v0 `
34         GPIOBank6Pin13PinMuxSetup();                            \
) h$ I5 L* J7 f" g. D9 |  K% { 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \7 }9 W$ k5 f  {5 Y6 L" H, y% E9 D
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \& y' {+ o4 ]5 O4 W# y1 V
37         UARTStdioInit();                                        \9 w( p; P0 W% o/ x6 u8 A6 l) H- |
38     } while (0)0 q3 g7 c' H& ~5 E( h) {) O
39 #else
4 _+ G0 _9 j% _) Q. j* f 40     #define LOG_INIT() do { } while (0)
9 v) ^) c. }9 Y 41 #endif% F4 N0 h! S) Y5 E( L
42 - ~) c  L( G4 h0 c
43 /* Log Output */
7 ]/ f5 }  n" G6 A" f% I. A 44 #define LOG_INFO(format, ...)      \% y( p8 V3 w' \6 r/ v' r
45     do {                           \* E* k) e6 Z1 k7 d- n: E+ k
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 p3 J" y+ J& C/ b
47     } while (0)
  b. ~' v: ~/ z% P: T; e/ f$ E 48
1 U: U( r- a) ^ 49 #define LOG_ERROR(format, ...)     \7 F2 v" Q0 Y; _/ H& ~: y2 `/ Z7 \
50     do {                           \
' K6 C. t; g6 S# U& j" W7 T6 j8 u 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) d. F" {6 V6 j" T
52     } while (0)! L! F' w, N' b: A7 Z8 D
53 % M6 Y  N" Z6 j- \/ F9 w3 R3 b) f$ g; g
54 #define LOG_DEBUG(format, ...)     \
$ ~1 t- l! C9 R8 k0 w 55     do {                           \2 O: {3 o* b% K) Q
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# b0 F8 a4 U5 U8 e+ w- Y) K$ h 57     } while (0)
: }! x+ T; M# n* e 58 , u' l* ?8 P/ T  z1 W$ h
59 #define LOG_WARN(format, ...)      \
" t$ a$ _, M2 b4 s1 V2 k& r6 Q$ Q 60     do {                           \: P* R% D9 V; u8 u
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' I- M9 R7 T) {
62     } while (0)
6 S( o- r# ]6 ]4 B) n 63
) I% Y) g4 z! }4 ?( f" i8 K 64 #define LOG_TRACE(format, ...)     \1 Y) C, |0 c2 [/ o7 b5 N
65     do {                           \- R& J5 R5 |4 S7 L; _+ g0 P! k7 Y
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. S3 O; z9 R# F
67     } while (0); W. j4 N: r' r- n- P/ i& A
68
! V' M1 ], g$ n" h, I- p. i 69 #define LOG_FATAL(format, ...)     \' X6 B: a5 ^8 L3 d* Z. X
70     do {                           \' n" y! L" `7 z
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 q7 G( s# y! K; _, s# Q
72         exit(1);                   \
+ V. c9 L" t( Z# A5 s+ y. I- \# x 73     } while (0)
; N- ~7 [9 U. N  Y4 e. \ 74
  G2 j, Q. P5 X4 P( d9 R! K 75 /* Assert */
5 V" @0 c7 s& p' y1 e6 S; V  A 76 #define ASSERT(EXP)                \
. s0 R0 w; _- D- j 77     do{                            \6 S. A: b% L8 F2 `& Z; ?7 l
78         if (!(EXP)) {              \
) e5 p2 o0 S$ ~ 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \  e- k) I, D4 I: h4 v6 [
80             exit(1);               \
- U; m8 V1 k5 u) i 81         }                          \+ C! V4 n# B1 {! {6 z3 F
82     } while(0)
" z9 V* _( h! j4 u* U 83 / s- ?# e$ l$ }6 C$ N. u
84 #endif
/ c8 G' a9 D9 n/ E1 o/ c3 H' {6 I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 [- P% |2 O6 P: w/ Q) l0 {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:032 L( Z* G' `( C. T) r
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

/ f# b2 e% V3 a3 _( u" K你好,是arm这一端的app5 _+ u/ B1 C; C
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
! n+ ?8 ~1 U* u修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& P4 {/ b3 G2 a+ B8 p  A
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路  ?- q1 w$ P7 O, |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
  v- f: u' s+ ?$ ?* V8 ^% hdsp 端的 log 才使用了 uart1
* a- e- ]4 [& Z8 ]- U, G所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
' K4 ^+ J- E( H) H" g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:593 N2 A0 u' ~$ l% |: R+ l
arm 端的 log 并没有用到 uart1
* S) K3 q7 m5 a0 R; Zdsp 端的 log 才使用了 uart1
' Y. |! \* R+ A, r, O" `; g所以,你需要也只需要修改的是 dsp 子工程的  ...

) T; Z' @2 S5 ]* U: v9 m那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
- B) m& k) m* E& q  f6 m然后将#define OUTPUT_TO_UART1 1 换成5 Q; T( w: o! Y" `# ?
#define OUTPUT_TO_UART1 0
# T# p# Z* {) t3 Z* }  是不是这样. t# Y2 }) F- y7 F% Z0 Y1 C, K9 O
. d% D+ @5 D4 K6 L  Y& S/ V
1 ]( k3 G8 k0 r1 ^0 Q

, }& i. v: O5 h6 D7 ~- C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

4 ~& }8 E$ O& T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 02:51 , Processed in 0.043319 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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