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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢5 F' o  q* p. K; x
% ?7 P2 q; X/ w" m! R9 e

( A4 @6 b! ?( }: E谢谢
3 H) }; Q4 ^0 R- r  e% \. h) N  p
6 f  p% M2 [+ X0 V5 u. {- z4 E1 Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
4 ]" J5 J' q$ O8 |  2 #define _LOG_H_
' U4 H+ o- N; H. G  3 * ]  v4 V6 R3 q; j* F
  4 /* 0: printf; 1: UART1 */
* G, a! a3 s; k  5 #define OUTPUT_TO_UART1 1
0 a5 t+ x" g( X' U2 i" X4 [
  6
- e. Z0 R5 L' m; ?+ S  7 /* Switch Log Output */
* o$ |: a6 K; q* W% g/ A) N1 ?( U5 V$ _  8 #if OUTPUT_TO_UART1& i$ D* ?5 k2 N1 A7 ]6 D
  9     /* For UART1 Initial */, `" F) i! Q1 {& n) x
10     #include <stdlib.h>
$ k2 d+ u. S# ?& I8 [ 11     #include "hw_types.h"  4 \* S* d0 Q$ G# ^
12     #include "hw_syscfg0_C6748.h"( ?- l# j3 g7 Q. ^0 \* U8 B; m3 b
13     #include "soc_C6748.h"
2 [& F2 G: }+ j( }( T* _ 14     #include "psc.h"               
+ U9 y3 V6 Y* Q5 N: Q7 a# M 15     #include "gpio.h"               
* \* }7 J7 I1 D0 a1 y! G0 i 16     #include "uart.h"
$ O7 H; d3 g* C4 t 17     #include "uartStdio.h"
7 f" [0 O- ?) X* i% f$ V; h 18 8 j$ S. y9 H! E* C5 T
19     #define OUTPUT UARTprintf7 G- [) ~+ B, [/ I, p/ d
20 #else
( K0 Z$ ]# b, q. n8 |& A' d 21     #include <stdio.h>
  o& q" {/ K5 z' l+ `/ h. D! B 22     #include <stdbool.h>( ]5 E* f# r8 t% S2 K
23 & o* O) A( f2 G/ y$ w5 H" K# k
24     #define OUTPUT printf
6 `! i2 W9 o6 S+ {9 l$ g 25 #endif
  W9 w) Q$ ~7 U- _. n3 T) m# Q6 d' P 26 ' I# G6 N% O: ?! m+ [
27 /* Log init */% s9 F6 S1 f. Z7 {1 X0 ~
28 #if OUTPUT_TO_UART1
+ }! m1 d; B5 I- b+ W" k. S- ~ 29     #define LOG_INIT() do {                                     \
( z7 `; z3 J- U# Y( q8 {; {' c: a 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \! x9 J4 c) r& o6 A2 B) S+ h
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \0 A" s5 y% Z4 t, `5 a% s4 r% a
32                          PSC_MDCTL_NEXT_ENABLE);                \
+ ~! |1 s/ v7 n/ T7 @$ f6 { 33         GPIOBank6Pin12PinMuxSetup();                            \( m7 X5 \2 w) f) l5 {- a1 u
34         GPIOBank6Pin13PinMuxSetup();                            \( N) ^. Q/ _% W- u
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
& R2 t0 `2 P4 x. a3 [ 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
# @5 @1 n6 u6 L4 j/ F& A 37         UARTStdioInit();                                        \
/ E! m3 G4 f+ e( u! z! `, f 38     } while (0)
: K' P- w4 t  s6 o8 E9 o" g 39 #else
; a6 G* Y3 K: Y" V 40     #define LOG_INIT() do { } while (0)+ S7 b! `3 C0 r, Q6 [: O/ n
41 #endif
4 g7 V6 s" ^6 P5 a" ^ 42
  S9 z- |4 {& ~3 B1 \: \2 a- ` 43 /* Log Output */. A7 c  p* `$ s
44 #define LOG_INFO(format, ...)      \
" Q6 g2 X$ ~; L 45     do {                           \# j$ c7 @' Q8 ?
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ `; r3 {% \3 t8 z* O0 F3 v2 g! n
47     } while (0)8 c5 n" p5 j; P; x8 i" y
48
  u4 H  c* H9 ^  ^+ Z 49 #define LOG_ERROR(format, ...)     \
) ?+ Z( x0 w$ [" X" n0 {6 h+ Y1 D, ^ 50     do {                           \
6 Q3 c& Y. y2 F3 Y3 _ 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
, _! x, @: A8 Q4 }  T7 v 52     } while (0)
3 f9 D) r1 D& C9 w& i 53 - B/ h( r: @, h- Y& E/ s4 J
54 #define LOG_DEBUG(format, ...)     \6 n. L* A, Q7 Q/ s2 T
55     do {                           \
7 t! V" R( O) s! k  C 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 H) L' p, Y0 E; e3 v& U- @) t 57     } while (0)6 \5 q; h5 l8 N- u& m5 h" Z- s. R
58
5 \% D+ w0 g2 r  m! t 59 #define LOG_WARN(format, ...)      \! t' ?& C* _, J- ~" m: ?
60     do {                           \5 ]0 G6 q( w7 F0 s
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. I) ~1 d  M6 k4 }- u3 l
62     } while (0)% P- i; `5 w" O) f; O, u
63
0 L1 Y8 m7 I0 J8 N1 }* X2 Z 64 #define LOG_TRACE(format, ...)     \# }% `! D( }' G: V2 w3 G& E6 m
65     do {                           \8 W& S# S) P- j( w; i2 c0 f0 v
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 a: R; @) E5 V) Q 67     } while (0)* j* Q( I% N9 {( H7 s9 v
68 0 o5 D/ w; q6 D/ U
69 #define LOG_FATAL(format, ...)     \0 P0 ^, _; s  V6 e4 T
70     do {                           \0 S* p' D& ~. |: S* f+ y8 U: y
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( M/ B+ ~9 G9 Z5 J* l 72         exit(1);                   \) W/ P  ]; R/ E
73     } while (0)
0 S& g6 a4 N1 a! F- [& w 74 $ n$ D& j5 K: {
75 /* Assert */  w4 @* I% z7 L- V: s% W
76 #define ASSERT(EXP)                \  T6 W0 I& y# {2 }, z9 J( H0 ~& Z
77     do{                            \) r9 O9 J# W, |2 i
78         if (!(EXP)) {              \
; N& B$ E, R' c* R' V 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
* h5 M& |" H$ {: X. i/ q+ C 80             exit(1);               \
) g1 X4 j# C1 I" [- q 81         }                          \
9 @& i4 J5 r: S  x* f 82     } while(0)
$ s/ H. [3 y; ^4 c 83 7 S$ ?, P7 S3 A+ T4 U9 o
84 #endif
+ P! h& E6 e% Q) s$ y8 U) S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 W/ n( j$ ]) b& E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
* D4 j, I7 a2 t) c修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% y5 h  e4 B7 n* N! z7 L3 c) g
你好,是arm这一端的app( L; Z" \  Z7 @$ x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 _! A& ^6 C. T( n修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

4 C. m& x( Y$ {3 g你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 U6 C' z2 r3 ^9 U& d/ X: J& G/ b6 U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
% I% @1 i& j7 _dsp 端的 log 才使用了 uart1/ o( @# @8 ?- O! N8 `
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
7 D) e: c5 m* M7 _# S9 ?# l# X) ^. P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
  \9 d  x7 Z+ s$ x. V  karm 端的 log 并没有用到 uart1
# q* F. u3 P5 V9 @  l8 g9 {* _+ c9 M0 udsp 端的 log 才使用了 uart1
/ N4 a- q( z) C/ ]0 K所以,你需要也只需要修改的是 dsp 子工程的  ...

, G" J) @0 G$ F/ ^那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,2 W5 J+ P4 k0 x
然后将#define OUTPUT_TO_UART1 1 换成1 N+ [" P2 f+ o$ H
#define OUTPUT_TO_UART1 0
4 y5 D3 O$ h0 ~" x1 `  是不是这样  p3 r2 _) c$ h0 Z7 n' D
9 z" l* ^3 ]% e0 Z8 e8 q9 Z) V
/ d% y( C% p) A% Z' e

) N7 x; o% D" Y2 o& u* P( l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

% |" Y( Z  i7 `  J- }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-17 20:27 , Processed in 0.043166 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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