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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢' Y  ~2 q( c$ g

! _$ X/ ^3 _2 Y' e/ A3 `
! \5 C( t2 {4 m) p: z/ A0 Q谢谢  I& o' c4 p; w4 L/ v1 ~
8 ?$ ?% v4 G( \

1 H! K, f; p9 c/ C6 Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
  e' F2 N& W: L. u  2 #define _LOG_H_# P; c- J  \- T; @. d
  3 ! R9 |! Q" o4 f* p$ a* m1 i
  4 /* 0: printf; 1: UART1 */
. f2 Z+ o+ ~: n+ X5 Q* q  5 #define OUTPUT_TO_UART1 1
" x8 ^7 O6 d  I1 r
  6
5 h% R' P+ d" j  v: x1 \  7 /* Switch Log Output */3 `. {* B& M5 G9 h  ~9 t' y# G" Q6 q
  8 #if OUTPUT_TO_UART1
: [& n1 F1 S( ^' u. m  9     /* For UART1 Initial */
' _+ e: u/ e8 U* S8 i 10     #include <stdlib.h>
: ~: r$ k# Z: n1 c: f. E 11     #include "hw_types.h"  
$ B. Y3 S1 Y9 N$ I# x: e6 E. X% i2 t 12     #include "hw_syscfg0_C6748.h"3 f- m* v9 Z, E- c3 }9 P& `' k
13     #include "soc_C6748.h"8 z* s5 i' Z* e1 a, Q2 @
14     #include "psc.h"               / Y3 B% F* N" Q- R
15     #include "gpio.h"               
1 r8 r, P; T& B  v 16     #include "uart.h"; n6 ^* K' [2 e
17     #include "uartStdio.h"
+ m9 Q4 |- H2 ?4 {: ^7 P% B- L* E3 I 18 ) F8 U/ w3 N! l7 Q2 P
19     #define OUTPUT UARTprintf
5 D# I3 u0 h$ ?3 t5 H$ t, x 20 #else* E1 ^! |, b1 i; M3 D: R
21     #include <stdio.h>
% `, M* N6 W# n$ m9 v8 B 22     #include <stdbool.h>
; b/ }: k# v+ l! b/ o8 v 23 , D, c$ C6 }/ c9 H- k, s
24     #define OUTPUT printf
# k  ~/ s2 F. h$ t" t& n' }, o 25 #endif
% I8 D3 O5 c2 H* J& I; i2 X% m8 ^ 26 / l5 F/ T: x* L" l( |+ X
27 /* Log init */
& D  p' _. ^, F  J" a 28 #if OUTPUT_TO_UART1
2 u6 R4 K! {/ M 29     #define LOG_INIT() do {                                     \& P  l0 I/ z5 E) n4 x3 j
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \3 Z8 N9 K6 d8 H  t% I
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \& ?( q+ \& a7 ]; Y) Y, A$ j+ t/ j
32                          PSC_MDCTL_NEXT_ENABLE);                \
, Q' m% [+ ^. X2 Q  c( ~ 33         GPIOBank6Pin12PinMuxSetup();                            \
9 H- J* ?- k2 l. i! D+ d0 O 34         GPIOBank6Pin13PinMuxSetup();                            \
5 d$ s$ k- _" g) C. E# g1 r 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \: C9 S! d" S' R8 m8 C+ {
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \9 K  Q8 v  T; @: R: v, ?
37         UARTStdioInit();                                        \( L$ @: i+ @4 g* @6 ^
38     } while (0)
1 Q% {8 T& b% M0 t( V" g6 T 39 #else
+ S* W6 Q4 t% o+ w/ F* q 40     #define LOG_INIT() do { } while (0)
1 V) p2 ^$ t& W3 O/ W' B 41 #endif
3 V& G8 S- S* v$ J1 C7 y 42
0 J( C1 m- h; p. a8 J( R5 u. Z3 M 43 /* Log Output */1 x$ m, m) _- y3 V* y0 B
44 #define LOG_INFO(format, ...)      \' a" n0 r1 b' f4 c! r' t! H
45     do {                           \
. N3 Q- Z- y8 z% [. \( g1 T 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. W1 v1 R# W6 ? 47     } while (0)
2 d: v! X  f9 I' [& \; \) W 48
  I# ~' s' X$ i; x; {' m 49 #define LOG_ERROR(format, ...)     \% L0 p4 V9 r+ {" f
50     do {                           \% ~3 F/ U  K2 o. p# u, L- [
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 Q: p% A! _* F9 [ 52     } while (0)
' w, j: `5 X  a+ p; G" n' s 53 & H$ l) N- V4 N
54 #define LOG_DEBUG(format, ...)     \) o) Z% U' I. v
55     do {                           \
9 ]+ z& I( l+ H  z! ?& } 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% o$ {& ^1 _0 H3 I# V$ |. N( f
57     } while (0)5 g- }3 O3 \2 U/ Q$ _+ ~$ A
58 0 C9 x. p, g6 V, ^; ^: I1 j
59 #define LOG_WARN(format, ...)      \
) ]. w/ d7 J0 t& n5 q" S 60     do {                           \: F, Q# \& W% C6 I3 [% e
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 ~8 J, k1 i) l* C7 f5 O3 b
62     } while (0)8 H5 l/ f6 E- F: Y$ j3 Q% r4 E
63 * u+ \) r. b9 S8 ^9 X6 C
64 #define LOG_TRACE(format, ...)     \
- `4 C) W6 z0 }" [( j 65     do {                           \
$ e# l) X- h% Y, X: x 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! t% F; ^1 m4 J* a/ L
67     } while (0)
; b: S/ B& Q' e. \( T 68
9 e& G+ H% C" i2 e& r 69 #define LOG_FATAL(format, ...)     \% H0 l' \' X6 N% m
70     do {                           \
* r2 d3 D2 t' F( w2 m$ R/ S 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- w' w" A( o5 ~, I! i
72         exit(1);                   \/ r4 D' r. P% d+ B8 ]6 f0 X
73     } while (0)
* L7 T1 `+ V/ S* z0 T6 n1 ~ 74
4 Q0 M# [+ ^3 c# `  E- e& @ 75 /* Assert */  V3 b$ i' U' y: I- D9 V
76 #define ASSERT(EXP)                \. P, _' O5 u9 p/ v3 M) m
77     do{                            \
7 l) S/ ?1 m) k$ y, u5 F# [5 y 78         if (!(EXP)) {              \
* m5 g8 n1 I# a. x2 X1 l' i. w 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
% L+ q/ v8 P5 K6 X+ X, u& d 80             exit(1);               \
! m4 O. Z* g- x0 G0 L 81         }                          \- v$ [; ^% I; ~# m# r
82     } while(0)
4 t& E+ g4 M! t0 H- i 83 # l3 p6 q8 f) E
84 #endif& z$ ~8 G8 x3 c1 O' D4 q- L
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏4 B. n7 A0 E8 Z- P5 _  R2 M4 M
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" S. W' W' c5 C4 v修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 n; x( j  C, d你好,是arm这一端的app% a3 s( Z0 B' A7 D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
) }& o4 k- o7 a$ Y修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 z' W  y! U. x3 T, P你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
1 v: V* q6 w, a: i) ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
4 ?) i0 m5 k% ]dsp 端的 log 才使用了 uart16 T0 g: \7 S& p: W
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h). q0 k; e8 n( ?% d" p' m0 B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59; s" q2 t3 f% O
arm 端的 log 并没有用到 uart1( s& g: ?1 `3 u% h: x  v, `. p
dsp 端的 log 才使用了 uart1; K3 b% s+ \, B3 k
所以,你需要也只需要修改的是 dsp 子工程的  ...

+ a$ l) U+ H! M5 e& [) N那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
; F, F% ]. t+ x0 _4 W5 @然后将#define OUTPUT_TO_UART1 1 换成
& Y. q/ T& o3 v% q# e8 g; ]#define OUTPUT_TO_UART1 0
: O" D, o5 I6 A. W  是不是这样. g/ r8 j* C( p( Q. y

6 g$ H) J, N% _  X" C& m* a' N% g

# b+ p. y7 X2 O8 }" O  o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

0 W6 p0 O6 T" U) n; K. J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 06:59 , Processed in 0.043625 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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