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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

) E6 _, C& X  F6 w* `
* f" f& W3 w6 }) N谢谢
5 l+ j9 X( r: R
/ ^' g. A' q6 Z* A
# ]* T! t, k. u+ w% _( W' u- J9 L  D  g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_# ?/ J- A  f$ O* ~' @
  2 #define _LOG_H_
3 f6 D2 L0 P# }$ V  3 ) u! G8 U- k; Z# B) p
  4 /* 0: printf; 1: UART1 */+ U. \1 p' B% a7 b
  5 #define OUTPUT_TO_UART1 1
6 @5 i5 \- h/ ^" U
  6 , y1 z6 F  X4 i: \
  7 /* Switch Log Output */
! B+ X1 j" s) d6 d  8 #if OUTPUT_TO_UART1
9 _' R( |' R9 U/ l7 C6 p  9     /* For UART1 Initial */
7 w& A4 Q# X; u( e+ Z 10     #include <stdlib.h>
0 t, B0 r0 u! e: Y. [ 11     #include "hw_types.h"  ) s- W; V2 l8 K  h( w; i/ m' n, U
12     #include "hw_syscfg0_C6748.h", D2 l$ R- ?3 L/ n& z
13     #include "soc_C6748.h"
, o. w; q6 Y0 v4 z+ ^6 M8 w! ?# Q- O: s0 } 14     #include "psc.h"               
; V% u- y1 p( Q9 G 15     #include "gpio.h"               
' b$ ^* H& M4 p& K9 L 16     #include "uart.h"
) ~9 Z0 L1 K9 j0 p$ c9 B- E8 B 17     #include "uartStdio.h"
2 K5 d2 o9 g3 @0 L5 G 18 1 a. Y  d& H1 d
19     #define OUTPUT UARTprintf' @( ^, k% g5 t: Q$ K" Y# y
20 #else. w7 S( s: D& k! J" T- f
21     #include <stdio.h>
! o+ w6 z  H% r 22     #include <stdbool.h>
6 X1 k' i1 O9 ]: z$ i7 _ 23
8 O: e- Q  M! S. S( t% r 24     #define OUTPUT printf
% Q  T7 }/ A- ^5 d& S 25 #endif0 P' {# `/ U0 V9 c# U" X( M
26 9 N+ W/ R0 }0 C/ `$ I
27 /* Log init */8 M" S- f( O: i" N
28 #if OUTPUT_TO_UART1- }8 @% G. `9 k/ C3 k* D
29     #define LOG_INIT() do {                                     \; L: ~5 z* ]+ g3 Y1 H+ H# w9 u  h
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
7 U! R% K, q- z 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
3 x' M8 d, q7 X! ^3 J 32                          PSC_MDCTL_NEXT_ENABLE);                \6 N2 X" L  \; t1 o
33         GPIOBank6Pin12PinMuxSetup();                            \
, {( C1 k  g! \/ z+ f6 H 34         GPIOBank6Pin13PinMuxSetup();                            \- ^! @" i# d7 I9 \& P
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \/ u0 k# F6 Y' w% {( ^$ t$ j
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \. [$ n& X$ l" t0 D
37         UARTStdioInit();                                        \
8 z( a3 Y! Q. N5 D) h 38     } while (0)9 A6 E2 o' [, R" @; G8 i$ t
39 #else
, u2 }% Z5 I. B8 a 40     #define LOG_INIT() do { } while (0)
$ f/ q2 j4 a0 }7 E0 v 41 #endif/ z& `) H5 p4 X# I* v$ ?
42 5 j9 u2 Q, b. s- b: x0 v
43 /* Log Output */
3 u: S' A2 L3 I0 K9 W8 c. Z 44 #define LOG_INFO(format, ...)      \
. ?. d" \( k: L7 }0 A& B 45     do {                           \" K0 a( r6 n/ h( m; T- e9 a2 F# z( E
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* ?: E, \; ]) E1 }1 L* k
47     } while (0)) l2 b! W% }+ C) K' m0 I, y. u/ l- ?
48
& n$ Y& w, M5 H, W& ?2 Z( { 49 #define LOG_ERROR(format, ...)     \! B/ ^3 \' x4 N# T) D. [- }
50     do {                           \" u2 V3 e# w" L; B1 q& j) {
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 _2 _% J1 u0 j0 w" | 52     } while (0)
5 `" H& w0 l; u8 |4 l# K, e 53 7 W4 \1 l& ~; G8 h- C
54 #define LOG_DEBUG(format, ...)     \
& J9 z  \( F0 N5 i0 _' A. T" W3 f 55     do {                           \
+ i: Q8 X# G* a: Y 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 l6 _9 `1 m( [/ U9 m
57     } while (0)+ O6 {1 S# Z. b. `
58 - k1 a9 o+ }; R6 c
59 #define LOG_WARN(format, ...)      \$ M" n1 m& `' Q, s
60     do {                           \
- x4 e6 {% G4 T( b" D" a- { 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( V' s* @7 {7 [% a" [ 62     } while (0)$ T8 y+ o: N% I1 ]" P$ y
63
% |: p" }" q8 H; q 64 #define LOG_TRACE(format, ...)     \" m& I9 p$ L2 z. N8 \& P8 i% |
65     do {                           \% {1 t, Y) Z' P: J: P5 d* c
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# d* q/ Y$ V. i! R9 b0 @1 K
67     } while (0)
4 a0 R1 |: m5 U" b0 | 68
6 }3 D# w, V% g4 j9 k0 Q5 B1 W2 y 69 #define LOG_FATAL(format, ...)     \
+ Q3 X$ {; o3 u  B 70     do {                           \
. x6 e6 E4 m* r; f- z! Q 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 K& o% m- J$ A. ? 72         exit(1);                   \
- u* ^! @1 }- J) e. x6 } 73     } while (0)3 ]* g# v0 c% \$ Y! [" q5 C' p
74 4 G* E5 h: R( B: u8 {. ^
75 /* Assert */0 e* e' c$ e1 w# [7 {- _
76 #define ASSERT(EXP)                \# W7 m  k, E, \! B
77     do{                            \5 n& Q. [& l' V" i% ^
78         if (!(EXP)) {              \
7 d' p/ z" |& j( w& B. e 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
4 |5 S4 W& ~+ B, c1 x 80             exit(1);               \' Y" q* p! r0 [4 e+ @
81         }                          \
/ z* q* h# T3 V8 ^4 N# D$ ?' P( A 82     } while(0)" h( W6 Y" {, o2 F" z" y* S
83 ! X- d4 P2 F1 J' ~  j) O  a5 x
84 #endif
3 W( y3 c8 o2 P1 P4 q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
: Q, T$ x$ U2 b) J; L: x/ H& w+ ?
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03/ F7 g3 A3 n- ]
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' A& l! J1 q, \" k4 j4 m你好,是arm这一端的app
. O. b3 N" U" L1 x  p1 J. n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03: S5 b/ ]9 f+ q- c, S5 }
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# p' G5 g! `3 A  }3 \
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
; J/ l5 O& ]. k  O* B9 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
0 \, U6 f5 Q3 I* \: }dsp 端的 log 才使用了 uart1
% i3 }% j9 i) g7 Y1 h" ~+ ~所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
. P4 U2 n* [2 q) S# n3 g) Z+ [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:591 i, x& `) q. ~, n1 f
arm 端的 log 并没有用到 uart1* u9 E6 z8 u' j1 y7 H/ ]% {
dsp 端的 log 才使用了 uart17 V( N# \( D: X# L# e* A
所以,你需要也只需要修改的是 dsp 子工程的  ...

  o/ e0 c! a+ M* c那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,5 d0 A: \) Q: {+ A$ R' s# z
然后将#define OUTPUT_TO_UART1 1 换成# f# m/ T( q1 C& \
#define OUTPUT_TO_UART1 0
. H; `3 T  p5 F6 H4 n  是不是这样, Q/ L& M" u0 x' l# @. t  {# D8 \. F

: p/ F6 `; M. Q/ f. z8 r
' }( _5 A% N) G4 }/ F$ ~
9 f( r' j( K, [1 P
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
8 p4 B3 ?' D' W- t# h$ |
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-6 13:50 , Processed in 0.041837 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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