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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
5 c/ v8 G# G% t4 w& l4 G
3 ?$ w4 t6 d& x" J! w
& y2 O5 M% T% i) C9 i! n/ R3 i. P谢谢
2 D) S. J! k: q0 g/ C9 C' O1 q
3 E6 ?* r' x* U+ A$ ^5 A8 k% @" I3 m- R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_4 j. x$ a9 c5 D, F. q- V
  2 #define _LOG_H_( j/ e5 Q; {# D
  3 + P2 x9 P9 p5 e2 G$ ^9 U1 r1 q
  4 /* 0: printf; 1: UART1 */
( a" X5 v* O: e* f  5 #define OUTPUT_TO_UART1 1# ]: t0 m0 R, F% ]+ T( _& ]' B
  6 1 T# D" X  v3 v/ i* ~6 \. w* \+ M
  7 /* Switch Log Output */
' \. S/ C' t4 c4 e+ T6 t' e+ M  8 #if OUTPUT_TO_UART1, H8 d/ f- J+ ~6 C* s
  9     /* For UART1 Initial */
! |$ q- A+ N& ^' v4 y 10     #include <stdlib.h>- ~2 m) S7 p/ [$ b2 O
11     #include "hw_types.h"  1 N6 k0 e* [, x- T
12     #include "hw_syscfg0_C6748.h"
7 Q' ?9 C' Z! e, X& O' a 13     #include "soc_C6748.h") r1 B5 s+ Q. ]! ?, H2 l; K& p( s5 L
14     #include "psc.h"               
6 }/ M" [6 |7 i3 x& m  z% G- X. A 15     #include "gpio.h"               
  ~. c- t' o% S8 ]+ i/ `( [% F- t 16     #include "uart.h"% c2 ~$ f1 W! G: O4 f+ O
