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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

: M, |' F% |" i& E* Y: `' b2 Y! y3 r6 n+ l8 y8 r  ^$ n$ ~
谢谢' F5 Z! B5 L6 H" B  L
- `: V# n% X, h
! l/ i" S) L. x' n* E2 _
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_3 E2 h, c2 a: L: }5 i4 N0 E( s
  2 #define _LOG_H_- P2 E& L" q2 l* q) X3 t
  3
! Z* i7 L9 b" G, a: \: F  4 /* 0: printf; 1: UART1 */9 }% X. l( D4 a
  5 #define OUTPUT_TO_UART1 1
" K7 m" {' m  y# K& B4 }' j, |
  6 ) S5 p% s$ ~# n1 K" P/ c
  7 /* Switch Log Output */
) E/ T8 y6 B- {# C! F8 V  8 #if OUTPUT_TO_UART1
# y% N9 p4 o, c. o8 z  9     /* For UART1 Initial */
  ^7 B4 f4 t$ X/ C' @ 10     #include <stdlib.h>9 X# B, Q& M) P  Y5 E; u; r
11     #include "hw_types.h"  
0 d* l- o8 H0 \' L 12     #include "hw_syscfg0_C6748.h"9 i/ [* ?, |: {# _4 n+ F7 H+ C
13     #include "soc_C6748.h"# M+ S9 d3 i& ~
14     #include "psc.h"               3 p, X; O5 c% e/ \. h  T
15     #include "gpio.h"               0 i0 {2 n: K! [: _- ^4 ^7 l# n$ z
16     #include "uart.h"
5 [- g5 Z( n) W0 T9 K4 u* u 17     #include "uartStdio.h"
' b" \0 u( F1 H9 k  F% _% I 18
' g3 Z0 X$ \0 K8 `3 o. Q, m6 f6 ^" H 19     #define OUTPUT UARTprintf; C; S" j+ ^$ u  A6 X3 u' j% U
20 #else
; ?4 Q6 r5 W. j/ Q) h0 e 21     #include <stdio.h>+ H: S. q+ ^+ s9 {
22     #include <stdbool.h>
5 Z# y2 P* z8 l& b 23 * W9 a3 A4 i) h* ~- L
24     #define OUTPUT printf
. X6 r4 h& f/ D6 C; B 25 #endif/ N4 X) d! R7 Y' Y* x$ U. ]
26
  U* }) Y5 y8 m# m# E3 h9 s 27 /* Log init */
