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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

7 \! A8 B) x/ v  N" g
9 C$ A) K) t/ V7 U" @" C谢谢6 H. ^; F% C& H6 ^1 ]
" l5 E7 l9 t) r( w! o* A' V, B
, P  N# C( C7 M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_' r' a/ R! s' P# n" E
  2 #define _LOG_H_
, X; V- p4 R7 z" X# ~2 ?  3 6 x5 O' a8 j( H$ M7 x; ^+ t
  4 /* 0: printf; 1: UART1 */
, T  Z/ I8 r3 H  G  5 #define OUTPUT_TO_UART1 1
" D* {! l- w6 L# }" @! X% _
  6
" @/ [5 L! Z' s5 G" N$ g, x) ?  7 /* Switch Log Output */
9 W3 i. B. r! `1 [  8 #if OUTPUT_TO_UART13 H& |0 `2 Q$ j+ V
  9     /* For UART1 Initial */7 [. Y# z3 f% p5 l
10     #include <stdlib.h>% _( [9 g4 |$ X+ A
11     #include "hw_types.h"  
  _% N! E5 Y) ]) ?  C' |0 m 12     #include "hw_syscfg0_C6748.h"
" c5 C1 B9 \2 z4 Y; y' m 13     #include "soc_C6748.h"/ G0 H) [' }( ?
14     #include "psc.h"               
: |) \1 ?1 S5 h$ C! s- m7 ^$ C 15     #include "gpio.h"               ) ]' U6 y8 s+ N
16     #include "uart.h"
4 ]5 ^8 Z: v) P/ c  @ 17     #include "uartStdio.h"
% ^4 M# G. Q3 j0 ?0 V 18
2 m2 ~$ j, j5 y) y' ?& ` 19     #define OUTPUT UARTprintf
- z2 a4 W, N% a 20 #else
5 O, A0 I; U8 f8 t4 c6 m9 B8 c% G 21     #include <stdio.h>4 K# h( @' T- c
22     #include <stdbool.h>
( B" i) E( z! G; e 23
0 |- L! j& P8 v6 ~5 d 24     #define OUTPUT printf3 r9 j8 j9 k, z3 _# I
25 #endif1 x# U6 c% L8 Z) G# F- i
26
+ [/ E: f* [2 X" M6 e$ O 27 /* Log init */
/ f' u1 ]/ Z& P8 k7 C 28 #if OUTPUT_TO_UART10 ~; J5 X4 k, k8 r- v
29     #define LOG_INIT() do {                                     \6 Z  E( w# v) F
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \' s. e- ], A0 p) w: d- F
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \8 v9 R& d4 Y  d, }3 x
32                          PSC_MDCTL_NEXT_ENABLE);                \: Q, I% o7 q( Q' I3 h1 b  `
33         GPIOBank6Pin12PinMuxSetup();                            \
' S" \- L9 g* }6 k- P" C9 K 34         GPIOBank6Pin13PinMuxSetup();                            \
( R& ~% n8 k7 W, u. n 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
' ~5 A8 m7 s! H 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \8 Z! B5 }  }+ x: t* C- x
37         UARTStdioInit();                                        \' j7 e; e* J9 Q/ U5 U$ F
38     } while (0)
4 s8 r$ [9 p# E6 q3 M. m/ ? 39 #else! K! X! `3 k. H
40     #define LOG_INIT() do { } while (0)
' h" e& q+ u' c0 v! N$ A4 v( Z' \ 41 #endif
' i, a  J7 `' p 42
1 P1 q- b' t$ F2 o( W% E$ t 43 /* Log Output */4 _9 S; C9 y! F- M
44 #define LOG_INFO(format, ...)      \, ?+ J7 A7 J+ o9 M  Y
45     do {                           \6 e, F1 Y* F3 F
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" A: a! ~. [- w. s8 V2 ~1 O$ j
47     } while (0)
) R* E& O3 w2 \3 C& z 48 - F6 S/ Y' k3 P. ^7 ?
49 #define LOG_ERROR(format, ...)     \, y, {6 D# ?1 r8 ~" n6 j0 P( h
50     do {                           \/ o6 U# P9 @: ]7 z0 H
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
3 c( t/ h- i# L! ~/ t; y7 K* ] 52     } while (0)+ V) y! U. a) G. s4 H7 P% c" u9 n
53
% e" a1 q0 w/ k2 ~0 v 54 #define LOG_DEBUG(format, ...)     \# S: K6 l9 |: \/ U0 k$ ?* Z# n/ _
55     do {                           \
( J4 D; _5 U/ z- q 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 P* r0 q; I+ q6 K& q! a: Z* X 57     } while (0)
7 r3 C; I, `0 f/ Y 58   ?5 _' e. m/ X' [
59 #define LOG_WARN(format, ...)      \
' s2 |5 O2 f/ s* J! ^! @( V 60     do {                           \* A6 L2 _% y* `) G* e
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 E! W0 S  f/ h" n2 @4 r
62     } while (0), m! e: U' e& E% A: `: G8 q
63
/ y5 D" \( O# v3 D+ w0 N" K 64 #define LOG_TRACE(format, ...)     \
. R6 g$ ~& S0 U# N( \$ u9 P' u" U 65     do {                           \) y6 {& A$ c3 D
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" r) N" t- m4 u! A" u% e
67     } while (0)' O8 K, t* ?( g- L# z
68
$ ]: H8 g0 U1 E4 q7 R 69 #define LOG_FATAL(format, ...)     \. j- D2 }0 z- U6 `6 v. }) p
70     do {                           \& o. O1 }  i6 ~3 O2 e3 p
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 F. s) l, B- Q# r; E9 x* w, i" A- Y 72         exit(1);                   \
% s0 |+ B* b6 J# q! K 73     } while (0)9 h3 z, ?% z1 W, M7 @) N
74
! ^. E6 r" @, k# q8 e 75 /* Assert */
- e4 Q* q2 }4 v8 d 76 #define ASSERT(EXP)                \4 U( R5 ]3 ^9 `! }
77     do{                            \# U2 Y/ D/ N/ c0 j/ U
78         if (!(EXP)) {              \3 I" L5 |7 K. b$ m  ]# r
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
! g5 e* n* \& h, I; ^0 s 80             exit(1);               \
6 n" T( F! N+ s& c 81         }                          \
* e* l* @* E1 @8 n1 C 82     } while(0)7 Z; N4 [+ a4 I7 b$ _% x$ F* \
83
+ F# ~  U: m  v% e 84 #endif
& f# \5 i2 B% j. P0 J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
7 y! b6 E; l, ?+ }8 d+ v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03! O. {, w6 k* V. Y# n7 i( a
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

* |: K# e$ p7 [9 P+ s" j你好,是arm这一端的app
. |  [! }# y% S+ X- N) B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03* _, f& A- E' P2 V
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 |9 O$ O* N. Q1 [1 x
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路. n* b/ y) }4 }. h5 z6 p+ G! I; A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
! p$ l# m' M0 h& M8 y8 G' cdsp 端的 log 才使用了 uart1
+ ]6 p# J) D. m5 @& m' f, e" i所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)2 j+ g3 E! }3 _2 l2 `' u
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59+ W0 S' `' u# {% K
arm 端的 log 并没有用到 uart1- S/ f& ?1 Q9 h- D' e
dsp 端的 log 才使用了 uart1
, m; [6 p, \; B) f# X) y所以,你需要也只需要修改的是 dsp 子工程的  ...

4 w2 C% p3 \$ G7 G: g, x1 S# f( B那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,% a0 j5 a1 O2 q: j# E
然后将#define OUTPUT_TO_UART1 1 换成
) j( W2 h( _2 p5 F8 X#define OUTPUT_TO_UART1 0' Y5 P  K! B) Z
  是不是这样
6 I+ Y7 h: X& E4 M4 Y; k" I+ W

3 c' S5 s, T, B: ]/ S1 b3 O! a$ U9 P7 z9 w* E( F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
& }: Z* e3 {  M+ |7 ?% U: @  J* Z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 11:40 , Processed in 0.040474 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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