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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
. g5 p# i* z, H  n) Y
& B7 v# x: E  E3 e0 c" c3 \& m2 B
  m7 F9 i$ k& U, @2 U- v! h谢谢3 s- V8 t3 t- q* f# `

/ r' d6 T$ y6 E9 ?2 J( k6 H
' }+ @2 G) Y, Q4 Z* J5 }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_7 f3 e2 v) D) n/ m
  2 #define _LOG_H_
" P. I0 a' t7 X% p# a4 Y7 {8 t0 Q  3 9 @. ~# @3 N" i; p: b- @+ g# C
  4 /* 0: printf; 1: UART1 */
4 I: U& j$ x3 m) Q5 W" {2 \' D% o& P  5 #define OUTPUT_TO_UART1 1
7 L6 t, A  S% H6 I
  6
, b8 _: V5 @$ u0 E+ ^& b  7 /* Switch Log Output */
) c4 ]! H# w+ Q/ @& x- u& P  8 #if OUTPUT_TO_UART12 g1 L1 c) l9 f* E# J, @6 y) C7 o
  9     /* For UART1 Initial */
% O4 O) v7 [- D, j" g: ~ 10     #include <stdlib.h>
$ `& K% k" c3 e 11     #include "hw_types.h"  
! G$ D) _4 Y+ O) G; v( F2 H& U) t 12     #include "hw_syscfg0_C6748.h"
7 E9 _0 _2 Q0 |6 Y6 L# Q5 D 13     #include "soc_C6748.h"
6 F- x, L; f+ b4 T 14     #include "psc.h"               1 K. C" y" Z( g
15     #include "gpio.h"               ' H3 C+ P, o/ P, \5 b( x% g0 p8 N
16     #include "uart.h"
: m! M% c0 `" ]5 i 17     #include "uartStdio.h"
7 [) T* e3 |4 i- l1 q/ [" l& T 18
! W$ h" B8 z9 f1 c4 K 19     #define OUTPUT UARTprintf9 l$ P; T% l% `( o) w, s- _1 E8 Q
20 #else
( {* _- h3 Q$ w- K' K- C 21     #include <stdio.h>5 f' u, k7 p$ t" a/ r; I
22     #include <stdbool.h>
9 w9 ^" ^0 J& I 23 ; P& ~4 y6 P6 P, V# a5 S
24     #define OUTPUT printf; ^0 l- q3 s, P6 h
25 #endif& n: U0 G: G' w: j$ ]
26   e/ v/ p1 |0 W( q$ A3 L% d
27 /* Log init */
" w, I$ s  O+ ]3 W( g! c+ i1 S9 k5 ^ 28 #if OUTPUT_TO_UART1. T  ?$ X& _* n; v! G- k/ O
29     #define LOG_INIT() do {                                     \! N: ^* u" [, N) d! Y# z2 f
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \; q: D2 n) ?$ M9 V
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
6 S' D0 E& V" f1 `5 k- ?" G 32                          PSC_MDCTL_NEXT_ENABLE);                \
; e& y1 ]; }. t4 K- ]$ o 33         GPIOBank6Pin12PinMuxSetup();                            \
' y; {7 R/ c1 }0 R1 A 34         GPIOBank6Pin13PinMuxSetup();                            \9 g/ x! h' H, M( e2 a: g" p: X
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
- f8 O! D$ P! o; c 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
7 V5 a& p9 t/ a; C 37         UARTStdioInit();                                        \2 E7 z, R" N- g$ N* W, N
38     } while (0)  K& G5 m& S- k: Q, W( F4 [
39 #else& |! n$ b# Q- D( j
40     #define LOG_INIT() do { } while (0)
* k5 g5 c7 n+ f1 p& M 41 #endif
' d8 D- I& d: V3 Q# O9 b6 T 42
3 L$ }. l/ R- X% o& q% r8 ? 43 /* Log Output */. W3 A8 Z! T# W6 w9 m# z
44 #define LOG_INFO(format, ...)      \
) L4 Q5 `. p$ V! @9 K 45     do {                           \
1 B. g, p: G  g* y5 z6 C 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ Y4 y  o0 Z+ c6 y1 n: G
47     } while (0)* [9 \- }5 A0 |8 Y( ]
48 , ~5 P5 I3 `2 S% u5 w! ]
49 #define LOG_ERROR(format, ...)     \
) J; c* i3 N! W3 ?3 M 50     do {                           \
# Z2 r" \0 h$ B- g 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 R9 e( }5 C3 F
52     } while (0)
, b$ }" q1 J' H 53
! ~( l: }; Q) ]+ Q/ B5 A 54 #define LOG_DEBUG(format, ...)     \
& a: ?( A9 m$ P  c 55     do {                           \
( ~5 y: d6 a' V6 ?: Q( } 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# @4 o3 q8 E4 U3 j5 [6 k2 i* g
57     } while (0)
: N7 e0 ?. c+ X# R; l, l 58
& A' j+ Q# Q* R% Y$ U; B* ?+ ]2 X5 o 59 #define LOG_WARN(format, ...)      \5 M& n4 `$ C! p! r: m
60     do {                           \
, I% g4 O/ j: }* p# {/ w% U; f 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- I4 r! j' H1 ? 62     } while (0)
3 L1 l- L$ }; R) f  @1 v- { 63
: ^1 _& a' h+ H8 f1 n 64 #define LOG_TRACE(format, ...)     \( n0 c. T) t: n6 H7 K: F2 k% ?3 K! K
65     do {                           \
& U7 v. W2 s, |' [" ? 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; O+ s7 C- V: o! {
67     } while (0)& M# e, G8 w0 ^) B: d4 [3 I
68 + c% g3 R" `0 K; Z1 I$ ?9 ~
69 #define LOG_FATAL(format, ...)     \
; P4 i7 L; A8 B* a* J" Z4 j7 V 70     do {                           \
6 e: x5 q: Q" E 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 _& Y$ y! t3 e' c 72         exit(1);                   \. Z" X- o$ Z; p- I  p# y3 F, f3 u
73     } while (0)
9 H) e/ H; @5 I 74
; ^+ q1 R) i5 ~ 75 /* Assert */
% Y  Z* }% Z1 | 76 #define ASSERT(EXP)                \- ]8 S* u! d; l9 q$ J0 L4 N
77     do{                            \
4 a% x0 L8 I+ r' T5 E5 A, w3 H 78         if (!(EXP)) {              \1 N6 v* V2 c5 J- Q  k5 Y7 p5 {/ [
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \0 _& H  S5 n; x9 ?- c6 x5 k
80             exit(1);               \& m4 G: K( U3 f7 m6 V
81         }                          \
! N6 f) P3 |& I5 c  ^& l 82     } while(0)5 X" e3 l3 d# W) i
83
( C' \9 [2 J+ A 84 #endif9 L& s9 Q, L( o+ e
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( w1 c  G* n, x$ |5 [" P, v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03* _3 }  X: E# y3 A
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 ?/ d4 x3 i7 {& h# y
你好,是arm这一端的app9 V/ M" l0 E7 T: Y8 @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
* D1 R4 P* Z, J9 }修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) Q8 M4 U; z- W' \( h* S你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路/ x' }- T: D+ ~4 I6 R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1; O. X, \  x: l8 a/ d# r
dsp 端的 log 才使用了 uart1
% n: V2 Y9 l& r6 ~. g/ f' o3 M* p所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)4 f: h/ G( v$ D1 m7 |# c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59$ a/ Y3 X& T* u3 h$ t
arm 端的 log 并没有用到 uart1  |- u) l# \4 b# g8 _
dsp 端的 log 才使用了 uart1
" }1 d! d1 l5 {: i" Y; \所以,你需要也只需要修改的是 dsp 子工程的  ...

! U5 s* Q# J" u( A那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
7 t& }$ r* x. S% |然后将#define OUTPUT_TO_UART1 1 换成
& N* m7 n2 v$ o" n. s) V. Q#define OUTPUT_TO_UART1 0
7 G; P9 L: Y1 }# @  是不是这样
! Y, [# f* |; [8 E  ?" y& V) K* W5 k7 y  T) b5 Y1 M3 E
+ I+ c: k8 e& B* y) G! s- [4 k5 ^

3 Z% X/ U) r% x" g3 R5 T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

9 o1 ~. g4 S) L
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 09:56 , Processed in 0.049653 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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