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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
5 ]* I  N. _2 R6 V, [" v8 x" n7 N2 }8 `. G
4 Y7 e- H: D% |1 d0 o
谢谢/ {! w6 B* l, u6 z) f) y& P4 a
: P( @# m* l- D
  B; q( L; u! u$ A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_; z4 ?+ J* |" o. y7 R
  2 #define _LOG_H_6 P9 U! o# U" F: ~* p
  3
) f2 z) o7 G" Q/ d  4 /* 0: printf; 1: UART1 */) R  X$ F  B3 k1 H$ c7 n7 I
  5 #define OUTPUT_TO_UART1 1
! Y  I) ^: Q7 d- f# B
  6 % C! i' D4 p" h. w& l3 H
  7 /* Switch Log Output */, B* f  n% ?3 ^9 X6 E( X
  8 #if OUTPUT_TO_UART1
* x3 ^3 k- y/ |& s  9     /* For UART1 Initial */& v. ~& ?5 x" ?0 K, P* p
10     #include <stdlib.h>
) U4 a! @( v7 K1 o 11     #include "hw_types.h"  
0 L( S2 U' R3 e$ C! B9 v/ \ 12     #include "hw_syscfg0_C6748.h"# K' K3 x/ F8 H
13     #include "soc_C6748.h"
8 D- a$ K  y3 ]  N1 J+ d( b2 ~ 14     #include "psc.h"               
" M& r) w+ S4 G0 Y# U 15     #include "gpio.h"               
5 E! H" h, i6 k: K9 c  [% x 16     #include "uart.h": o: O! u( Y; i' K! v! A+ v
17     #include "uartStdio.h"/ B- g* P: _: M2 O9 ~
18 1 C1 g' l: i  D* k4 l
19     #define OUTPUT UARTprintf
% s4 c, y/ d. v! |& g 20 #else; V" m6 I) B  s
21     #include <stdio.h>/ K* S8 b/ W$ o- }' }
22     #include <stdbool.h>
4 a5 w9 |% W" K2 Y& D5 Z 23
6 m3 a% u8 Z2 L 24     #define OUTPUT printf
1 |6 N9 d( S' v# Q: ] 25 #endif! G) w) {# @* O" U$ ^
26
$ D% q, Y7 T" Z: I( g+ F 27 /* Log init */7 ]/ W1 O: F1 ]5 ]
28 #if OUTPUT_TO_UART1
7 `% J  b! `8 f% e' m 29     #define LOG_INIT() do {                                     \$ N& w1 s/ |# `0 b0 ~; D
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
# l4 W; j* y2 b, ? 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! |) i' \. w8 S; X( G6 O
32                          PSC_MDCTL_NEXT_ENABLE);                \
5 U1 S/ J/ S1 X, o: b/ I 33         GPIOBank6Pin12PinMuxSetup();                            \
+ ^# c0 p6 W% X& W) r0 ^ 34         GPIOBank6Pin13PinMuxSetup();                            \
/ u' c8 w  G0 O4 i5 o1 f6 w5 q0 @ 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \: O4 v% z/ f% I; e5 B' m# |
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \& `0 h1 [8 w" K% p$ R7 d* I9 e
37         UARTStdioInit();                                        \. U* h0 G& D* n
38     } while (0)) Y: U8 d( C0 w- p
39 #else
. P. m: j6 Q2 n5 X. D& y2 p 40     #define LOG_INIT() do { } while (0)3 A+ ]7 \6 s% P
41 #endif$ c) {& J3 w5 v- s# p9 h2 A
42 / y$ H% r) W+ b1 H" R3 K
43 /* Log Output */1 W% R0 ~) {# G$ Q" o
44 #define LOG_INFO(format, ...)      \
& R' M. ?& b9 V+ N4 V. o. a: b 45     do {                           \" z0 J" I9 }+ x- H
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \, N2 N$ z* Y( X: }0 K4 K
47     } while (0)
  h2 F* Y! U5 J1 @ 48
0 V# Y( o: ~/ R" ~0 \3 g, y: H 49 #define LOG_ERROR(format, ...)     \/ J4 H. R7 |- ]7 J$ h. e5 o# }
50     do {                           \
/ w+ m) Q6 e6 ^0 c" z2 G 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' v9 H3 u4 i( |# U) \5 {' e
52     } while (0)
+ Y( v# ~( h* l, a 53 ! u$ r$ v! v! V$ S# B; Z( X
54 #define LOG_DEBUG(format, ...)     \
' w  C* m+ F/ F 55     do {                           \8 V8 z9 P& W" }- w% p
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& h9 E& C+ M  O) v; f
57     } while (0)* l6 r% F6 e- u! ]5 |
58 + \8 b0 }; i3 W; ]* S9 V
59 #define LOG_WARN(format, ...)      \
7 X1 |9 r0 X; ^: Y9 X8 z 60     do {                           \
% [# g5 ]+ @1 r8 H( M 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ p+ X2 i+ k' |8 T' ^3 j
62     } while (0)0 Y3 j0 i& A+ A3 ^
63
( A* M8 e1 D2 E' [5 [/ I# x 64 #define LOG_TRACE(format, ...)     \
# t( Z  J, r8 z0 m 65     do {                           \
, ~  j" z/ U* v  t 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& Z% c# s" L2 o/ o
67     } while (0)6 O+ R3 D7 S# B% O0 s# [( c2 }
68
8 N/ h- G7 E' u6 E! ?0 {1 ` 69 #define LOG_FATAL(format, ...)     \$ W7 f7 M. T/ b3 J. m
70     do {                           \
7 O" G5 \  e( q# _/ B 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& {3 M0 u0 l& Y6 I. L- V' I
72         exit(1);                   \
! h6 v. v! |0 u2 o) T6 [. u* o# s 73     } while (0)# C( ?$ A% Y/ N
74 1 b8 K+ w. H$ c* _) W1 w0 Z/ i( u
75 /* Assert */7 q  P6 e# y8 B
76 #define ASSERT(EXP)                \  z6 [* y, Z0 J$ s- H) y
77     do{                            \. e! e" @1 n( _
78         if (!(EXP)) {              \* X  x# g( s: h( v  C: j
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
% z5 Q( o6 \6 R7 f" F- b 80             exit(1);               \3 \7 O" w6 z* E+ @3 S3 z0 q
81         }                          \" E$ w" Y/ W7 |8 J! R  B
82     } while(0)
& A" T5 s% }7 ~ 83
' V' H* V! Q+ r; v$ ]1 t 84 #endif
. p; Q/ m; N) G  L( r6 W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏& H, Q" ~3 F( ?3 a
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
" q- ?' g0 b& f/ A修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
2 p- L8 |* {- W4 I
你好,是arm这一端的app4 P. q6 H4 x. h: R
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03) }3 E; Y7 [  w- r) B6 D
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

. e; `+ I2 v  G( @. D6 ]0 K6 A5 M你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路* Z6 U% t' v- A# C( n7 \. T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1/ W* f) P% E" h
dsp 端的 log 才使用了 uart1
; a, H% e( A8 i0 v% c所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
; T' i, _7 v4 x2 B) p( I
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
7 S* h2 {0 y( ]& A# xarm 端的 log 并没有用到 uart1
) A) D: m' k0 Q3 B, }3 \dsp 端的 log 才使用了 uart1
" i, ^$ z: G# f' B" P$ J所以,你需要也只需要修改的是 dsp 子工程的  ...

/ N. g9 i  B4 F% h那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,, p$ J1 s0 c7 X9 u7 R
然后将#define OUTPUT_TO_UART1 1 换成
3 i! K7 T% x/ d7 p#define OUTPUT_TO_UART1 0
, n2 b3 g4 O9 {: t2 d% X  是不是这样
) e: @  x3 O4 j1 B# F" C  N7 e& T. |  d

6 {# K2 ?: }0 w7 s) \9 U) C
) q6 }. p. {5 d# k( x4 C! _% Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
# c  ?7 P4 s6 s( K3 f5 F
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 11:58 , Processed in 0.042147 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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