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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
3 s; ?8 l; t* l- X. J* z9 }" g0 l, a
' |6 I6 Q5 V, ?6 }
谢谢
! S2 O, X3 N5 b5 N; L$ A9 m2 N- }9 ^5 _, b! k* _
$ |) _% W, K( x/ e8 }4 C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_* Q! X. ?2 c8 `8 q; ~
  2 #define _LOG_H_
% q" \# ^+ c- B3 j6 \+ H* d6 X# |: Q  3 9 [3 w" h; ^$ E6 [8 i( g
  4 /* 0: printf; 1: UART1 */
, ^/ ^/ e" E6 V  5 #define OUTPUT_TO_UART1 1
, z! K2 ^. s6 p5 _  ~) f
  6
3 z; E: w  U1 a9 u4 g: y4 w  7 /* Switch Log Output */6 f$ h( k8 \  k" m! K
  8 #if OUTPUT_TO_UART1
0 W) X) |! [) _. y+ d4 V+ I7 @7 H  9     /* For UART1 Initial */
& p9 K+ m+ F8 s; Y+ R 10     #include <stdlib.h>
7 b. B9 J2 T8 Z6 G8 a. ^/ q 11     #include "hw_types.h"  
; {5 i: A( L. L; f3 |% h3 n 12     #include "hw_syscfg0_C6748.h"
% ?8 T! r# |9 Z6 d6 y# E. s$ } 13     #include "soc_C6748.h"
! {  a2 K* |( O1 ~; } 14     #include "psc.h"               
3 y3 a+ l/ U- |; C- B8 V  q 15     #include "gpio.h"               & L; D" R# @; W$ y( ]( U
16     #include "uart.h"
* @, c- d+ ]- p# \2 R1 @ 17     #include "uartStdio.h"
1 k  |$ ]' D0 L7 f 18 2 j; R( o8 z' m) n# B0 t
19     #define OUTPUT UARTprintf* g* Q4 Y5 L" V4 P
20 #else
) q5 k- N3 \% g' q 21     #include <stdio.h>4 Y# |- L! l* S3 c) D
22     #include <stdbool.h>
0 f/ M( E) ], F* Z3 U 23 % g- s' ?! m) U, R2 M$ U% i- v
24     #define OUTPUT printf
) E- [0 G# {8 |1 F$ n/ G6 S 25 #endif
" A4 p% u4 i# g; ?( d4 ~9 f+ } 26
; e: y# `% s( k9 m! z 27 /* Log init */
4 O5 q  d. H6 b7 A' { 28 #if OUTPUT_TO_UART1. w) }& `+ C: X/ ~1 I& R5 o% U! E7 E
29     #define LOG_INIT() do {                                     \7 \! V4 L5 b1 K' r; N! ?; N
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \& ]/ g2 l- O5 F3 Y3 ?1 M
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \7 }/ s# P: H1 E' \9 m
32                          PSC_MDCTL_NEXT_ENABLE);                \( w7 X  g# o' X! O
33         GPIOBank6Pin12PinMuxSetup();                            \; z& o" s4 f: ]  N( p* W1 C3 g) i+ ^
34         GPIOBank6Pin13PinMuxSetup();                            \
$ @, C; M8 u" n! h. R. k# g4 ~ 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
% E  Y( |; k8 }& O- B 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
) D5 A  p& t( ?2 } 37         UARTStdioInit();                                        \3 _5 j. ^/ g9 l) u& R, E! S# |  \3 [
38     } while (0)0 n  J0 c- e' c; T7 [" n) y
39 #else8 E% W/ m6 b. {' V. v: n2 N! ~, N
40     #define LOG_INIT() do { } while (0)5 u1 S6 f; K" Z3 c( N2 t: k- X
41 #endif
+ o  ~! z! {3 J* }& `3 \/ ^2 [ 42 3 S9 @: j  P0 t: ~( ]& p
43 /* Log Output */, e) H% w  K, P6 Z) R$ q  [6 s
44 #define LOG_INFO(format, ...)      \! {+ ?7 n2 M0 P9 Y
45     do {                           \! l* A! j/ f0 s/ h! R
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: |# c- D! M9 j" l% ~ 47     } while (0)
6 i9 q: c# H) I) o 48
( t7 ^* D+ M6 }8 s; i7 N 49 #define LOG_ERROR(format, ...)     \
9 B# i% W: ?" @/ ]2 ~9 { 50     do {                           \) z" J' [  Q0 Q, Z
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 ?" f; O! Q5 J1 j
52     } while (0)
& [+ q7 x0 @5 @$ D6 t9 u3 s 53
0 f' ]7 W% _' I' x8 C' b: k 54 #define LOG_DEBUG(format, ...)     \
) ~! k9 v+ Q6 l" b7 \! M 55     do {                           \; Y- _+ R3 a, Y) {( Q; H- n& `3 B3 l1 J
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# G" v' u1 A; Q7 Q9 |( ~ 57     } while (0): z. k" F& j5 q6 v! p4 O& y
58
/ y  d5 Y7 ^( Z 59 #define LOG_WARN(format, ...)      \- \' t" P2 [) r# |1 ^" G8 M
60     do {                           \6 V- w: \% Z# S+ C5 t. O; }, g# O
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ W  f! l6 p0 m- F% o2 G7 l 62     } while (0)
% O- k: W/ y/ b4 V9 d 63
0 i5 l& Q$ F* E/ P8 S 64 #define LOG_TRACE(format, ...)     \; x) B" M) E2 h1 ~/ u! Y" F
65     do {                           \
, ~3 `7 u( o7 m9 E) l# w$ O 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ g7 T! H" i6 m. _) x' B+ g2 A+ `
67     } while (0)7 W' h& ~" o$ u/ W* J
68
) @" L# Y* d3 F) q0 S 69 #define LOG_FATAL(format, ...)     \
6 ~5 E9 j+ P  ~# K" P# p 70     do {                           \
3 f/ z9 N+ [! `+ a# C# c' G" T* N 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 T* Q8 \  H/ X* [  g6 v
72         exit(1);                   \. m2 w7 {( T( R
73     } while (0)
$ q: D" Q9 r3 y: L0 t) g 74 3 u7 k, H8 L8 _
75 /* Assert */
; P8 S# b7 ^6 z3 r1 j3 a 76 #define ASSERT(EXP)                \
) K# T/ N$ ~4 S! `" x 77     do{                            \
0 k% B. T& V! f 78         if (!(EXP)) {              \' G6 ]1 ?6 v8 P3 v1 G( j  a
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
7 r4 [9 c: {, z) _* B4 b6 Y 80             exit(1);               \9 X/ {7 C5 S* t8 z) I: N1 z) j
81         }                          \
: n0 f  @& {6 v8 z 82     } while(0)
/ q! I5 T$ |/ Z 83
/ z8 j: K9 b$ l/ U2 m7 {1 @ 84 #endif
4 X8 @6 e; I4 [" ]! h
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏! I! }! r6 V" b; A# v$ h0 R; ?. E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
) P$ K4 k2 Q8 w修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

