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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢9 C' @. P9 `% n) q9 K8 Y
# y/ o. _( F; E7 Z5 S" i# n

+ |' l) z, t6 e8 ~! ~谢谢
1 Y. g( p* m$ E1 W. ?( X/ R4 a' b% ~, L
- Z# ?3 l( z: h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 k  d; [$ H! a) |% L
  2 #define _LOG_H_
# _- K0 t8 H5 V6 Y% q; P; o  3
0 V. R% u$ `/ A8 _; O6 c/ b  4 /* 0: printf; 1: UART1 */
& V1 I" ~' }! d" X. K  5 #define OUTPUT_TO_UART1 1
  r5 L( n$ S2 Q
  6 " K5 Z& v4 H+ \$ P. d( s
  7 /* Switch Log Output */
0 t9 L* j5 ^- N( [  8 #if OUTPUT_TO_UART1/ p0 {# n+ j) Q. r# Y
  9     /* For UART1 Initial */
" _1 `. n. b# Q1 f0 T* F* R 10     #include <stdlib.h>& u8 v1 L5 V  e. B) i0 x) F- I
11     #include "hw_types.h"  ' ?) Q& v( p- G, c
12     #include "hw_syscfg0_C6748.h"; x9 g4 H& x. R7 V( N5 O4 S5 g3 E5 u
13     #include "soc_C6748.h"
: R+ E. x. g7 C( E9 \! H 14     #include "psc.h"               
. x. J5 V# ~6 I- H5 o 15     #include "gpio.h"               
  I1 t- D6 c- u0 k. I- H5 d0 ] 16     #include "uart.h"7 ^* L; d, E9 j% R- d
17     #include "uartStdio.h"
8 q" ^" U! ]1 f0 e 18
! w$ `( s  q( y+ ~& m; h9 p 19     #define OUTPUT UARTprintf' K4 b( @( k8 o* w1 f% j
20 #else
# y2 p& Y  _6 V( e+ s( t% Q 21     #include <stdio.h>4 e, `, C1 x. p: e( y5 T
22     #include <stdbool.h>
/ Z1 ?( B  o0 @3 W, A7 l 23
# A2 X) m) ~% c4 w" Q 24     #define OUTPUT printf9 L2 q; |( A' V, W+ v
25 #endif) P$ @8 p- k* ~6 v9 E
26
9 Z2 @* S1 ^' B' L4 p2 o 27 /* Log init */
  m  [; W5 Z1 T/ } 28 #if OUTPUT_TO_UART11 |1 w# f, L) \+ s6 l' X
29     #define LOG_INIT() do {                                     \
3 U- L5 Y* w  X. X% ]5 \. V 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
2 q! j2 G7 L6 t) v& a8 D7 \. m! H  B 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
) m7 h5 q# _+ V: _ 32                          PSC_MDCTL_NEXT_ENABLE);                \
: {' t* s: w3 }4 i# e$ R 33         GPIOBank6Pin12PinMuxSetup();                            \! x# X9 _+ P: |1 f/ a
34         GPIOBank6Pin13PinMuxSetup();                            \
9 Q7 s4 z% w! s! \ 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
$ m9 H2 w/ C  J. b& C6 b% x 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
8 s. c5 y  ^& F) m6 O 37         UARTStdioInit();                                        \9 W2 _$ W2 {6 J+ n2 b
38     } while (0)$ O3 [# s& C; v+ f8 U& i
39 #else3 Y  W2 _6 f3 b0 Q4 f! i7 w. q
40     #define LOG_INIT() do { } while (0)
/ f2 G: W1 }8 q5 ^% i 41 #endif
! a0 t9 \% X( j( o 42 5 T) `1 m' z/ F, r. @2 a! f" J
43 /* Log Output */( k; y/ }" |" a! Z6 r0 O* b7 `  d
44 #define LOG_INFO(format, ...)      \
+ o# n% m, Z: S) R 45     do {                           \( F9 R' I) @: u: d- I" G
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) i& L5 a# W* o: m1 \
47     } while (0)& s, q  Q1 U8 P
48
6 J+ p' m8 l1 ?* j 49 #define LOG_ERROR(format, ...)     \
# r! V" P* g7 [4 H 50     do {                           \+ t% L$ k* \# M) B+ d# T- I" T7 u
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* X0 _% b3 ^. C5 k' \$ S
52     } while (0)
) Z! t6 i0 _; W1 ]# a 53 - ]9 X$ E1 A" T: E
54 #define LOG_DEBUG(format, ...)     \1 W! p( Y0 d' O+ ?! \0 j& P
55     do {                           \
% O# ]  e% q. c8 R" Q+ e 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 I& v2 J' N! N5 m
57     } while (0)( W  _1 i& j( j4 b0 ?1 j( _
58
: Y9 d, I* f& J( {3 k 59 #define LOG_WARN(format, ...)      \
- ?  c6 y! _2 j% Z# R- I" n 60     do {                           \
+ M7 [( f  j% K& {: @# A( M4 | 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( Q2 P4 T) i# s# Z( R; J
62     } while (0)4 N* Y' @& O" t' @+ K( ~# e% z
63 . j- j! R2 m6 e& ~$ v6 j
64 #define LOG_TRACE(format, ...)     \, _2 y/ z! {+ }" U
65     do {                           \
5 m; O1 G% `# k, ~+ ? 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" n- g/ `  g* s6 u: _% J1 @3 M% D 67     } while (0)
: u; X: W8 H7 d5 j$ j) N: a 68 1 Z, @1 k, m  ^6 J& m/ o
69 #define LOG_FATAL(format, ...)     \
5 {6 H/ P0 y: T 70     do {                           \
! ^6 _* k( S1 \, a 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: g) ?5 @& Y' ? 72         exit(1);                   \
) E' w- i4 ~+ B2 ^ 73     } while (0)
- s5 f" ^+ ?& d7 x" ~ 74 8 O3 {  t4 Y* ~/ d, f! W+ W5 @5 Z
75 /* Assert */
" {; s6 ?; @, @- [; L7 L4 l 76 #define ASSERT(EXP)                \
+ ^5 x5 G: W7 [6 n 77     do{                            \
6 R* e0 D: a! ]; m& d 78         if (!(EXP)) {              \5 w6 m: @+ r% ]
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \, X" z/ Z9 a$ d  n
80             exit(1);               \5 v# I& q( i! c, T$ \4 Z$ |
81         }                          \
+ @1 B' e: H7 z. e0 c 82     } while(0), i  R7 Q  r, ?0 f' Q+ v
83
8 ?3 O+ B) x; B 84 #endif
# {1 R5 V: p8 d# I
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏+ C. _- V. G" O! F1 a4 ~, @+ b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
; n6 o: u. y5 ?" \修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 f. ]" }2 N0 P, }3 c( y
你好,是arm这一端的app
; `$ A0 y$ X( t5 s
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03% `/ Z0 G4 y! t
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( E# F  a0 C$ z: y+ B
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路( M$ H9 ^$ \/ s4 f* ]7 _7 q. v4 K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1+ E2 |9 D% N9 c
dsp 端的 log 才使用了 uart1; Q7 ^) {" w0 u4 ]  u) b1 t
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
1 e0 ^6 M5 s0 [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
& n1 n7 }4 m- H$ ]$ Yarm 端的 log 并没有用到 uart1
' @0 ^6 ?7 t( h* Y# s/ g' K+ Jdsp 端的 log 才使用了 uart1
2 Q& O+ `8 N& K# I所以,你需要也只需要修改的是 dsp 子工程的  ...
/ b& t2 T' g5 J0 m& |; g  c
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,& K( \8 Q. [2 v; V
然后将#define OUTPUT_TO_UART1 1 换成2 Q" s0 p! i7 `. @- I
#define OUTPUT_TO_UART1 0
' j1 z" V$ p' A! w( S  是不是这样
& o4 Q; K. p3 |2 _  U1 [1 e$ s/ e/ T7 @' F2 o) A7 g
2 l5 ?8 Z! Q# X( g6 Q, J
0 q  V8 @  ]0 m( B: g& w' F" V4 Z
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
! E$ r2 U' R" G- A# v2 Q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 03:12 , Processed in 0.043148 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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