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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢) Q- M8 i- I! I6 P1 N
' s* }; E% A7 x& C

, `; e# I, R* O  d( K& B谢谢, a& u4 S8 x0 j  ?+ Y* a7 |# L

2 y: k6 @, h$ ?8 p0 F
' S4 z  f8 `* G( h( g, F! a% H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
6 @3 y9 |+ L# Z" n% S: E4 ]9 o  2 #define _LOG_H_" B7 n' M. f# \# B/ e7 u+ R
  3
  o+ v  E- {8 r  k  4 /* 0: printf; 1: UART1 */
) F% z7 K$ z. S. n+ v: Q6 Z- X+ h  5 #define OUTPUT_TO_UART1 1: u3 u, A- ?8 U8 V8 q3 I
  6 3 v( B' Q" U+ X; `
  7 /* Switch Log Output */
) L, G  a. u! Y& W  8 #if OUTPUT_TO_UART1
4 E: }5 I% ]' [8 Q& ]$ b* G  9     /* For UART1 Initial */
4 b# l% T! S; {; r- W 10     #include <stdlib.h>
3 l7 {+ M1 q5 @: Q 11     #include "hw_types.h"  6 h( P, K, T$ v/ I7 [# g& V; R
12     #include "hw_syscfg0_C6748.h"
! q( l( [3 y% a! x+ d1 Z9 z0 @( b1 G 13     #include "soc_C6748.h"
* P+ D+ b! x  \5 h$ j 14     #include "psc.h"               
7 W  L# v0 f$ Y# i  J2 P- i2 H 15     #include "gpio.h"               
/ I3 O6 r- c# G% _- t 16     #include "uart.h"" ]4 `4 o( O4 }( r9 D
17     #include "uartStdio.h"
  [* |( p7 W( V( G 18 & ^6 |1 \5 a" q# s# m: S2 `/ i
19     #define OUTPUT UARTprintf3 J1 V! T( R3 J
20 #else
- R0 I5 Z' Z) i8 L 21     #include <stdio.h>
# S( l8 ^' n7 a! F 22     #include <stdbool.h>
5 W9 V  B2 K( e' R 23 + z8 n- T8 A8 D  u# h! S
24     #define OUTPUT printf
* _; o  N) {$ A" N% d 25 #endif
  {6 a* o4 A, s: _' N: D 26 $ Z# d' [% h" m1 G
27 /* Log init */
9 l3 n3 \7 @! O" K 28 #if OUTPUT_TO_UART1
: |9 V3 u  p0 v7 F# B 29     #define LOG_INIT() do {                                     \) R, y$ v% x, P1 i  ^& I6 }
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \+ a/ [; h) \4 N6 p1 q# }( r) S5 u# z+ ]
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \- ]% E0 q# L) B( ^9 R; l
32                          PSC_MDCTL_NEXT_ENABLE);                \! b$ b: ?! l0 E  o& ]; c
33         GPIOBank6Pin12PinMuxSetup();                            \8 _  G3 c8 p" U
34         GPIOBank6Pin13PinMuxSetup();                            \4 O5 h2 h8 u3 @8 p) ?
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
5 F2 p4 |1 y" t$ T# M" B8 L 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
, i' i0 j! Y5 A% f: X; S) T 37         UARTStdioInit();                                        \
$ E4 j6 `! w8 H5 d0 t 38     } while (0)
1 E+ z. V. [8 z- A5 l 39 #else
" V% T2 r1 X4 o/ J! C 40     #define LOG_INIT() do { } while (0); B8 I+ W( z! B$ p
41 #endif+ O! x+ @  H4 A; V% c+ q0 a7 T
42 - P6 f4 \  P* o9 [* m; V! K
43 /* Log Output */( l- l6 ^) A; E6 ^
44 #define LOG_INFO(format, ...)      \
5 B/ B( F5 `: k& u+ Q1 T' h2 O% C 45     do {                           \
- A% f- L, B+ E# h6 ~9 X& i 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; r" m3 ^7 ^9 E, P% B3 Y  T
47     } while (0)
( N1 p. b! I: `$ J5 q: H 48
- N. o) S; V& c8 c2 H2 {, M: t8 v 49 #define LOG_ERROR(format, ...)     \' R' k" w. h. M; d0 Q4 A5 R5 _* x
50     do {                           \# f: t5 ?5 N7 S' b5 G  A+ s6 i/ B
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 R  ]- V7 Z9 u2 E% ? 52     } while (0)9 g$ t0 ^( r7 |% x! A* L
53
- q2 G- f( I8 Q 54 #define LOG_DEBUG(format, ...)     \8 D0 }# }7 X" D- C+ I
55     do {                           \. J$ N$ E" z7 P5 G4 J
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- M' t# s8 C& x; E/ H
57     } while (0)6 x( D) [3 z2 _, Q
58 + S0 m( b* Q8 g7 T5 g
59 #define LOG_WARN(format, ...)      \
* ^& V# L' k) O) b; b$ X5 C. B 60     do {                           \% r$ P  P: K. j: h$ y  y: M
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- Q) N% k( _0 q; X, k+ e 62     } while (0)/ R& v/ d$ c$ x8 y
63 ! H8 p" X8 @% @& C
64 #define LOG_TRACE(format, ...)     \) W& E& P6 k) r: p3 Q
65     do {                           \$ {3 b9 c+ j* E
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  m( ~( x( M5 b4 I$ ~6 a$ p( q
67     } while (0)
* R4 _$ A% Q+ m 68
. `4 }# F( ?' { 69 #define LOG_FATAL(format, ...)     \0 I; Z. K2 H+ X4 \$ g, X
70     do {                           \9 K6 ^& l. N2 y3 S) ?8 B
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ h/ Y- j! X- V8 N* l( ]! C' v5 M/ z; U
72         exit(1);                   \
8 d/ e& U0 H& C  l 73     } while (0). ~9 p$ n( a5 l3 k: X) C
74 % R% q  w" I+ V
75 /* Assert */
4 _# }: ~& B0 X 76 #define ASSERT(EXP)                \; o1 ~2 @6 o5 Y. a6 R4 B- w6 b% b
77     do{                            \
6 f/ o$ L* m) Z) v, F9 A, } 78         if (!(EXP)) {              \
' Y; ?/ Q9 j& f- ]5 k' | 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
# _5 L0 I5 V+ Y" R3 q" O/ T 80             exit(1);               \( k# f0 D. s. f0 M7 R
81         }                          \" e; E! @  f) n
82     } while(0)5 D& _5 a  n0 H9 O0 K' U
83
" T$ V  F3 u- X/ s" l8 i/ R+ {( J# P' o 84 #endif6 X  U6 }( h7 V  r3 q; B4 C' }
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; T0 K5 g3 D' p) z& Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03- ?; E: v' I* C7 K
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

6 d4 S. l1 ~" z2 x, s8 K* m$ g你好,是arm这一端的app
6 _$ r! B# V+ S  u7 D6 P7 s- J8 Y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
" L- i; l& i2 T2 }% u' B9 W+ K* ~修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ H6 f+ z1 U; n2 m
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路8 K' I5 i4 d5 S0 C0 F" x) k& P; ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
( @- D# `8 I# E/ S5 edsp 端的 log 才使用了 uart1
) B) d# \/ R& K& o$ J所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
# Z2 t: H7 {/ b3 I2 V8 K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59" \+ t8 ^" o! D0 t- ?
arm 端的 log 并没有用到 uart12 ~  M/ ^# U9 e: q/ f
dsp 端的 log 才使用了 uart1
1 _9 t6 p- z- T5 A$ U所以,你需要也只需要修改的是 dsp 子工程的  ...
2 u0 L) B) ?" I. l2 Y: }+ ^4 z
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
$ x" y/ h! v! f$ h& V* f/ R然后将#define OUTPUT_TO_UART1 1 换成) ?; q/ Z$ P7 H# e- G5 H& L
#define OUTPUT_TO_UART1 0$ }% ~' c0 v% x1 u, u0 V
  是不是这样& g9 n1 `; U  \5 a3 U0 q
. ]8 q8 \9 k5 k/ E+ V
% i% d2 L9 o% t) N

: V- ?. S# c: f' p# `
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ O3 `/ C9 J# k( i/ A3 c) o
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 23:10 , Processed in 0.041648 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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