请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

% R& f7 h3 t: ~; X
( z0 @" y2 C8 Z$ [谢谢% v' O6 F2 A) {) W1 e0 N

6 k  D! ^, `( B' s$ {, X
. R% I; v. h* w. g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
2 J( Z% {  `1 e0 g1 s( {; E* \  2 #define _LOG_H_" x4 i3 o- x& c. S; M; m3 R3 [- I
  3
9 Y5 }  U& s& ]: Z  4 /* 0: printf; 1: UART1 */
+ J9 z) d' p3 h2 a$ L  5 #define OUTPUT_TO_UART1 1
- \$ X9 _) U' [% v' A
  6
9 ]$ k: Y" Q& S) g3 T$ C  7 /* Switch Log Output */
7 c1 \4 S' t6 f' y5 {" o  8 #if OUTPUT_TO_UART1
9 i: D% i8 W5 D3 G: Z$ _* E3 }6 t  9     /* For UART1 Initial */* C( u% {" Q- ~  X! R' S
10     #include <stdlib.h>
  y* d7 d+ }3 S 11     #include "hw_types.h"  ( A. I. O/ X1 A
12     #include "hw_syscfg0_C6748.h"
9 F5 Q" j$ T& q3 }6 s0 b 13     #include "soc_C6748.h"
* w# a2 p4 w# L9 @7 h, l 14     #include "psc.h"               
  ^' i$ p0 Z4 V/ Z: z2 ? 15     #include "gpio.h"               / F' j/ k; z6 E# ~
16     #include "uart.h"$ y: b7 v. Y) v4 T- x
17     #include "uartStdio.h"
2 S0 p1 j9 L& A. p4 ? 18 9 d+ J# _1 y8 O1 ~
19     #define OUTPUT UARTprintf3 j+ `4 X& D& Y: e* X' H
20 #else: y6 G7 _. }. P$ M
21     #include <stdio.h>
! h* j1 E% t+ _# [: Y 22     #include <stdbool.h>
1 I$ ~8 r3 [  l3 q3 y# w. t, F- w 23 1 U8 \1 Q8 H# @- h* o
24     #define OUTPUT printf1 l! Q8 R: T: F5 d4 q/ q. Z# t
25 #endif% I% x2 d1 E# d% H% h& B
26 2 ]3 X3 h' o. w' k# y4 S
27 /* Log init */1 s: S- ^6 Y0 G/ L8 b
28 #if OUTPUT_TO_UART1
; c  o- N4 h+ j* k( @4 ~) n 29     #define LOG_INIT() do {                                     \  Y, o6 T/ Y3 o2 m
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
# z& r8 _6 p% p# X! R( \: v 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
/ C; Q" n% L( Z: Q0 C2 Z 32                          PSC_MDCTL_NEXT_ENABLE);                \
& g7 {# H7 q' Q) n9 G* ? 33         GPIOBank6Pin12PinMuxSetup();                            \
+ y! M4 d8 q9 _0 [0 p 34         GPIOBank6Pin13PinMuxSetup();                            \4 k2 f: \" E1 m
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
7 R4 ]% s( u* Q# E7 F# i( w 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
  P" A  r) ], r6 T8 }# P 37         UARTStdioInit();                                        \
* }* u3 }1 k4 P, ?6 e 38     } while (0)2 i% ]- M  B% `6 y+ F# G, y( A. M
39 #else
+ T$ L- K# P9 I# r0 E7 s, [ 40     #define LOG_INIT() do { } while (0)
- L1 ^3 z6 X$ w' F2 u 41 #endif- k& L+ _% V  L6 ^! s* E, r7 l
42 7 C7 u! P4 m# @6 h9 ?
43 /* Log Output */
) U$ |& j. Y: [. h 44 #define LOG_INFO(format, ...)      \- X5 \/ U6 }( @- W
45     do {                           \" V. y5 o$ d6 X9 R! u- f8 M/ U. m/ o
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: t, L2 K: d$ r, I! t1 o 47     } while (0)- R5 g8 Z- T7 Z3 L# V
48 : M. `5 q9 v! C1 ]
49 #define LOG_ERROR(format, ...)     \+ e6 ^) q7 [3 [# v
50     do {                           \7 E8 X/ {% y4 }
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 N: Q1 T% X' b% u: Q/ A 52     } while (0)$ J+ P- U$ w: @
53
5 D7 s1 U% G- Z 54 #define LOG_DEBUG(format, ...)     \
% b: K6 x( O3 D' _) w' y' [; r 55     do {                           \
- r0 ?9 R9 v( B/ r* F8 a& [- d7 o+ ` 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( B$ q$ i& ~1 ?) E1 m
57     } while (0)
) x' B) }7 Y2 [- i# ?/ g$ U 58
' {0 C8 M3 \: F' b4 l: _ 59 #define LOG_WARN(format, ...)      \
+ S9 U: u+ K; J 60     do {                           \
! H- F- j+ C3 @9 Q7 w, {; ^" K' K# I9 ? 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \3 ~% |+ |; \2 O- N
62     } while (0)! o6 `  C7 f) ?' p: w1 }
63
( @  \5 @, E1 X/ s& E 64 #define LOG_TRACE(format, ...)     \& p( @! X. U7 M8 s3 D% o/ r  x
65     do {                           \9 q0 K% U) f. @: u3 K& B( W* B
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' Z3 {) C9 x5 j! G! a
67     } while (0)
+ l$ \, h1 Z$ f* Y8 s5 F1 Q 68 + Z, F# }9 U- V
69 #define LOG_FATAL(format, ...)     \
4 I4 g% l- N6 H 70     do {                           \
1 ~. v4 Q* W" A4 o& T 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* p& M: V& u: y4 O' X 72         exit(1);                   \
& c3 [6 B3 b4 W 73     } while (0)
' ~6 @2 M" e# ~: }3 h& ]: ~+ E 74
! W" `  p) ], P) `7 h 75 /* Assert */
- p0 O- Q3 g2 n( |9 X9 N 76 #define ASSERT(EXP)                \
" ~- s& ?  X$ z5 q: K* G8 `3 P1 y 77     do{                            \) z/ y2 o9 a! B) Q
78         if (!(EXP)) {              \: H/ u$ w& |1 R* }  c1 B
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
8 ~& n4 \" D" x( } 80             exit(1);               \# o0 [4 Y! z6 o4 n$ l2 i4 d
81         }                          \
( }' W4 E( E' L9 M" G; \, A8 ~ 82     } while(0)3 C7 V, Q) R: B) z( U% P& R1 ?
83 ) [7 p1 a1 c9 S9 r% b
84 #endif
7 {% _) B" u# e9 w, V/ F
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏$ V+ H. U1 ~" m& k# c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 Z* q5 F) U, q9 y, T修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 A5 R8 \. X: Q8 c: m) ~+ Y' D8 j你好,是arm这一端的app
3 N" I3 H) S% q9 {1 k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03& C+ }+ L+ q6 B: O* _: j8 o6 p, o
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

5 U/ u! {% s8 a0 q0 E* L8 K) B你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路. ]' l* d) n1 @
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1( X! X! d- V+ A: }
dsp 端的 log 才使用了 uart1
, I0 w8 i$ S3 J! s所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)4 x" Z. S" _7 f/ T5 G% G" y8 b) Y
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59; E  }- [- Z2 k) z! A
arm 端的 log 并没有用到 uart1
5 ?! O) q( e- M2 q6 o3 z5 ddsp 端的 log 才使用了 uart1) x* d% X+ g) @0 D. w1 n* [
所以,你需要也只需要修改的是 dsp 子工程的  ...

4 W9 s$ v$ V4 W% ?3 ~9 ?那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
2 j6 B. D& g) J然后将#define OUTPUT_TO_UART1 1 换成
5 Y' d) P" R1 b( u# J5 F( @#define OUTPUT_TO_UART1 0- V8 Z* B8 A0 r1 @  c3 B; f
  是不是这样  t7 }4 ]/ J3 E1 ^5 z* K# M
' Q) D8 V. [) h* t8 x
( `& X$ E! H  J0 {" P

+ [; J, A' u3 \1 o$ W8 ]) |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

2 D5 a: K1 n; U; X
回复

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-31 18:35 , Processed in 0.041190 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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