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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
2 s+ m. d! Z# y/ `7 V& x/ s
/ j2 j4 _6 F, }7 S
3 e5 ?6 I: ~: |谢谢: E0 g+ W: j" x8 \+ T' S3 l! B

/ n( A, }( O9 i: f% z9 I. n9 e8 G9 ~1 T5 w5 i2 J' ~2 S9 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_! J8 P" y7 j. ?" S7 l
  2 #define _LOG_H_
/ o1 g- Y9 f  l+ [  3   ?& R  F( w$ U# p  c* {4 ]
  4 /* 0: printf; 1: UART1 */
& D( O1 l% X6 d/ G& Y: l  5 #define OUTPUT_TO_UART1 1
% J- O* l3 t% N
  6 0 i) ^/ q( \2 z/ X
  7 /* Switch Log Output */
6 Q1 g) `) {& g/ W  q) N0 [3 I1 M  8 #if OUTPUT_TO_UART1+ V" t: ?# C2 t% T( ?( \
  9     /* For UART1 Initial */9 e. @5 i+ }+ y3 p" k% q
10     #include <stdlib.h>. G+ U4 J, k3 @0 K, a7 m: B/ Y
11     #include "hw_types.h"  % \: w& N) ?) [. r- V
12     #include "hw_syscfg0_C6748.h"
' `" k0 J  I8 ~* M7 ?, X 13     #include "soc_C6748.h"
) R( y: C- b2 t( _ 14     #include "psc.h"               
$ E8 o4 ~% c, x 15     #include "gpio.h"               
9 e% j) d: L4 G" f! s/ B 16     #include "uart.h"
, h( L/ n/ H/ j, ^  j 17     #include "uartStdio.h"
2 _$ V# P+ K' c# ]& D: M 18 $ m% E" E6 B; d9 g
19     #define OUTPUT UARTprintf1 G. o& O" v. |' e, ?( J& W1 s$ m
20 #else
2 q0 O" G5 h3 E. R 21     #include <stdio.h>* A" Z" R& L" g5 n* H2 a
22     #include <stdbool.h>9 i; O& z4 [# S6 @6 a4 \& q1 \
23 0 w+ b7 v# p* H6 G( ?- p1 H
24     #define OUTPUT printf
' v6 C: Q3 t( K' ?, ^' f. C/ x' E 25 #endif
( ]/ v2 O2 }& H3 z) M 26
& ^( g) Z$ q" v) J: H3 F 27 /* Log init */7 c7 C& q5 Q( Z( G
28 #if OUTPUT_TO_UART1" ^7 M; `6 L: P' O& o* y
29     #define LOG_INIT() do {                                     \; x2 e/ g, E6 A$ D: e+ N4 i
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \! g3 S  I: D7 d) K
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \& T5 i& i% g  y8 T3 E; x5 z
32                          PSC_MDCTL_NEXT_ENABLE);                \
( l& ?+ b4 o; ~; S9 d; j7 R0 w 33         GPIOBank6Pin12PinMuxSetup();                            \1 |" m- ]+ t1 ^9 G) ?7 `
34         GPIOBank6Pin13PinMuxSetup();                            \+ w8 G2 d4 A# V0 \2 m" @
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \% a0 `6 K7 L" d( a
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
7 N: i" Z) x1 [1 ? 37         UARTStdioInit();                                        \
' `/ z$ v: C7 r; M- T; O# j, [' O8 S 38     } while (0)
/ e9 z" y% A0 e3 G5 r8 d* Z6 Q 39 #else
( s; j1 v4 n, K7 b7 V3 e  ~! I- @2 f 40     #define LOG_INIT() do { } while (0)
8 {2 |. M1 e. z" ` 41 #endif
; J. X' Y( @8 y% V8 P8 S* M6 J 42 # J9 q) `/ ^& }& C$ [4 ~
43 /* Log Output */
8 ^9 P4 a! T; d7 e4 B. w1 ] 44 #define LOG_INFO(format, ...)      \
8 F8 R  j# \7 E4 P7 ^ 45     do {                           \6 J: B& m2 |: F5 L8 y% u
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: L% x7 _) Q* O: Z$ A$ o
47     } while (0)- @: K. @! O8 i$ w# ^& E5 V( p
48 9 J8 n" [0 _; m7 i8 y* I
49 #define LOG_ERROR(format, ...)     \
* v& G$ J( n0 d: L- L/ z0 [, N 50     do {                           \# X& ]: _; E# p- U% k$ G+ E
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- S0 l: {- t" [" s  s5 z; F 52     } while (0)
2 J6 e& Z6 h1 [  O 53 . A0 f: O5 |# Z, H( g
54 #define LOG_DEBUG(format, ...)     \
, z8 Y: C. a& f9 }2 d. f 55     do {                           \) D) D# I1 s5 E6 Y. O  |* t
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: D7 [( H2 Y+ V! k& b- r5 d
57     } while (0)0 J# m" i2 K3 R: E
58
$ q$ i  H! `8 u0 A 59 #define LOG_WARN(format, ...)      \4 g. E) @4 |; n$ p9 ]
60     do {                           \) t- t9 @- B) o
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
0 l- S3 `- Y9 G3 t 62     } while (0)
7 l- }+ T$ a% H) I& y 63
' W0 E( R$ a! P% g: m 64 #define LOG_TRACE(format, ...)     \
; e/ U- u( H/ }9 ?5 [ 65     do {                           \
% K7 m' A) p, S% ^' P 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# q, M. K" `0 q0 l
67     } while (0): E% x$ a0 n9 d2 ]
68 % |& e( m) o2 y
69 #define LOG_FATAL(format, ...)     \
+ `, E- E: n& f  H: s! c6 z 70     do {                           \+ P2 e0 c( q7 U4 B3 L! @
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 N: `& h- b$ M
72         exit(1);                   \! ~) w7 R) \1 s3 Z( M+ D- A
73     } while (0)% [% S* Q0 B/ z% e
74 $ A  u! ~! E6 e  Z% m/ m" ^
75 /* Assert */
  ^0 P) ^0 T# F/ D, x 76 #define ASSERT(EXP)                \