17     #include "uartStdio.h"
! H! s9 K# l+ L7 J% n) P  R 18
3 Y2 r) V! @. r 19     #define OUTPUT UARTprintf3 }& ?) J' F" @* y2 q
20 #else' Q# n' i- I" O1 ^
21     #include <stdio.h>' |  D9 Z+ I4 N4 ~% j
22     #include <stdbool.h>4 o1 A5 }, K" D) N
23 ( p; Z1 i' A6 ], `
24     #define OUTPUT printf
* S3 q2 B: n4 C9 h" K0 v& t 25 #endif# H1 R. B7 I$ B  ?' N
26 ' L8 ]1 G8 y1 @9 Z! c
27 /* Log init */
! V8 H, k2 e9 t5 _' J1 R* K1 e 28 #if OUTPUT_TO_UART1
1 @8 e$ M5 M9 E 29     #define LOG_INIT() do {                                     \
2 G( m9 E9 s+ i! P; M 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
+ F, j. }2 J$ E/ R* c7 T, c 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \. {8 G# p* E3 b; `: z
32                          PSC_MDCTL_NEXT_ENABLE);                \
% Y. P3 Q5 o2 ^6 [ 33         GPIOBank6Pin12PinMuxSetup();                            \
( {' w; f7 i6 f' F# b 34         GPIOBank6Pin13PinMuxSetup();                            \# F& Z( Z! ^8 ?7 A0 J
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \4 e/ Z2 e4 [3 G2 z: p; ?6 _
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
) z$ @" m0 B  n) @$ }6 i5 y6 Y 37         UARTStdioInit();                                        \9 @: m/ D; W. o0 b/ K
38     } while (0)
$ c6 F  q6 G/ V- G6 N% Y 39 #else7 q8 c, q. t7 I/ F! S
40     #define LOG_INIT() do { } while (0)9 J: C# x+ ]* X$ T# c- A1 B
41 #endif. G& Z6 }  h$ w7 k- f9 X. U
42
! c" z2 c8 \* q- l5 @3 ^9 A 43 /* Log Output */
+ h) k' T+ D" w' I, U1 A% ^ 44 #define LOG_INFO(format, ...)      \/ L- ?0 w# g" I' S/ {" v
45     do {                           \3 j( P, b, Q; ~8 `7 P
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 h4 ]$ s" X: w, X/ u
47     } while (0)
9 ^% p5 t$ @+ z' J# X 48
. E" {8 e& b  y! }$ M* T/ K8 C' y 49 #define LOG_ERROR(format, ...)     \/ w* w3 q3 I7 `+ W! l
50     do {                           \
' v; F, f3 P: U4 v9 Q' V3 P 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, J4 M. W5 x* n. b4 L: _- I! x
52     } while (0)
! N7 Y; P" K0 s 53
/ S& [4 n+ C/ H 54 #define LOG_DEBUG(format, ...)     \
2 u  Y8 W1 h: W& k6 n3 R- K9 p 55     do {                           \! @% T0 h, k: j( L
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ W1 O& O) {8 v
57     } while (0)
( W9 E' O1 \6 j+ `4 w 58
- X( `' U6 N9 u. r, [ 59 #define LOG_WARN(format, ...)      \- y# k' C! C' O9 M8 O
60     do {                           \3 L5 a" K& @& Z! o! q) G! {* \
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 H+ |2 ?& b$ Z! U' n+ k8 p
62     } while (0)
2 m8 y' V  E  e* k. J+ Q. F 63 1 C1 K2 ~9 l& @+ S
64 #define LOG_TRACE(format, ...)     \. v: c. Z) J: B& m- w; ?* [: L& H  r
65     do {                           \# c1 A. C% A+ C4 N% j5 S9 V
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" Z5 P" c% r) r% o2 C
67     } while (0)
7 b+ h) b+ |: K2 p 68
: _2 [2 `' F3 n" r 69 #define LOG_FATAL(format, ...)     \
% g: Z9 x% Z' o$ Q6 n 70     do {                           \* M, u1 w& y7 w2 D1 b+ M
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' `' n% i9 C8 K. {1 k4 q; l
72         exit(1);                   \% J% [" `- F  {7 E- v) ]; N
73     } while (0)
/ \& F4 b* h6 S% E- d; o) c 74
- }  g% D2 a6 p* L/ v+ l- ? 75 /* Assert */* W3 m1 I$ v8 I) v$ y& R
76 #define ASSERT(EXP)                \* t6 `3 b; X+ Z
77     do{                            \
* L& ~7 \% }7 o 78         if (!(EXP)) {              \
; O% e! U" K1 g9 ] 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
, q; @- {& e+ o  w- M( z" t 80             exit(1);               \
. r) U; [3 y9 ]4 \& C' o6 f3 ` 81         }                          \
3 \- k% x  n. l 82     } while(0)
! J: X/ Q* L: e7 C# t 83
4 b4 g4 k. w; J 84 #endif
9 Y3 Z; N" }3 q7 c" ]  [
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) ~. d4 [9 R$ K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03" E1 b$ a& v4 L3 ^9 G5 `2 q! J) L
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ f' }$ y7 S3 |3 ^& \你好,是arm这一端的app
; L, j, }' q/ z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03- R8 X( f4 r/ u. n
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& b3 T$ o5 s! {# W: B  s. R
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
! E8 b1 C4 h4 k7 W: N$ D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart12 n, E+ w' B9 S# ?5 O8 \
dsp 端的 log 才使用了 uart1
2 H" }! N* y/ G- ~7 T所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
- }4 S$ A  r$ }4 p) Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:594 S& M; J$ e" z/ N9 q& P
arm 端的 log 并没有用到 uart1
8 b3 U# \- U5 \2 Rdsp 端的 log 才使用了 uart1
8 T3 p4 }- j9 W3 ~& }( q. _+ f+ c所以,你需要也只需要修改的是 dsp 子工程的  ...
/ x0 B  r: z! ^% a/ k
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,' p4 O. W7 N5 ~6 p, h! I0 D
然后将#define OUTPUT_TO_UART1 1 换成
  ]6 N$ G' D" Y: ~2 g4 h8 Q#define OUTPUT_TO_UART1 0
0 F( P) \' k: L4 C0 V  是不是这样; j% X) q7 a) _, G% J# K7 I

5 v1 _- {# o: d, b  \
+ o, T+ r$ Q, a8 c. N7 ?) O: e1 [7 F/ H
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

/ }1 ^2 X7 O$ o" H6 G/ b: s
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-8 11:56 , Processed in 0.047391 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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