请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

+ ^9 @$ ^; a3 V3 [# b) k- h4 ]7 w: o
谢谢
* x1 Z. v6 a0 h! x; x" _( B6 s
9 \3 J& a- N- P- ~4 k% H! D. }8 K: b  ?9 L) H( Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
, m. Y& S+ [( L! @  2 #define _LOG_H_! @" O3 d4 k& f6 r# Z' \7 n
  3 9 g) }& ~5 R7 {/ C
  4 /* 0: printf; 1: UART1 */1 }( ]; M: h1 ~1 a; ~. S
  5 #define OUTPUT_TO_UART1 1
/ B" T) v, u5 b7 R/ ~) S/ ]
  6
" @" x+ _/ A- h  7 /* Switch Log Output */
  W( Q1 d6 l4 [: y/ Y! t% `  8 #if OUTPUT_TO_UART1
' i( }/ f2 T0 g  r% z; O  9     /* For UART1 Initial */. |7 R+ _* U+ l6 _; H+ G( `5 K
10     #include <stdlib.h>' s# Q( S5 [0 ^7 W1 V
11     #include "hw_types.h"  
! P' T/ O- f! p# e( q6 C 12     #include "hw_syscfg0_C6748.h"
3 o$ X: n. v1 k 13     #include "soc_C6748.h", Y) ^, r& j, s2 x/ P; m
14     #include "psc.h"               / ]8 L" ]; B( w8 N  c# E% n
15     #include "gpio.h"               
" z' ]  h  E1 W2 I5 R( v/ C( r' N  `5 w 16     #include "uart.h"# X* u) n. c4 h# Z
17     #include "uartStdio.h"' F: q1 f/ l: V+ r; t" Z" R
18 # t5 E$ @  @$ ~8 U9 E
19     #define OUTPUT UARTprintf0 X  `, J8 T# S3 u" }' Z
20 #else4 K2 }# \5 `+ ^+ s. P4 B* t9 L( Y
21     #include <stdio.h>
- }6 O3 G2 n) }+ R 22     #include <stdbool.h>
  i5 A- E5 q  j# m/ s 23   C+ g% ^' M, |
