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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢2 H8 `4 }  t, G( ?& n4 {" k* D
$ d: j* T6 Y' H! ]: Q5 W4 ~
: X3 u- b: _- r! |: A" g
谢谢% g+ M+ k5 g4 ?7 O1 H# ~
+ L" F6 f8 |2 i8 U" u( q: I
. T4 W6 A/ ^# Z% t8 Z8 w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
' h; D: ~2 _3 E8 R  2 #define _LOG_H_* w, J# Q6 p: v% ^3 J4 |
  3 6 v) }5 ?1 s  W: f+ `4 @
  4 /* 0: printf; 1: UART1 */
, z/ s  W4 C) A  5 #define OUTPUT_TO_UART1 1
/ Y8 L; e/ b/ Q9 l+ |$ U' b% K
  6
/ D* I  I+ ]: R  7 /* Switch Log Output */
! \! g  Z; R: t! e( @+ j" F  8 #if OUTPUT_TO_UART1
9 l7 U6 j4 t, |0 H0 E  9     /* For UART1 Initial */
2 Z  q$ d3 G, m9 N( K9 e 10     #include <stdlib.h>
+ f: L6 P+ \4 b+ a: K9 D* s* }0 l- H 11     #include "hw_types.h"  
( q1 ?7 G) V2 B 12     #include "hw_syscfg0_C6748.h"5 r+ t6 i* H1 C9 b* g1 v" D
13     #include "soc_C6748.h"
% l0 R9 e8 V9 L' I1 E 14     #include "psc.h"               0 s2 ^% N: A+ v# e& M% w+ K' E/ r
15     #include "gpio.h"               
# W) \# p) X4 I" O9 f9 k; C7 V 16     #include "uart.h"8 D! z* p/ [7 i# t  @' ~4 T1 x
17     #include "uartStdio.h"
& l1 `* }5 [! p$ [2 @: H 18 4 W% o6 P& c; ~; J- U: x0 h# ]8 b
19     #define OUTPUT UARTprintf. b! W$ c+ @' k
20 #else2 j! v8 `/ o' v! \+ A( u8 Z6 P  |6 d
21     #include <stdio.h>
, _: b, n& k. B6 w8 j* @# T 22     #include <stdbool.h>9 k- d4 o1 q/ z3 n, @5 E: M
23 ' z% w; j0 W$ @6 R% H0 X
24     #define OUTPUT printf6 w9 _8 p! g. u. A) |& j8 i: _
25 #endif: K+ C9 ^3 Q9 l/ L
26 / m+ Q$ x2 U. n
27 /* Log init */3 x, t. k/ L9 Q. `
28 #if OUTPUT_TO_UART1
: S, b8 I4 j: A 29     #define LOG_INIT() do {                                     \
6 n& H+ l0 F- z" }" N; _, [' t$ o, [ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
/ \% _" J( V, d  X% t3 N: A 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \" }0 U! o% W$ i, |. X* ~/ t* W% F
32                          PSC_MDCTL_NEXT_ENABLE);                \
. q/ L( U5 N+ w+ a$ [, J. S 33         GPIOBank6Pin12PinMuxSetup();                            \
7 \2 X+ b2 }0 ~9 o 34         GPIOBank6Pin13PinMuxSetup();                            \0 E1 H7 e: ~6 [4 e% o
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \/ w9 V! p3 C4 u* J  p- M
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
! d: K9 }- H  ]& K: N9 c 37         UARTStdioInit();                                        \# I. ]+ k' @, m  Y
38     } while (0), `+ @. w* ]* _  M9 p
39 #else( N- B5 R# h8 {0 j( U. O: m( e8 p! r
40     #define LOG_INIT() do { } while (0)9 P' ~- n( d, f' \+ t: }
41 #endif
. u- }$ W0 m$ |' B9 R 42 2 L' U; d- E9 q
43 /* Log Output */
+ W& _; @7 o  H) {. c6 w1 X$ k" ]& n 44 #define LOG_INFO(format, ...)      \
8 R0 T1 X6 X0 S* f( _) N 45     do {                           \
% P1 C- q( s1 I, n; Q 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 _  t+ V/ p/ a, m# M
47     } while (0)( R( t! e- L- L7 ?5 W/ F
48 3 X# ^- c9 C. d
49 #define LOG_ERROR(format, ...)     \
  Y) v- I6 q% u% b2 y, m 50     do {                           \$ P2 W/ t& d5 B; ^1 N0 J/ S
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 g* p8 X  c: @4 R& F! l2 g7 q/ P9 D 52     } while (0)
& ^/ E9 n3 U; T5 H 53 ( ^7 a' x* U+ O
54 #define LOG_DEBUG(format, ...)     \
4 O' J2 J6 a. ]$ ^ 55     do {                           \
2 J% t3 i" ^" ^6 ]) K3 d" d" O! N 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 [6 v; M# a  |: o/ z 57     } while (0)3 S- {  e. ?' n8 L0 h
58 $ {6 @: _# F7 s. I; i
59 #define LOG_WARN(format, ...)      \4 O0 C& w  {3 K2 s& `, @
60     do {                           \
0 o* P" A5 ?; M1 e! J 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; j4 p- r+ f9 \. }" g
62     } while (0)* [  G, M8 d0 k* O
63
1 _) u4 W/ `  S' L9 ]" {4 N 64 #define LOG_TRACE(format, ...)     \
3 J8 S. n' k1 o/ I) r: H1 B/ I( f 65     do {                           \+ n! ?3 V# Y: x! S+ V5 h
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' E7 Z3 s0 G: d5 w) j 67     } while (0): d* P5 ~& [3 H( Z1 W
68 * ?4 s" z# m; _* E+ @: U
69 #define LOG_FATAL(format, ...)     \, F2 k. C2 D; r1 T4 J; ^
70     do {                           \6 N4 q( U5 v# x) C; j6 z( c; z
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. ^( i3 h7 H- f; Z: i. L 72         exit(1);                   \
$ S' p! F% k6 F6 G) H; i 73     } while (0)! r7 m3 u8 P" |
74 ) S6 Q. R+ l! V/ f
75 /* Assert */5 t, h: p, T* i& u0 b$ {# K
76 #define ASSERT(EXP)                \
3 e7 D: e& w: F) _! o! O. f& I 77     do{                            \
# Z, N1 O6 R( O/ K2 V( r 78         if (!(EXP)) {              \; Z7 L6 ^, `& q4 b' V' b- n% ^
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \0 o/ A8 ~* T' M- D0 h
80             exit(1);               \
# x) k6 T5 t! ?& q) w  t+ G 81         }                          \3 M, a1 ?1 F1 R" p# v) d8 I, d
82     } while(0). [; g& _, f# M! y
83
  w; W; g9 e* X$ i! o' {* E 84 #endif
6 V5 @$ ~, e" }% x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏! c$ C# R8 r' b- y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
; P" R1 K% u1 G! @0 A+ d+ K4 e+ V7 i6 D修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 u: `' g. H( k0 j3 A
你好,是arm这一端的app9 e' C  E; y8 R* y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:032 C8 G+ J3 P3 B7 C- H- I
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 I! w  }( A3 n. l4 D/ Y  W/ n0 P
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 u+ D/ K3 V# l* Z# J' P3 Y9 A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
( p* Y8 ]& C$ k+ ~& F/ u  `& _1 Tdsp 端的 log 才使用了 uart1* \/ W  s  t; z8 _* U* c
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
7 m" m7 h9 O9 v# G& D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
' A8 x3 L, l  Karm 端的 log 并没有用到 uart1
8 V9 J% f' G2 W' L/ wdsp 端的 log 才使用了 uart1
% a3 m+ J& C6 p/ C" ?. s: u4 R/ n+ j所以,你需要也只需要修改的是 dsp 子工程的  ...

7 _; R8 @; K/ U+ Y" e那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,. F( U& a2 c# Q, a# |0 K
然后将#define OUTPUT_TO_UART1 1 换成! v, \- L( ~6 s' \* F
#define OUTPUT_TO_UART1 0
' H! D' m; _4 t7 d; m  是不是这样, W; }+ W6 @; b) w- j& p9 u
8 l- ^' O" ]' f3 q' F5 Q" }

; n8 h1 h8 B. C, q
1 n/ M9 r. x7 r% @* f. @/ |& x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

9 E& S6 C% c9 r3 R" s2 m
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 21:43 , Processed in 0.040392 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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