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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢" l4 \! ~9 `: _8 o* b0 k; x

. b: D, W6 N9 A$ y+ N) x& ~. M0 q8 ~5 ^* D- [, o
谢谢6 M+ P5 u# K* O( q

6 P: n* O7 ^+ b" s' |* R% k* l% I2 Q0 E: F1 D9 P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_3 ~4 F1 a5 P/ j' \3 a5 j% e5 t* G
  2 #define _LOG_H_
3 t0 {" v& F& `: ^  3
( k0 z) I4 `8 a7 ^( k, u  4 /* 0: printf; 1: UART1 */$ `5 ^0 r; f2 M
  5 #define OUTPUT_TO_UART1 12 t2 o; [* X8 h/ G0 M1 t7 G
  6
! P& }1 c  c: W: }  7 /* Switch Log Output */
" X5 L: B; J- b) T& b  8 #if OUTPUT_TO_UART17 |% H4 a! q- D5 C  Y
  9     /* For UART1 Initial */
  q$ i/ K0 B) t9 B 10     #include <stdlib.h>
5 ]' m% Q- o$ `' L4 T8 { 11     #include "hw_types.h"  ( t  a+ M  a# B
12     #include "hw_syscfg0_C6748.h"8 _1 j2 b/ B$ i
13     #include "soc_C6748.h"
1 c- \' R8 ]  L" V* Q 14     #include "psc.h"               + i$ I  o$ u" W8 l% e7 N
15     #include "gpio.h"               8 l+ |. [& d( O3 R5 C! o1 d3 [* n
16     #include "uart.h"
# Z& X2 o5 ^6 @' |" L$ _* ? 17     #include "uartStdio.h"
5 p; ]* J- [# r1 O: X! ` 18
3 v. F* d# H  F/ h3 G: J 19     #define OUTPUT UARTprintf
2 w' o) a# u# ]$ K  F& b 20 #else% c! b$ _5 ~5 m# ?: o  r+ J
21     #include <stdio.h>" R) n- g* ?2 w! X( F; a
22     #include <stdbool.h>
4 t7 {2 O9 w1 ~; A% Z4 j 23 * D$ V* L+ D, p" I1 G6 e  y
24     #define OUTPUT printf
% q3 y: `' L% U! U( K 25 #endif/ X* g% Z7 ?$ ^- J
26
; `1 t2 y" f: Y5 \# S" g' l8 K& n, n 27 /* Log init */+ Q8 p4 g2 y& ^9 n9 g
28 #if OUTPUT_TO_UART1  v2 S8 b; B( z7 ~8 o" H7 P) B7 i
29     #define LOG_INIT() do {                                     \" S0 X" S6 c" V4 N$ R' H
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
3 _0 C$ J) }5 z$ L# W( k 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
+ r0 ?( m" B* X 32                          PSC_MDCTL_NEXT_ENABLE);                \
' B8 _% g! P4 x6 g 33         GPIOBank6Pin12PinMuxSetup();                            \
0 ?) ]/ t; r9 e, U  ?5 r8 d 34         GPIOBank6Pin13PinMuxSetup();                            \
$ e6 B/ V, j! M 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
. K! J) v9 i. w$ j/ z. r. N; G; T7 D 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \5 E7 V9 [, {" r, D* d% n1 S. X$ j4 f
37         UARTStdioInit();                                        \
- O6 h9 @7 c) w. l0 n 38     } while (0)& U& @* R  J4 k; [( `
39 #else
7 i$ E6 ~4 S: L7 a8 v/ b8 } 40     #define LOG_INIT() do { } while (0)
! w+ \- s' h, V$ s0 a3 |2 c9 J3 a 41 #endif& a# b; S" g. Y: ^, Q5 x: w" K+ ?
42
  D, O0 ]. x9 w) t% C3 k- w 43 /* Log Output */% O6 g# M2 y1 e# A) [7 U
44 #define LOG_INFO(format, ...)      \
. b! N" \  `5 V6 O' z) H 45     do {                           \
  @* n8 P: D8 [ 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& R* H' g9 @" b6 C- T; } 47     } while (0)
  G. p6 A) v/ k, S! g 48 0 M# D7 N" x( O2 {9 ?
49 #define LOG_ERROR(format, ...)     \( G2 M/ E3 K/ ^. Z6 _
50     do {                           \& P/ j; I; N! g$ ]! y$ R
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! e* P2 K1 e! |! b) \3 j 52     } while (0)+ H- j) c6 c0 a
53
8 v* Z) n6 r; Y, X 54 #define LOG_DEBUG(format, ...)     \* h+ I4 U5 ?4 \. V" d5 Y! @
55     do {                           \8 h9 ~- K, W8 U3 a9 w
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. |2 q6 Z3 i4 B2 v) `+ N 57     } while (0)
* V5 a! z1 ?& g" k 58 7 N* A8 P8 W7 S5 }  e+ [7 ?3 j
59 #define LOG_WARN(format, ...)      \5 q! e+ ~1 @2 H9 x
60     do {                           \
& k( B$ E" a2 ~% o7 ~* d 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) W# r' N( F5 H& X7 K 62     } while (0)
+ y- d' j" d  X/ u  T 63 9 v  H; t, M7 V7 O% P+ c# U
64 #define LOG_TRACE(format, ...)     \/ B6 }+ X# L& p. o9 ~
65     do {                           \
2 F% A' L' w$ G0 y 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) k, r; S! a. `/ b" J- [( u$ e 67     } while (0)
% O+ a9 J& a$ S1 S 68 ( W  r  t3 D% M3 v  S
69 #define LOG_FATAL(format, ...)     \
1 E5 ^8 f4 {  B! Q 70     do {                           \$ j) x7 b9 m# t1 X2 x
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) P1 u' t* _) v$ p- X 72         exit(1);                   \1 z* S; k2 B  ^2 A7 \
73     } while (0)
4 t6 @) I; j+ l 74 ( r4 K$ S4 A& g" D( z) k
75 /* Assert */
! z( z& S; y" f* L3 W 76 #define ASSERT(EXP)                \( q# F3 [$ \4 I3 l5 B) M
77     do{                            \
3 q4 [- E  [: `/ k& |/ I 78         if (!(EXP)) {              \
+ f; I1 m( W& U6 ^1 j 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \6 y1 ~" i6 g3 K
80             exit(1);               \
. \0 ?% I4 R2 J! n  v/ H2 K* \ 81         }                          \
' ~2 N/ V& H; F$ O2 ~  y8 g 82     } while(0)( x( S9 K4 C( y8 d; j6 V$ P
83
% u, V+ t5 P! C0 p 84 #endif6 P& O% a7 T( S8 V, ]) H* Y
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏) r. r: l9 r3 \# _" f9 B9 D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03/ @# K4 l$ O" w  H2 [! B& ^5 C
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 Y7 x' t6 x$ o" ?
你好,是arm这一端的app
8 m4 v  {% f7 o# K; G. n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
2 L6 M' ^4 k0 s  [, s7 r: F9 N" O修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' G' R0 [4 ^; k' U6 K9 Q6 [你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路1 x* W# _, F6 H  q! v) j9 _" S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1# q% L, `) D- W: `8 K: T
dsp 端的 log 才使用了 uart1% |% e0 }% q  s" D9 a1 c' |
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
) s7 v: b1 s: C- b# [  Z" x5 W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59  U1 |# c  t# f& r8 ?5 u3 ?; K+ |% W
arm 端的 log 并没有用到 uart1" z+ ?% s5 u. o" ~/ l: n9 f- S
dsp 端的 log 才使用了 uart15 K* V' k# j2 c& P2 F/ \* F$ I
所以,你需要也只需要修改的是 dsp 子工程的  ...
5 }3 l: A3 _1 n
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,0 M0 y' j4 `0 M0 a4 f/ u
然后将#define OUTPUT_TO_UART1 1 换成+ o3 t/ R+ ]" O( k1 l
#define OUTPUT_TO_UART1 0( N" w9 K8 }+ L; a9 z8 r
  是不是这样
% m* e: A8 z+ {6 _. T5 E2 D5 V
& `. k5 j) b1 B* w. m
! U4 K0 a; n2 o2 b% X- {
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ ?1 P5 Q: D; B4 P0 s+ r/ g! D1 y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 04:25 , Processed in 0.040376 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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