: {; k+ Q3 B# C7 D2 l/ a 28 #if OUTPUT_TO_UART1' n- R+ t4 k  N# P0 f( K
29     #define LOG_INIT() do {                                     \
9 M: }/ |' z9 b- q4 y 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \: n  r: k' G6 K4 c# D. o2 v! N$ N
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \) T: p& W" b' V2 h& P
32                          PSC_MDCTL_NEXT_ENABLE);                \
% y8 c& G% {& H' V3 J# ?+ o4 `# T 33         GPIOBank6Pin12PinMuxSetup();                            \
; J$ Y( q- X0 s' q$ _ 34         GPIOBank6Pin13PinMuxSetup();                            \
5 t7 X. W' h3 O) k9 ?: h3 t3 | 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
( |  d5 \7 w8 o( @( Z 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
$ k$ U/ O7 m; B8 H  |7 J 37         UARTStdioInit();                                        \
! z" q/ _9 q1 o3 s" q$ ^( b5 e 38     } while (0)
" \4 H) Y, |4 |9 s! `3 L 39 #else
. }( w+ g9 g% N 40     #define LOG_INIT() do { } while (0)% @9 n3 G! w7 l7 L* f
41 #endif  C* H: z0 s1 U* b: l
42 ! y5 q5 Z5 R3 t8 C7 b+ t) W% G
43 /* Log Output */$ l0 g! Y, S' @& K0 z8 E! l
44 #define LOG_INFO(format, ...)      \
7 Z6 F* {) x7 Y+ X" V4 g9 s" y 45     do {                           \
9 }" l) D8 O: q+ f. w 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" a. V& |. T. V$ C 47     } while (0), u: {$ l! X2 p4 |' [7 G! l
48 ) ]. }1 J$ Q( S$ w1 U/ |
49 #define LOG_ERROR(format, ...)     \. E7 P; p: c* {
50     do {                           \6 G6 o" ?1 X9 Y" p+ g( {( f
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 W% ~9 x6 [% [. d
52     } while (0)
5 X0 m2 m! r2 Y+ L% ]$ K3 t 53 ; O( K7 K3 j# x7 e, O
54 #define LOG_DEBUG(format, ...)     \' D( E3 Z0 r& L
55     do {                           \
3 V6 \/ k; b- Q' \) ` 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* g+ q' a/ K- ^* l 57     } while (0)
, V0 o) P0 C! x) U8 n& |7 a6 G 58
. x# M# w4 C% j2 A5 m4 s- k( V* d 59 #define LOG_WARN(format, ...)      \3 t$ A% ^; ]# Z2 h! x+ S  b
60     do {                           \
9 J. R9 A/ g7 x% N1 t% ~4 [ 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. n  P- W" n2 U
62     } while (0)
7 ]" K' g+ F9 D2 P 63
- r9 |; L# z7 @- s 64 #define LOG_TRACE(format, ...)     \8 y% K/ U3 l; h" A' q
65     do {                           \
# y5 x6 i" _" g/ _ 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; D: X2 D: d5 ], K
67     } while (0)
+ X- Q2 ^. Q" L3 J  C 68
& k6 j( N( {4 ^# Z 69 #define LOG_FATAL(format, ...)     \' s! K2 E1 O0 z3 E
70     do {                           \
. U# I# v+ R# ?6 A$ a: u 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ j0 V: }  t$ z0 m 72         exit(1);                   \0 Y& k% e% I5 b: C5 J. ]: h
73     } while (0)
0 `: U0 i7 ~/ o% e. n 74
3 {, c$ P4 l- J" J 75 /* Assert */
3 X2 {; S7 J/ h 76 #define ASSERT(EXP)                \
* r' _/ N. y. _# ` 77     do{                            \1 h/ E( q2 u; \1 _5 E
78         if (!(EXP)) {              \4 V7 r4 N* G7 X+ N, F9 ?: F7 i
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \# N# k# @) i3 p; O7 F6 f, g7 C
80             exit(1);               \
, [' W7 c1 K/ h3 c% E; _* ~ 81         }                          \
. P. N0 C+ E* j6 ~& D* t5 s 82     } while(0)* |1 \0 N$ ~2 ^) w! [- \, m2 m
83
1 M' w1 x5 Y* d! e 84 #endif: x: @+ t9 C4 P3 S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 u' {2 ?2 \' v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03# o4 X( ^$ M9 p7 r: u1 w9 h' i! l
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

0 S3 k; A7 m* u' d你好,是arm这一端的app: h3 ^9 E' v. l, [; N
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ z: }6 Y$ E, ~  c1 _
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
+ h( s0 S& C+ t3 `
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 J3 L& A5 J0 g! u) X( k) ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1& G7 o1 D) o! c" e. @) x
dsp 端的 log 才使用了 uart1+ a! ^2 r3 M: g
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
: H& {: c% n+ d1 [' ~- w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
  ^7 t8 s& [: S" ]; b6 parm 端的 log 并没有用到 uart1* H, l1 a/ z; j. k( N/ \
dsp 端的 log 才使用了 uart1. y! o, `6 m7 P2 a3 y- `* v- @
所以,你需要也只需要修改的是 dsp 子工程的  ...

! H5 Z9 K) }- U& t那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,  c4 J6 Y/ N9 [" i+ b
然后将#define OUTPUT_TO_UART1 1 换成
+ i1 |0 L9 P/ c  Q* J- U/ S#define OUTPUT_TO_UART1 0
0 h. y0 _, O4 t& U& G  是不是这样
0 @7 ^$ O% j- V& }" i( H5 ?/ @9 E" ^" ~$ I4 o, N2 V) c
! @- h+ U8 }& |0 A. o$ k
- v% e, p4 L( a
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

/ y4 R9 n( b4 z& R5 [7 x2 V
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 11:09 , Processed in 0.041970 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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