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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢$ y! @- q0 _/ B! b- ?% @
; W" m' S& x- M  d

; F6 t0 y  w5 ~" [( w, T" Q+ f谢谢
, V" r& L/ |7 a. _7 [% a  s! D; L) o
! ]" Y+ P4 V' {- w: x& v* S  ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
9 u% z# x- j2 c7 u  2 #define _LOG_H_6 z  H9 E' I5 t' |& l( e3 r  y, T
  3
! E( d4 L2 N3 w; G5 ~  4 /* 0: printf; 1: UART1 */
9 m8 ]$ `1 K; G4 ~0 l: \: c  5 #define OUTPUT_TO_UART1 1
* l7 f" O. t2 g* c7 V$ X3 U! d5 L
  6 - V/ e- B, x: e& g8 X1 O/ |) G' y
  7 /* Switch Log Output */; u! k( l! V6 m; q* W& m
  8 #if OUTPUT_TO_UART1' m& M  O' r% C8 ~( `
  9     /* For UART1 Initial */
( x) E7 R$ V& c 10     #include <stdlib.h>
# X6 m' p" y" d- w1 V 11     #include "hw_types.h"  # b2 ~. u- \$ c5 ~% c6 h: T$ U
12     #include "hw_syscfg0_C6748.h") m0 s+ A  s; n
13     #include "soc_C6748.h"9 k' o6 n1 Z" U. \! R5 w! \
14     #include "psc.h"               ' G1 S: Z9 {5 N
15     #include "gpio.h"               
6 p. D2 a: h+ @# t* ^ 16     #include "uart.h"
. B7 H3 c8 h* `3 d! e% a 17     #include "uartStdio.h"
) Y* N7 d9 C+ V" S 18 . ~# p7 \" ^; P3 m( T1 D
19     #define OUTPUT UARTprintf
1 C: x# B* F' n% e4 Y1 c! d0 k+ l% ` 20 #else. t6 w5 q' q8 y8 `
21     #include <stdio.h>$ C" t( Q2 Y8 d5 |
22     #include <stdbool.h>: b' y$ X* m/ F/ k/ Q
23
1 u; C" Q3 @5 q8 ?' u: ^! ~ 24     #define OUTPUT printf; V8 X( n% @: l, h- t& l$ N
25 #endif
' ^9 x* g: j  S  g 26 8 W! X" ]  Z  ^, u9 N6 s4 p
27 /* Log init */: I5 z7 H+ E4 L2 x
28 #if OUTPUT_TO_UART1, v, S  y7 R! c* \* ^
29     #define LOG_INIT() do {                                     \
+ H' S6 M. ?! l% ]0 l 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \9 J& ^- b7 I. l1 {
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \2 y/ s% v6 |9 z* `0 l7 V
32                          PSC_MDCTL_NEXT_ENABLE);                \
4 z- E) e: d; u2 H1 g 33         GPIOBank6Pin12PinMuxSetup();                            \# N# l, K' ?1 Q
34         GPIOBank6Pin13PinMuxSetup();                            \
: U, {, v% {/ I( k! M; E5 P 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
6 A# ^6 J. f3 [1 e 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
$ f# K' B/ B( g  n9 I. T; d" a 37         UARTStdioInit();                                        \0 O; B( C% x+ Z0 J. w
38     } while (0)6 I% }  Z, P) ?: V7 I
39 #else
, |) F$ |) n% R- o- ^) u5 F 40     #define LOG_INIT() do { } while (0)
- c. v& m2 Q: N7 B  H5 K7 R 41 #endif# t  k" [: k2 v: ~% {" @" c' d: ~
42 / O3 I, H; B  O* \. F1 Q
43 /* Log Output */, R+ o  w- j3 X+ h" M, O9 {
44 #define LOG_INFO(format, ...)      \9 ^' E0 R" Q. o! r: A- S
45     do {                           \
$ i6 l- `' |; Q* e! W 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' {' u( J; H1 W, }/ l- Y 47     } while (0)6 l, {1 B. V1 }
48
+ E4 C. i$ z7 D/ s: S% w 49 #define LOG_ERROR(format, ...)     \
6 {  F1 M. K5 C2 c 50     do {                           \; j6 k, G. F( @5 v' `# @
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! }' T+ y; j3 M) p; S4 ^
52     } while (0)0 {# ^! V  x8 s9 X% Y" ]
53
+ P' \  ^$ J/ a! i" B/ t$ O 54 #define LOG_DEBUG(format, ...)     \$ ^9 k) o" r6 Y
55     do {                           \
/ k! M; N6 K3 I( z3 }, ] 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! Y% t& p- Y( Q" V
57     } while (0)
7 C) G* ]) I) | 58
( y# Y4 @( J! ?) t 59 #define LOG_WARN(format, ...)      \  x) Z5 M! @9 U" i9 n' v  |0 O
60     do {                           \& `& d' k/ `9 }
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" f* S" g0 q" Q
62     } while (0)8 A/ T6 l# S: B; d' i* q
63
8 U# r7 \  M3 L; X 64 #define LOG_TRACE(format, ...)     \$ t6 V/ C/ l" _# g) ]" v
65     do {                           \- |# k( i# o" ?8 J. |8 z
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) H: }0 `' I- z1 f+ O. P 67     } while (0)" ~0 @5 d& b4 u1 @& o5 X) ]
68
' J5 n8 q, d. M- J( @! ] 69 #define LOG_FATAL(format, ...)     \  Q" N! q" ?5 `. F7 [$ r8 a1 T
70     do {                           \
, n4 p5 ^4 R# @: @ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 Q0 k  r) P8 Q1 ` 72         exit(1);                   \
3 x5 q8 D4 P4 t0 X4 I 73     } while (0)
4 A4 ^& Q  C9 ?4 @, m 74 $ ]# `9 X" J- ?- A9 D
75 /* Assert */
1 V9 m  p# V  O 76 #define ASSERT(EXP)                \
0 _. U/ X5 J; n# }, O. z& h4 J3 S2 T 77     do{                            \* f& [4 @' B: o& g2 m9 O
78         if (!(EXP)) {              \3 A# ]! `8 W' a' }' u( M9 L
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \9 s: t4 N2 h* R* d/ @0 T7 I, _  Q+ }
80             exit(1);               \$ m- l, M' S, ^4 g; ?0 D4 [
81         }                          \
6 G5 x* S5 o7 K& g8 J 82     } while(0), G/ U& g9 j! c8 g$ _" O. ^7 \
83 0 t! E5 w8 E' k  N) W, B3 C' u4 y
84 #endif
) u+ X6 r. K1 d2 Q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) L0 O- G* k  \; W/ t# }  Q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03. b* Y4 M2 @! }( }9 p) I- V& O6 l4 a
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' T' N* L$ P, M. w6 N你好,是arm这一端的app! L4 G3 x0 W, x! J5 b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:030 a: `5 R; h% \" @+ V6 n; B( x
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

4 E1 m: N0 l  ~* C/ {; n7 \6 b7 y你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
! E" A5 c5 e. K- y8 j; h5 w
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart17 ^# y# ^* b9 A6 M2 \
dsp 端的 log 才使用了 uart1# R4 Y: e* q4 U$ a  }/ v  z
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)2 f8 u; q0 i, Y: }$ M7 |5 y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
4 @3 y$ L6 }& P4 karm 端的 log 并没有用到 uart18 k* }8 v, [3 d) G; p+ c
dsp 端的 log 才使用了 uart1
7 @4 U8 {* V# \' w6 N7 _所以,你需要也只需要修改的是 dsp 子工程的  ...
( n7 B' c7 a9 p9 u; |1 N$ V
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
# Y0 j* g4 b, _然后将#define OUTPUT_TO_UART1 1 换成
4 @. V6 I, l1 x/ E% ^9 `' R#define OUTPUT_TO_UART1 0
& L! @4 v1 B" v$ N2 p6 H" \  是不是这样
5 _- V- }8 B  e( J! p" ?! d2 h& K8 p5 F4 h" y0 P  I8 V! ]

8 S1 H2 \  k) _& ~- j; u6 F
+ I' i5 ?5 x6 {  U+ m
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

0 [8 G! F4 L& l  T
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 18:21 , Processed in 0.040945 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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