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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢+ p% \: t% \' v3 _. @
5 e  P' F% ^8 B5 h" X/ H
; l' h8 P3 ^- p, c( _5 c- i& J$ C$ o
谢谢
% a. @0 ?0 Q5 E# |  p3 M3 t
; \/ C7 j+ `$ n7 `+ d. ?
3 t6 p, }% J$ r, G& _4 Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
& u9 v( d5 e9 `  2 #define _LOG_H_
# n" {9 n0 W3 P3 M  3
6 l+ M+ B, z+ |+ B8 r# k  4 /* 0: printf; 1: UART1 */: [9 u' q6 ^/ S- M# W/ G* @
  5 #define OUTPUT_TO_UART1 1" J: @6 o( {* d& U
  6
2 Q" m) y; l% w7 h8 A+ n  7 /* Switch Log Output */
. S3 w& Z; S% V1 S0 L  E! U  8 #if OUTPUT_TO_UART1. J5 }& I3 n9 D8 U: {3 j
  9     /* For UART1 Initial */$ G1 j) q7 F) s0 a% z/ p, c9 T0 B% N$ j
10     #include <stdlib.h>) e6 V/ G9 l( o( b/ _6 k
11     #include "hw_types.h"  7 \3 ~8 E6 X& N3 o4 U( o/ v& F
12     #include "hw_syscfg0_C6748.h"
) B  ?8 B3 i* X/ Q5 N6 ?7 S 13     #include "soc_C6748.h": _% c! Q& s" w* j% \
14     #include "psc.h"               
/ T8 D0 x. V" ]8 z* z0 |# T8 @ 15     #include "gpio.h"               
8 s! t% S; Z+ g 16     #include "uart.h"% E- ?) G" x7 v: g' n/ ]
17     #include "uartStdio.h"
, @. C/ l4 w6 Z3 @3 @- w! s 18
6 v1 J8 }" q7 q  w( ?+ b 19     #define OUTPUT UARTprintf
$ c( T0 F8 `3 C$ \* l% K* c5 w( @ 20 #else& s  ~# l3 w/ b; ^  @7 {
21     #include <stdio.h>
' v8 W9 x/ m( y2 z8 B2 l, q 22     #include <stdbool.h>  `: @( @5 T7 l+ E
23 ' `" N$ P; \3 ^. J
24     #define OUTPUT printf! v( z& h, S7 c  r. ^  V
25 #endif; B5 O5 m: J0 Y: c, ]  J7 ?& X
26 # t- Q; {; X# @* K, K8 f, a4 {
27 /* Log init */
1 I" j( w7 U* v& w) M& a; N 28 #if OUTPUT_TO_UART1
1 o  j* h* d% X& r, S 29     #define LOG_INIT() do {                                     \0 R) E1 p. o: V: r
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \1 y  y1 v, e; Y* C0 ]$ m
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \! P8 k1 M7 P* r! W1 a4 l
32                          PSC_MDCTL_NEXT_ENABLE);                \
- ?; T) m5 H/ [1 Q' c) g4 ~ 33         GPIOBank6Pin12PinMuxSetup();                            \
$ i* a4 H8 Z4 C6 x. c* I$ V 34         GPIOBank6Pin13PinMuxSetup();                            \5 y7 B; W' @  p1 G
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \  e0 N. X8 V& [
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
! |3 g# e( M% D 37         UARTStdioInit();                                        \1 f% \' o+ g' F8 K/ Z/ x* o' {
38     } while (0)
4 w( W) s8 t0 {- J( R9 T 39 #else  L5 A, L/ R; Y) k, l# P  f
40     #define LOG_INIT() do { } while (0)
1 s1 n  F$ I  g 41 #endif; ?; Z* z; `/ u- k
42 , B6 C8 O! U! q0 M0 X3 R
43 /* Log Output */, s3 u! b, X4 _# j
44 #define LOG_INFO(format, ...)      \& B/ t9 r) h& w0 H, S( W
45     do {                           \
' m( C0 }; `9 z- d( G  ^/ R 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 J  \2 O# L. {4 V* u5 W0 | 47     } while (0)% o- K& t* X5 Q6 t/ X( K
48
* b. f2 n4 F0 D 49 #define LOG_ERROR(format, ...)     \
9 `& j! ?9 j) Z. a. g- L 50     do {                           \' H7 G, ^3 G* J
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* o/ S9 J2 q# F9 N* p4 w6 ?- v 52     } while (0)
! `2 a9 K0 c; _6 ^3 K9 k: d 53
8 D* c8 E% [: I: W1 E, K 54 #define LOG_DEBUG(format, ...)     \, t* ]1 q0 Z1 ?$ ]* T/ T
55     do {                           \
. H  T8 b) ?, q' c4 H( Y: ^$ m 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 X! E  L: O1 V8 P+ i' Q% E) I
57     } while (0)0 f& J0 H3 E; U; K/ L
58
: V+ M2 D3 }( M) r2 I 59 #define LOG_WARN(format, ...)      \
. E+ m7 O4 e8 e( s1 p 60     do {                           \0 {' b+ W- `; a
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! N% x, S) w% e' H* B
62     } while (0); U7 \" J/ p" a- X8 f
63 8 z9 H6 E, }+ O, `2 y- A
64 #define LOG_TRACE(format, ...)     \
7 x( t& {# }7 x" J* S1 s! h2 ^ 65     do {                           \# r0 D1 {- t$ q$ _
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
  q% h* i. V; M1 ? 67     } while (0)
! D3 _" K7 ]+ {  j9 w' A4 S; E 68   v- L8 v+ e5 E( Z+ I2 v- M
69 #define LOG_FATAL(format, ...)     \1 M( Y" g4 T7 z2 i- p2 K
70     do {                           \
" R( D  i: b& ]3 O- z* ^$ G 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" R# T9 f% p" Y8 {% t: m" K 72         exit(1);                   \
$ g5 s" n8 P9 Y 73     } while (0)
: J. ?* g$ x( r( Y7 i 74
2 E$ v0 W- E- @# c, v) F 75 /* Assert */% O3 D7 ]+ r6 u# y# w( }, C
76 #define ASSERT(EXP)                \1 W! [" @2 L! B1 C: _% o5 J
77     do{                            \
$ g! o9 x7 `/ v2 q  z# R  O% [ 78         if (!(EXP)) {              \
0 X5 h5 D; c9 d9 l4 e 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
1 m  P( O8 n4 m/ U% _ 80             exit(1);               \" ~$ U& T) [$ e6 y; w
81         }                          \
8 f8 X! z1 ?  f. P+ A7 g4 G! M 82     } while(0)
+ M7 W# C8 [1 M 83
$ `# B* S2 M. c 84 #endif2 v2 p. E  ~1 I8 N. I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏1 y; m2 J- d7 _
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03% ]4 J$ T6 ]0 c0 M. q4 w
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ N" Y: h# }. i5 t你好,是arm这一端的app7 U( A; I2 J( ^$ \: m3 M5 z/ s2 T  L$ r
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

4 \4 b0 l( n) P# ]; Z* P0 f你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路: w4 N- N. S( @: h0 W1 n9 d6 V$ b
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1& \1 @! I1 `1 Q/ K6 [% c
dsp 端的 log 才使用了 uart1
: K+ M! x: f# g4 z所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
) G( {" a; Z8 R* w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
1 i9 Z6 V( w' \% M4 c/ `" harm 端的 log 并没有用到 uart1
9 \4 m# u7 e: q2 cdsp 端的 log 才使用了 uart1% k5 X/ E5 u) }& K! ^+ o! V
所以,你需要也只需要修改的是 dsp 子工程的  ...

" g- \9 B3 L+ [, W5 k' K- E那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,8 T4 l- W' l9 [+ \1 K" `: W8 N
然后将#define OUTPUT_TO_UART1 1 换成
+ v! U8 ~8 _; _9 \% W. D9 ~#define OUTPUT_TO_UART1 0
* b2 w2 a* a1 x0 ^- s  是不是这样$ g% ~3 s/ |& `% ?! b) T
) n& M3 z/ g% E. s% ^( l
' e, B- y7 I3 S0 R
0 O2 A) {. C6 I! A( Z  ]  a1 q/ B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
  C* J3 P  f* ~/ R1 \$ M0 Q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 16:09 , Processed in 0.042973 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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