& t: Q/ l) n( J( O你好,是arm这一端的app" x+ E0 P0 N9 t5 X" G: Y. m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03( E6 O$ k! S! p% S4 M
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

: O) g3 g- t3 y3 ?你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路6 w. }$ z: }; J- Q0 i
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
$ U( ^7 I( R5 I% |- H5 q% ^dsp 端的 log 才使用了 uart1- ?2 h- y; j. w' U$ j0 a
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)$ g" D1 J! V5 z3 m- v9 k7 h4 s8 L
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
- w) V. X7 @. n  {4 X* ^9 Z6 `arm 端的 log 并没有用到 uart1# M, ?0 I& |% k; x
dsp 端的 log 才使用了 uart1
7 |2 ]. ~  B* p  v# y; f所以,你需要也只需要修改的是 dsp 子工程的  ...
' V1 j- w* O7 h1 ]5 B2 y( p
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧," Q8 @& K9 L+ l6 ?# c. [4 J
然后将#define OUTPUT_TO_UART1 1 换成* j: S0 T3 I$ @" \7 e, @
#define OUTPUT_TO_UART1 0
/ G! }2 R8 `9 }! q% `7 a/ v* ]  是不是这样
1 a2 e+ o/ m+ ]: c- g, p
, v( Z1 L  M1 O( F' \; P
! h" g  l4 n( H( j- _% O* k  C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

( H% V& e$ p; d* _) a1 M/ _- m3 G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 14:22 , Processed in 0.040414 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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