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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
* C4 F. y# ~) ^3 A2 D
7 L$ s+ s, P7 b( W. d! k: q7 S5 l  @8 ~. ~2 l
谢谢$ h8 d$ [! K3 h, W7 D) t3 z

, ]% H' R. l" |- ^  W  d& b7 ?( h; ?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_# M  `) c. J0 I$ a1 ~
  2 #define _LOG_H_3 {5 A- S' B. S7 ]. v
  3 3 y! P8 `- T' W/ ^; u. q8 x
  4 /* 0: printf; 1: UART1 */9 x# i6 Z' \1 R6 P
  5 #define OUTPUT_TO_UART1 12 ~, C8 _0 h# k# \  h, y; p
  6
: w( j0 X0 q+ [- {) c; f4 S9 N  7 /* Switch Log Output */
: C' Z% |7 F5 H) U, q  8 #if OUTPUT_TO_UART1
2 ~8 j+ L$ M6 n" R1 l- W  ~. E  9     /* For UART1 Initial */! I/ l  e8 W9 i
10     #include <stdlib.h>
9 s- y5 [+ @) h) Z4 F5 g  c* H 11     #include "hw_types.h"  
' i+ @+ m& _! P  @ 12     #include "hw_syscfg0_C6748.h") B: X9 U. Z. S3 Y, L& U6 |
13     #include "soc_C6748.h"
  B: V! h  {: U2 s% ~: i' Q' K 14     #include "psc.h"               
* w; g8 e& C1 X5 m/ O 15     #include "gpio.h"               . s" f' K& x& h2 |# _  Q
16     #include "uart.h"* t' J6 Z+ _6 p7 e, {: a6 Y
17     #include "uartStdio.h". [. F) ~4 ^6 m5 R9 K6 K) N8 e
18
: s1 e. e0 _0 p/ j 19     #define OUTPUT UARTprintf5 W. k) |# l8 Z6 X! X
20 #else
6 a: y2 L% a1 W5 m2 W3 m 21     #include <stdio.h>
0 q4 w. q2 l( o% k$ R7 M, [ 22     #include <stdbool.h>
( X# ?* X( X0 U+ h9 s7 b- Q 23
# A6 @" F2 k4 s7 _1 ]( w2 m: K& x 24     #define OUTPUT printf& l( @3 U; o$ A- [: O! S( j
25 #endif8 I) c6 u1 J. I+ k8 f0 H7 _
26
/ h5 C: @3 L( E! f3 W 27 /* Log init */) T* }' \$ C+ W4 F" i2 i+ t# t
28 #if OUTPUT_TO_UART17 o* c- G- T& B
29     #define LOG_INIT() do {                                     \3 c, @( q6 }, S2 H% S/ Y  [
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \. A( n7 I  C" _/ K9 {) M
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \- I+ n3 B. `7 d; d  `9 }/ A1 T
32                          PSC_MDCTL_NEXT_ENABLE);                \+ d. C: u/ ?3 w' s/ L6 q# s
33         GPIOBank6Pin12PinMuxSetup();                            \
. `4 G7 n3 b; K2 Y 34         GPIOBank6Pin13PinMuxSetup();                            \& b9 ]5 v1 d& l% d/ N
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \& h& e% ~  A: W8 ?  e
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
4 ~$ D# w1 E: Z 37         UARTStdioInit();                                        \. Q3 @2 \, m% }5 d# E
38     } while (0)
, C& P$ }4 H! A: G. a, H$ S' O/ z! ^0 F* | 39 #else5 E4 a3 L9 }  u% z8 v# V
40     #define LOG_INIT() do { } while (0)
5 f' h* r6 n/ O2 x 41 #endif
9 ~' l% U/ c  g: g0 h8 u. X 42 ; K" N5 B. G6 w+ e3 _
43 /* Log Output */
- s3 ]% [" V/ D$ b5 y. s( [ 44 #define LOG_INFO(format, ...)      \
1 k& k* s6 C, c5 A' k7 u9 O 45     do {                           \
$ Z0 f' \$ T; Z8 L& n* u+ v 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* p' [: W& n+ E+ R 47     } while (0): l+ G' l$ x. c+ a
48 & O4 m( Q/ o; P$ U, p
49 #define LOG_ERROR(format, ...)     \1 [7 \9 P* B- F
50     do {                           \
' l9 A- c$ R6 @0 V 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 |  e- c3 m4 o0 l' q) r* ?& O 52     } while (0)9 y/ @9 X) W- }& D: E: Z! ?! m: c
53
+ A7 ~0 H0 e" ^; C  u5 T 54 #define LOG_DEBUG(format, ...)     \7 X- m' |6 i# S2 ^! c( m
55     do {                           \
( C( t: B# \& g* T+ T" R 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 n4 Z4 X* o/ i2 ^( ?- l  {& n
57     } while (0)
: c) i7 O7 y  M( B4 \ 58
/ t! ^! B0 Q, M' x 59 #define LOG_WARN(format, ...)      \. ]& y3 w! h6 @9 w. M- Z  B. O
60     do {                           \
8 W; U' J$ l+ }. t 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 T! L! w- Z2 f  }- V' q& u+ d
62     } while (0)
+ s* r6 C/ [1 X/ s3 k6 u0 Z 63
, x1 [$ q+ Y7 J$ h9 d 64 #define LOG_TRACE(format, ...)     \5 i% l5 u8 }- x* B% B- ?# q- s
65     do {                           \
: `3 i/ S, p* ^* t( d( z  A% L 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 g  j" w4 u  }$ X- ?9 G  p
67     } while (0)/ T+ o/ L  P0 I$ V3 J; E" d* T5 E  p
68 / U' |' B7 L! u4 \
69 #define LOG_FATAL(format, ...)     \
! E+ }' f0 M3 X3 S; t# @ 70     do {                           \
( A* V/ a9 K8 |7 ~ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# r% D) q: J* b3 y. }8 ]$ G 72         exit(1);                   \
3 i( N& w3 B- C1 ~, a 73     } while (0)
2 C/ y  _3 P6 [7 m 74 ! K& p$ h( J+ R% R) t8 W/ }
75 /* Assert */6 G* U$ f3 Q9 J: a5 Q/ ^
76 #define ASSERT(EXP)                \$ m# t3 {! r' F
77     do{                            \
9 u6 f7 H6 p' f3 J7 @4 Y 78         if (!(EXP)) {              \  A- {$ [  y7 h9 O8 j- B
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \" q* M, K6 D7 K1 [/ q
80             exit(1);               \- ?$ G, {; w3 n
81         }                          \
0 \# u& p0 P0 |- t" Y5 @/ ^ 82     } while(0)
3 ^& f9 z- {) e, ?* A5 l& [9 [ 83
( a- L, V- n* U0 Z 84 #endif
; @# m4 d* e6 o" f& [0 D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 `% I7 `8 A5 A, r& ]: u
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
. O, ?5 z( _5 P) C# V, U3 Y修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' E! e. C9 g+ n* v( b9 \你好,是arm这一端的app/ W4 k, v: M  J, _; @: A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:039 m$ Q* t* Z; o# B6 x
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( J. E5 B6 ?7 d) }
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路% u) n4 i% ], z* k" [2 Q! v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1  Y! t, n! X: F. r# m
dsp 端的 log 才使用了 uart1
% O* Y( z& |/ ]所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)8 b( H5 G/ H9 S. I% _$ x4 x8 ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59& p7 c! z; u" [* r* R; }
arm 端的 log 并没有用到 uart1# f% U6 m+ b" R" y- g3 h$ b
dsp 端的 log 才使用了 uart1
7 G4 O0 H2 ^9 D; k/ v9 L+ z; A所以,你需要也只需要修改的是 dsp 子工程的  ...

7 N& d/ [: P+ J$ ?; G那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,5 a' Z, v7 `% R* s' N. t
然后将#define OUTPUT_TO_UART1 1 换成' E" v& R9 e  x! L+ |
#define OUTPUT_TO_UART1 0. E$ E' h& C2 X3 B
  是不是这样
1 m, a& s3 Z! U' A) Q" Z. |5 d( P; X" p0 j% i; N

' ?# u: R  Z  @* I) f: r
' `+ {9 }/ Z. [
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

0 H9 {1 y$ f; H1 g/ v
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 14:56 , Processed in 0.043658 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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