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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢9 q! R" @% ?, e: Q6 Q0 [6 A1 U

# N6 ^" \$ K: C# E  u! S
5 w2 h  r/ `4 b谢谢
! P4 b; C; B6 e1 d0 N" }+ S0 j) h1 I& B

" `) _8 x4 w% b5 c8 O6 a: Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_. w" E/ B0 i" H8 @6 d! s9 C& \5 s' _
  2 #define _LOG_H_# S1 |, k6 K" ?7 g% S0 b2 z
  3 - ~& P" \: O/ U- V! S; k9 `/ g
  4 /* 0: printf; 1: UART1 */0 F: l/ O2 M3 X% D) Y/ q
  5 #define OUTPUT_TO_UART1 1+ m% i. G5 \& @
  6
5 L5 c$ Y: W( L" g6 \! m" T  7 /* Switch Log Output */5 @# \1 B$ G2 c
  8 #if OUTPUT_TO_UART1/ Q9 w: [: _" i8 {  P' z
  9     /* For UART1 Initial */
  S1 [, c, V  H1 M, Q 10     #include <stdlib.h>
5 x2 w. ]. ?, _7 L- C 11     #include "hw_types.h"  
# ?" T) l5 y: w 12     #include "hw_syscfg0_C6748.h"+ {+ f+ g) e  I$ i; W, Q
13     #include "soc_C6748.h"5 M' y3 q/ z) u: K% z8 m
14     #include "psc.h"               
' D% Z% A8 [; K1 x9 {# U% \ 15     #include "gpio.h"               , c% }) T/ ^& z* J& }. V
16     #include "uart.h"
: x2 Q2 n% c2 P+ v 17     #include "uartStdio.h"+ w0 L3 q) N3 Z" m3 v
18 + M) F% g- T. `. ]- U* J
19     #define OUTPUT UARTprintf
/ k  H) j/ p' q7 s! i! g. j- v 20 #else
5 {+ a% Y: F8 q. C% a; J' S 21     #include <stdio.h>! C7 H' F# p2 r
22     #include <stdbool.h>
, ~/ I4 H2 C; I" [% o8 v 23
# c) f* G  }4 D5 ^- H 24     #define OUTPUT printf
" {( o2 z+ M: V: D) A1 E* e 25 #endif: H4 x1 [- x/ Z- c) x; Z' w
26
* ^5 n2 n; ]% R 27 /* Log init */4 H  R0 h6 K1 G& U0 D
28 #if OUTPUT_TO_UART1
, f7 r$ |& y+ t# S( o* h0 \ 29     #define LOG_INIT() do {                                     \
; a4 B" t6 @' ]& D2 V3 o 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
. B& w) |- I& e  U: ]" o1 W 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \6 o1 _' {6 a# R5 p3 n+ t7 K
32                          PSC_MDCTL_NEXT_ENABLE);                \' x% s. S) q4 o, \1 c% a
33         GPIOBank6Pin12PinMuxSetup();                            \
0 M+ L. s3 F7 d5 i9 K+ G7 i3 I' O 34         GPIOBank6Pin13PinMuxSetup();                            \
1 N# ~1 |. T$ F 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
# C. c  z; _: @ 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
/ q' c7 y" G7 l' e% f& m  ^+ ?4 g 37         UARTStdioInit();                                        \; m2 C. M2 R( ^4 p4 g9 h
38     } while (0)6 F0 L6 I9 A, F
39 #else9 ~; b" {0 s7 D2 V  o7 r
40     #define LOG_INIT() do { } while (0)3 U" @4 Q  E) D$ ]( W0 P
41 #endif
( [  D& I" [6 h  D+ Y' f; i7 C 42
/ l5 X4 I( R& J 43 /* Log Output */
3 K! T; R3 d9 U( c8 m; ?, { 44 #define LOG_INFO(format, ...)      \4 {& k; }: A* G& a+ q
45     do {                           \, X& [" r" G1 o9 e
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: _3 }0 a/ r/ A% |9 n+ V2 r 47     } while (0)
& Z& O6 k' X7 L( i, K( ? 48 1 J' ]# K! {9 Y7 c" k; D+ J1 Z7 ^
49 #define LOG_ERROR(format, ...)     \
% Q4 Z. s! y4 M 50     do {                           \
5 Y' B) Q. r9 T4 x* L: B 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& ^. z9 k# p& \; Z% l
52     } while (0). q# H, F# C2 L2 l
53
7 ^0 I, t: p7 B% u! }( ] 54 #define LOG_DEBUG(format, ...)     \/ A7 e4 X& b/ d# I5 v$ o0 x
55     do {                           \( F& c6 ~. O( M) [/ w
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \6 U% Y& C2 h2 |
57     } while (0)
7 f" n' P+ ^" O5 V' B% s 58
0 T7 l* F' i$ w% t+ A 59 #define LOG_WARN(format, ...)      \: O/ S9 X/ x; i6 K! c' E. p
60     do {                           \
6 S4 R. d9 m2 j* \$ \ 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- X5 v0 K2 X/ K; y0 G 62     } while (0)& A- A0 e2 g0 ?# ~- n9 ?4 r$ Q
63 1 n* z. F" S' S. ^1 b( j* j0 l$ @
64 #define LOG_TRACE(format, ...)     \
) u& A; U2 h( q3 ?9 P% @/ V 65     do {                           \
  Z) X) z& }9 X  b* y 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ R! x( z, {. H5 P1 V
67     } while (0)
9 d. h- z" C6 T9 m1 z 68 , x) j& x2 u  w2 _& e
69 #define LOG_FATAL(format, ...)     \3 o5 u" M: `5 o
70     do {                           \
1 b2 m& O7 q8 k& d2 ~ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. K) f% i8 d/ z9 S5 j% Y 72         exit(1);                   \
: R" R' M6 Q: A$ N8 O& o: W* P 73     } while (0)
8 Q6 D5 G: c  H) T 74 1 e- [" _) }+ X, {
75 /* Assert */1 a) K' u) ?- u9 {+ A% Y% P" o' `* t
76 #define ASSERT(EXP)                \7 ~' ]0 Q) u/ ^
77     do{                            \
) A% T6 w/ y3 b9 x. C" ?3 v: A1 } 78         if (!(EXP)) {              \
5 ?2 t  t7 ^6 ^; l 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
- k3 \' {+ D+ O" F  P! T 80             exit(1);               \" w9 Y$ g: d* \" Y- e. {
81         }                          \0 Y/ [2 p1 I! |6 x  `; K3 I+ D
82     } while(0)" C# K, V5 |; Q. i* V8 R1 S: \6 a" }
83
0 {" @  B/ W2 a: ~0 z 84 #endif! K" }' ]+ p3 x9 l$ m, ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
$ ?" C1 [9 r. v* o9 j; k: `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03- l8 V5 R: m. b0 Z1 }& d- u% ?
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' k( h" w2 Z" P& g; Q$ V+ R9 r
你好,是arm这一端的app
2 R/ K8 ^2 ~& S: g- T1 ~5 q# M
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
' j4 a7 Y& K7 S修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 }& E: Z' W3 N8 Y
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
: {! A/ u7 `. J0 w
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
9 d. T: k8 z8 s6 z9 I2 r( Edsp 端的 log 才使用了 uart17 }: h8 L5 W* D2 ~3 F! s& O
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
& X7 w! X; d2 q: f5 ~5 X/ Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
5 ^& k% A, a& ]# |2 Oarm 端的 log 并没有用到 uart1; X$ K- `+ n3 w" r% I% ]3 ~
dsp 端的 log 才使用了 uart1
. E% J4 P  E$ U所以,你需要也只需要修改的是 dsp 子工程的  ...

5 j$ g+ z, T2 n: b那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
4 p. X" D! }. ]1 d: {然后将#define OUTPUT_TO_UART1 1 换成& f4 L7 V. r7 G  L1 p8 G
#define OUTPUT_TO_UART1 0
! S1 k& C7 H& K5 G3 h  是不是这样
5 `9 [; ]/ M2 }
& H" x4 b* P% H; P$ c7 i3 m/ d" I7 r! z' T4 h$ x% n
$ P2 H' z2 u! r4 X( s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
' X7 R! h/ i' c) U& B  j
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 03:48 , Processed in 0.044572 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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