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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
" f6 k: [6 w: P  ^0 j$ |. U
+ ^' P- K/ h) [. Z* N1 R
& |$ e- _* t+ G4 d谢谢3 w% [1 q) q$ v* {+ l/ A+ F
  V' P1 m$ ^% j) B7 T9 j) `
$ L9 q) N" I- Z) f1 l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_5 R: U/ }9 s4 a( l! |8 Q( z6 b
  2 #define _LOG_H_
2 m; G- y% \2 r  e  3
" Y& K" Z' ?, b( X5 @( |  4 /* 0: printf; 1: UART1 */
1 A& _2 R0 N7 M4 M! W: {8 D  5 #define OUTPUT_TO_UART1 15 C8 R3 V& L8 V& J2 `& j/ d
  6
. u3 E" T6 O# r+ K& ]& L3 r  7 /* Switch Log Output */! q. H" T, J# H% P7 r5 g* }4 W
  8 #if OUTPUT_TO_UART1
2 O* ~. ]! |2 P. h9 U) k  9     /* For UART1 Initial */0 o- W; a2 I; r- R2 N
10     #include <stdlib.h>
; h$ x! ^+ I% i6 N 11     #include "hw_types.h"  ( y1 w8 ^. d. i9 N% A' ]+ S8 L
12     #include "hw_syscfg0_C6748.h"( \5 A/ ^5 U' i& ?9 t: m
13     #include "soc_C6748.h"
& A$ _, }0 ?0 z8 T3 P5 ] 14     #include "psc.h"               " A4 t" c$ X" V& j/ _
15     #include "gpio.h"               1 l2 w/ \9 E8 |1 I' U4 C) F0 J
16     #include "uart.h"/ o% V+ S* U+ j' |0 p5 x
17     #include "uartStdio.h"
0 ]1 W: v, N+ @, S 18
( T9 o% T& Y+ Y* d% W9 O 19     #define OUTPUT UARTprintf
5 J( W& q, [4 w. G4 c- q% ?$ O 20 #else/ \7 o% P$ q1 a  @: t
21     #include <stdio.h>
) n$ F+ i$ Z* P9 y! T 22     #include <stdbool.h>
7 i$ F! v; f/ `8 ~! L* W7 F9 x 23
( P. w) n" X! Y& i: d- R# S 24     #define OUTPUT printf
) ?# M3 K5 K1 l( v, s# r0 D# Q 25 #endif
5 ~3 ~2 c5 q) W  \ 26 6 e' J1 [  P' i, G4 G
27 /* Log init */, y& |4 n( @2 e' h" ~4 m
28 #if OUTPUT_TO_UART14 V  h/ S& o) ?5 G# u
29     #define LOG_INIT() do {                                     \( a7 l3 o2 Y+ d" A) s. k- T
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
7 ^" _# {7 a7 P 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
2 h/ z0 l) j' u$ V* p0 Y* \ 32                          PSC_MDCTL_NEXT_ENABLE);                \
4 @) s! G2 g$ i 33         GPIOBank6Pin12PinMuxSetup();                            \
) q0 ]/ W! O# G1 }& Z; l/ Y2 [# ?$ Y& P 34         GPIOBank6Pin13PinMuxSetup();                            \
+ w( I2 _- x1 v 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
( G& i' F+ h" _$ f! M0 } 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
, s& W4 x7 A+ X2 M1 L7 n& |& c 37         UARTStdioInit();                                        \' W' C; |$ X* z  A+ ?( b/ Y2 r4 b
38     } while (0)6 l% i  L6 `' m
39 #else
+ }, |3 b; q( h+ h+ n/ M+ |3 q 40     #define LOG_INIT() do { } while (0)% i: I3 |# ]5 K1 X7 {& w# T! V
41 #endif7 _( ^' J) I( d3 q' w0 r) W
42
* K5 `; J% T9 U( g3 E 43 /* Log Output */) U! t) _. \4 p1 h. h( g: _
44 #define LOG_INFO(format, ...)      \5 Y- i5 j9 m0 g- j  J2 a
45     do {                           \, p' m6 x5 p& R# M3 y& N
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% Q; ]& q2 n3 ]4 T& B' K
47     } while (0)
7 n! F9 h& j: Q+ W: O2 H8 ^ 48 : v+ E% Y  J" B! A. u9 S/ s
49 #define LOG_ERROR(format, ...)     \2 ]5 U$ F- \+ [2 ?/ ^
50     do {                           \
  ?% l& m4 b! b 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 A% n4 \! N& y+ F7 u( L 52     } while (0)  }/ Z; a" V, U$ A* ?; R2 F* D
53
* x0 u! E  H$ {% b' z* o2 F; U 54 #define LOG_DEBUG(format, ...)     \% B7 C$ ?& _0 n' T' ]
55     do {                           \
) G3 H$ g1 K' I' o; Z 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. c% a% M4 Y/ x- U  @4 a 57     } while (0)
/ r0 s/ C! ?4 o5 R2 {, C 58
% X# C! _3 p' | 59 #define LOG_WARN(format, ...)      \# ^) Z' n5 Z* Z5 }2 k0 L) L% U7 @; e( J
60     do {                           \
3 k2 G% e( f2 O; g 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 L; Y1 z- X" G0 H5 _3 t9 w
62     } while (0)2 H3 e! s: P$ v) ~7 Z
63
- q( {3 w6 J( c6 f 64 #define LOG_TRACE(format, ...)     \
( c- U6 F1 u9 F( t& T 65     do {                           \
6 m  d5 Y7 I$ r. ~0 G 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 N( i9 [1 H( O 67     } while (0)2 Q8 B7 r$ `2 S2 v
68
9 a- Z, }3 f& U* w3 Q9 L/ i 69 #define LOG_FATAL(format, ...)     \% k- u9 t5 M8 E
70     do {                           \$ n" R' f; M+ @& E
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! j2 X! S$ V% x
72         exit(1);                   \
$ Z) }! B1 W2 e& ] 73     } while (0)3 D- S0 l' n; e6 g9 R( _: O* E3 {
74 , ^4 N" o* n6 _
75 /* Assert */
* i- O* x+ P; T+ e) B 76 #define ASSERT(EXP)                \& F1 W7 q/ M0 X
77     do{                            \1 |- z( n$ N# M
78         if (!(EXP)) {              \7 x) w2 S# N; L
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \5 ^  r& @# X9 p9 V( N
80             exit(1);               \( ]4 A1 p( k9 |3 F" x
81         }                          \
, d) D' N6 z3 r% \7 \' y4 _ 82     } while(0)* h; P7 w  O% }4 e* u% D
83 7 k+ p5 n% x$ a& F, J+ ], I
84 #endif2 V# z* g% h( B. N( f
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
% e, g7 g+ E# e7 R! x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
/ w% A- O- a; k7 G修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
/ e  m( B3 ]; y
你好,是arm这一端的app; e0 M( [  C  C- s3 `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03: \/ ]5 ]6 I$ y. I1 n5 ?. d- A8 w
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
) C/ p! K- h, o7 W4 c5 k, q
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
3 l7 w5 k8 E" I( {) G
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
, G3 p, |7 K1 h( t, l' edsp 端的 log 才使用了 uart1
, j5 t+ _# f8 @( y, @: P  Z' c所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)' l. j, c! V: }" O0 r( n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
, r3 V) r8 `  Parm 端的 log 并没有用到 uart17 \% V, E8 P3 e, D, u
dsp 端的 log 才使用了 uart1
* c3 {1 d# h+ ~; s( D0 H所以,你需要也只需要修改的是 dsp 子工程的  ...
* L+ C5 F- n/ e& D) _' f! j) I$ p
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
8 n0 \$ f0 s; E5 ?5 O6 i4 L然后将#define OUTPUT_TO_UART1 1 换成
: z1 M3 r7 b; p% l/ [8 V#define OUTPUT_TO_UART1 0
( H; u: _# S' z6 U* K! p: Q3 ^  是不是这样" V. M" G+ v- O* n
7 y1 }5 c: P4 f" P

5 `" ?! r6 i6 b, q
* O. G" y1 m$ H
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

5 K& x$ V* R* i: K
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-17 01:16 , Processed in 0.043124 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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