" _- x4 P1 R( J- \ 77     do{                            \
1 S+ N9 H: v5 c' c( L2 u2 H% M 78         if (!(EXP)) {              \6 E9 {9 b4 I, k# k& ^" T
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
8 b/ e$ {7 J0 B$ p7 _; T: l 80             exit(1);               \6 v8 y/ X  r5 r6 [  F) I/ y; w9 e
81         }                          \
- r% \" K5 K0 k+ N3 Q- R! ^9 @& r& A( `- | 82     } while(0)
) A: @6 h- G  r0 i6 b 83
' D- J) b  W3 o) K% P6 P* z1 @9 z" M 84 #endif2 d" C9 }/ S0 m2 i! o+ y" \
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; Q" y! e' _* i# F
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
8 H( M6 h- f  H修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ j: x: I: w* k% B
你好,是arm这一端的app
/ h2 }3 D# l" w( _: q! n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 X' z3 [* E5 q修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

# z# o' ]! r4 x5 o9 \" V6 Q2 k7 \& z你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
9 }) R" F: _4 h8 r$ F; d4 r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
1 |. p3 w. J+ f$ |! a. vdsp 端的 log 才使用了 uart1* E4 [0 g6 o( O1 O( L" {  A
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)- A0 |  @- C8 F  O+ K
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
! O8 G" W1 x, m* larm 端的 log 并没有用到 uart1
8 [8 f; Z6 h+ B) ddsp 端的 log 才使用了 uart1
; n, D% |  |1 U) s: U& i" O所以,你需要也只需要修改的是 dsp 子工程的  ...

7 E3 X! |1 o  `那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧," j/ _! d9 ^) k2 v
然后将#define OUTPUT_TO_UART1 1 换成/ L* B( u$ n& k0 `1 I0 {
#define OUTPUT_TO_UART1 0
8 R9 |1 [4 G- E/ W- j  是不是这样5 }9 k' q8 M( t+ L% K. m1 E0 s
0 c- V1 A; L2 Z' X: b1 Q
% J7 v+ B0 W8 S& O8 g
+ z9 D( [: i4 M/ W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

  c% A1 J  h: D) Q6 ]: f
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 09:33 , Processed in 0.044786 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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