24     #define OUTPUT printf* c$ D/ G- N) r7 A
25 #endif* D% Z- ]) Q8 H( O* [; }: B2 ?* N
26
% `" j# ?4 g8 R  G" \ 27 /* Log init */
* S9 v# f" m6 _8 [. H 28 #if OUTPUT_TO_UART1
& k; `) L# J5 j( f 29     #define LOG_INIT() do {                                     \
) d: ?0 G2 \2 {( [# [ 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \1 V' i3 Z8 ]& M6 |
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
6 |* ^5 \4 _* b, v9 R: t 32                          PSC_MDCTL_NEXT_ENABLE);                \
& |8 e* Q. P! d. X% l% E5 X 33         GPIOBank6Pin12PinMuxSetup();                            \
4 C9 U. H: P2 _% l9 @3 i7 g 34         GPIOBank6Pin13PinMuxSetup();                            \+ C4 A  u2 C! p& c9 G$ V( W
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \$ o6 v& ]5 D+ \& j% f0 R$ ^
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
8 }% k# \( `( U" D 37         UARTStdioInit();                                        \. k' V9 g  b5 l& C. w* {8 y, Z
38     } while (0)% o; V: X4 ?2 Z9 ^1 A8 O3 O
39 #else, `) e/ R: k5 p1 }0 h
40     #define LOG_INIT() do { } while (0)6 h' v" g" e5 ^2 `7 |9 a  o
41 #endif# c/ {) K+ {0 K6 S1 O
42 : J' @3 C* C# \8 S
43 /* Log Output */* |  d( V! O( Q
44 #define LOG_INFO(format, ...)      \( {. L- a$ p/ I; ]9 y8 G3 R
45     do {                           \4 R9 R: f, M- M* q. q7 |6 @: l
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  I1 C- E0 _8 U" o, D5 T8 E. d# _
47     } while (0)
% ~9 c1 N. n6 d, W$ h% j# Z 48
) w% ^+ V' i* f. g! M; j, O: c) W& M 49 #define LOG_ERROR(format, ...)     \1 n9 O! U4 _9 M) ]1 d' T/ z6 q
50     do {                           \
4 N; }( D4 t2 @! I" O9 s) e; k" S; } 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" B% B  s( g- N, B+ [0 k
52     } while (0)# J# b3 E5 u8 ^
53 . q2 s% b$ n+ v) d$ H! s
54 #define LOG_DEBUG(format, ...)     \
" I% a7 j! p. E+ ]" m5 D; W 55     do {                           \6 b% `- M1 D2 Z
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ Z! V" k% E: _# J3 ]5 \" ` 57     } while (0). z/ p: T7 z, f- m/ h+ c* h) ^! H
58
" \3 w2 p$ N5 g9 Q 59 #define LOG_WARN(format, ...)      \
, {/ Y# ]1 E3 [" r 60     do {                           \0 `; M; _. z* n! t$ a* \
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; \. R1 A) u/ u, I, G3 N" _( t2 o
62     } while (0)0 c6 ^6 x0 l( T" z! ^3 m
63
8 ~5 i* e: b2 m/ E" [* ` 64 #define LOG_TRACE(format, ...)     \5 S2 W" M6 Q: n5 ^! N2 ^
65     do {                           \
  J% F: A2 W4 [! z# K2 ~' a 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  o9 b: }9 G: [1 _2 S- g# j% n
67     } while (0)
+ ^9 P+ m8 K4 ^+ ~  R/ d% \ 68 / W- m* B) ~, k4 g
69 #define LOG_FATAL(format, ...)     \$ S+ Q5 ~: k7 e* W9 q* H
70     do {                           \. X- N& h( H) U6 I& u
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 A% z! f1 c( R6 y, Y
72         exit(1);                   \5 A, Y9 h8 n) G" |5 I
73     } while (0), T( S9 v# H% N% E( [2 l
74
. r6 v) y/ G3 h% r5 C* V+ T 75 /* Assert */+ N7 b% }2 X; p- \8 I! R
76 #define ASSERT(EXP)                \
8 v9 c9 j5 M( b; n 77     do{                            \
# r/ c. c# y# r6 H1 ?& F 78         if (!(EXP)) {              \" j: s' Q6 |. b- h  M/ q' h
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
( t( L. B! x& }. X8 @3 c 80             exit(1);               \
, o( A4 E( U* h* ` 81         }                          \$ ]4 u) E  J5 Z$ ^7 h
82     } while(0)
) G. }/ Q" z* J4 J 83 * V; Z* L' ]2 Z8 k" U; f/ A2 n
84 #endif
7 R$ T7 g5 ~: D7 g! }
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏' l6 o) |. A8 M% ~+ L: B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
! S4 i) U. g. O修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

! l, p/ S' h0 }: g4 F" _你好,是arm这一端的app
: s% E+ R& e0 O: ]' o/ b( X
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03  M- j+ I* g" \% ?
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

) t+ p2 h+ L0 E+ l: I你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路/ i" }& W2 q% a) i2 l, M$ g9 Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1, r" m' E8 t2 o
dsp 端的 log 才使用了 uart1
/ P, W& e) V/ z' W; F- U5 u所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
( b% x  P2 U3 U" l  |
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
; e1 R" \( @8 D3 K0 t& E7 n' @  Uarm 端的 log 并没有用到 uart1
$ D; k$ }# k* t( u$ p9 `dsp 端的 log 才使用了 uart1
, ^; f1 @1 p* }9 P/ _所以,你需要也只需要修改的是 dsp 子工程的  ...
- n" Z# m5 u$ O+ b* C% t" k
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
/ J" B" |! n8 j3 x- }- w$ g  f然后将#define OUTPUT_TO_UART1 1 换成
5 r/ U& k' c1 n# R" r#define OUTPUT_TO_UART1 0! U  W1 d3 g7 X4 J2 Y3 w. v1 {; p" A
  是不是这样
0 h; M/ n* T" ~! {' p+ W
8 F3 R' }0 j2 ^4 g( N$ w0 X; D5 ~; f+ t4 P7 {

% P+ n, R6 T8 a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

& j7 s% L$ p( L6 C3 L; I
回复

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-2 18:00 , Processed in 0.043132 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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