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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
$ W; b% _) }3 r8 c; O$ Y% u' \( d7 ^6 l: b6 H% J9 I

# U/ d/ _5 K/ g4 B6 y( n  i7 A  ^谢谢
! S8 ]4 O! ^' }: ]/ r
! L# h* X6 j9 v  j
2 {3 n4 I4 k% `- s; C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
7 W& A' T: N% D/ U) p  2 #define _LOG_H_$ {8 ~4 X! b4 t; E" u3 E
  3
# [8 H0 K4 k- n5 c! b* P* Z  4 /* 0: printf; 1: UART1 *// L" u* R4 i) z# k0 P' K& T! x
  5 #define OUTPUT_TO_UART1 1+ O+ A+ q3 J7 L7 `: U" Q% X# ?
  6 ; ~4 V( l7 V$ j& x- O
  7 /* Switch Log Output */
; ~1 y, [7 P0 V) |  ]  8 #if OUTPUT_TO_UART1' H& F5 Z& V1 T) E2 ]
  9     /* For UART1 Initial */6 N: z5 r# ]" V- e7 i1 T. a
10     #include <stdlib.h>
) n- S( W% A1 A! X% W 11     #include "hw_types.h"  
! z4 Y. G5 `# K 12     #include "hw_syscfg0_C6748.h"
4 u0 v6 l! T8 q 13     #include "soc_C6748.h"* \0 Q) T$ I* `/ H1 k) \
14     #include "psc.h"               9 Q! P3 g+ f7 a' ?2 x* `& y
15     #include "gpio.h"               
8 Q5 G5 ^: j3 C  G! D6 d 16     #include "uart.h"
+ j  D1 S2 i) i# T! Y$ @' q 17     #include "uartStdio.h"1 J( v. E5 @+ j" G5 e% W3 }
18 9 `7 t: S- l( B& W  }/ T. x# {
19     #define OUTPUT UARTprintf1 ~: v3 z- x# R3 ~- T
20 #else
/ X; ?9 U$ m! ^* T. \6 o 21     #include <stdio.h>" W& T6 B' }2 q4 R* l, u% z
22     #include <stdbool.h>
$ C5 J; P, |0 f$ R8 J. b 23
* L$ G1 S" ]0 l8 b5 O 24     #define OUTPUT printf
1 a2 R; Q' Y$ f5 } 25 #endif- P* C7 t6 j! R
26
) b( H, k: }) p4 Z% e1 j 27 /* Log init */& V, u/ Z" T& F! C3 \3 R
28 #if OUTPUT_TO_UART17 Y. O. Y9 R+ S
29     #define LOG_INIT() do {                                     \
8 `) C$ W( H. Y- l6 q& x& \8 s 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
9 [- Z3 S/ P! A 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \  d7 m8 Q5 g6 T1 s' ^; U! u% i
32                          PSC_MDCTL_NEXT_ENABLE);                \! f$ ~, `# s$ D9 B
33         GPIOBank6Pin12PinMuxSetup();                            \
6 y1 H; U  C2 F9 f$ K8 G 34         GPIOBank6Pin13PinMuxSetup();                            \
$ r& C2 Z, X: s$ {5 v8 v 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \( @( ^3 c) N% \( _) S
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
3 {  w6 H# B! |6 a+ O" t: u: f/ v7 T 37         UARTStdioInit();                                        \
) a- Z4 D: O& Y3 z7 C 38     } while (0)& ^( k0 ?6 K6 {
39 #else
2 N2 g8 ^: f2 I: T  z# ] 40     #define LOG_INIT() do { } while (0)3 a! ^, E0 ]. A, a
41 #endif
; w) _4 H( N) l( m( ~ 42 " I7 ]% ], a7 O1 d! [! }5 U
43 /* Log Output */
& [* |/ a* [- p2 }0 H" z. Y, r 44 #define LOG_INFO(format, ...)      \# h; U) J3 K  e7 z
45     do {                           \# ~; z/ G: p) \' W
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& G. R) u" B0 a  E2 a) D! X* n8 x! W$ R 47     } while (0)3 ^4 R' Y# d' o- O
48 4 r4 W1 D) i6 D' a/ v
49 #define LOG_ERROR(format, ...)     \* n- L3 w2 R9 c" W7 t
50     do {                           \
. }: [. ^5 j- j- p 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 X! M7 O+ `; v% ?! M8 { 52     } while (0)
9 d5 H9 l  Y8 w$ F5 Y5 M& c 53 % S1 Q9 a% w! t( l: B, C3 e
54 #define LOG_DEBUG(format, ...)     \& J' d# g4 x; S8 E+ Z
55     do {                           \
* Q: W+ ?; q. E9 {) r! l( F 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ ]- e; b4 s4 M: |4 h& n 57     } while (0)" r7 t+ j/ ?& ]. s! U1 d2 t
58 ( u7 x; q; h' {3 v0 D5 F
59 #define LOG_WARN(format, ...)      \* C3 P: `0 w0 G- u. M
60     do {                           \
" T, t2 R, v* a' L  h2 E- x 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% @2 v5 R1 n. T* O- f# o0 Y2 G 62     } while (0)
* J: b9 S/ N, D( E* T 63 + E* H& g# f$ q8 _3 P8 X- d
64 #define LOG_TRACE(format, ...)     \, t) o( T& L0 C' O* |2 v4 _, X
65     do {                           \( l3 c" H& p/ Z9 c6 G5 j
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 d6 t9 f9 Z/ Q
67     } while (0)) O2 J" L/ Z* D8 w, e9 |) G
68
- ?% m+ a; X- o& _ 69 #define LOG_FATAL(format, ...)     \2 g; V+ P; ^+ B- E( T) Z
70     do {                           \
  w: B0 i% l4 x: j/ R 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# v7 G% e& J$ a' @% M. z# S 72         exit(1);                   \. `2 G, u% e2 c! r% `* X
73     } while (0)2 o! v$ c$ _. s, f7 H2 A
74 6 y; e; `8 E3 s( O6 Z/ I
75 /* Assert */
3 x( _) |( f8 L 76 #define ASSERT(EXP)                \  i& n8 s: `+ U- y! D
77     do{                            \
- J. B0 H( J9 M% R* i5 { 78         if (!(EXP)) {              \
6 |8 M! U: C9 I: E; v1 z& G1 ^ 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
6 Y4 q/ x. E" ^7 m 80             exit(1);               \
7 z8 f& _2 \; Q/ q: r0 {8 Z! c 81         }                          \
3 x5 W, Z3 d$ E4 Y8 X 82     } while(0)
" h% p- b. V# ]+ u; X 83 & g# [: D3 b8 U7 Q& j6 P
84 #endif
, o4 k  Z2 R& l3 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏2 r4 L& x3 B2 h) H5 Q$ V
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 @, F# ]. J  d- m. T修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

9 v" D. y6 @5 M2 n你好,是arm这一端的app2 `  w6 o# _  D2 ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03! l9 n$ j5 A" H6 ]0 B. \$ Q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 V3 w9 S$ Y8 E4 q. L$ F
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路- d" {" y7 d" R* S* Z2 M+ ~! }  G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1( [  h8 C  X% ?- i1 T7 _7 J9 R
dsp 端的 log 才使用了 uart10 A  [0 P5 P  ]$ ]1 ?/ I
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)/ X, s5 o6 p0 B$ s7 q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59, k0 I! ?- C) n$ h" K$ c) W
arm 端的 log 并没有用到 uart1
- y- C6 P$ x, x  p! `dsp 端的 log 才使用了 uart18 M" \4 M5 O$ l- ?# h" M3 |, [
所以,你需要也只需要修改的是 dsp 子工程的  ...

/ r" A+ k; ]1 x那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,' u" S+ J! k8 N, l" H8 U- i& q
然后将#define OUTPUT_TO_UART1 1 换成
) n- G3 r4 o0 w- ]  {( O#define OUTPUT_TO_UART1 0
' C. g2 U  @% M! S  是不是这样* f1 C- a6 W! Z" H

) I1 B+ C+ L6 ~  ?! v" p- N7 m
/ d7 B$ E6 t) E+ C: k
' x% [8 {% q; W7 x5 ?0 p4 ?
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

' o) m) ]( i4 i. {4 g$ p- H* D
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 14:30 , Processed in 0.042526 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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