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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
& A9 f4 A2 }* D8 x2 q1 |
7 Z( S; y4 @, L6 H- P, @7 V$ ]
2 ?) D+ l$ O. I$ \( g: T: l谢谢
' G% l4 Z! B) l! @
- R, f- ]2 e  v6 \9 J, u+ S2 V6 ?! g6 s3 T0 F( T4 ~4 J* U) R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
6 Y/ A$ E% b9 P; P" S7 b  2 #define _LOG_H_
+ T' G9 H2 F: j: R- n6 A  3 ! a. |+ [- B  o% j  M* K: Z
  4 /* 0: printf; 1: UART1 */
$ f7 l; Z' F5 \5 }  5 #define OUTPUT_TO_UART1 19 J) E1 u- C9 k3 p, Y
  6
. O9 L+ r% V# r. Y  7 /* Switch Log Output */* f$ ?  q& E. G. R+ a" }
  8 #if OUTPUT_TO_UART1$ C4 G  ^; m" R
  9     /* For UART1 Initial *// d, Q3 N9 T5 U  M% j. h, R
10     #include <stdlib.h>% o% D  G$ p3 S; r1 v! V4 T4 v
11     #include "hw_types.h"  - a% S3 b! y9 [$ S
12     #include "hw_syscfg0_C6748.h"
2 C6 c5 S! T- q' ^8 s1 x8 w 13     #include "soc_C6748.h"# f5 s) N( J8 [4 t( ?7 k
14     #include "psc.h"               
% `, s% A/ k+ N$ a6 q 15     #include "gpio.h"               - B* d$ @9 m$ l) y- P# K( j
16     #include "uart.h"
, r: e4 n  @9 V 17     #include "uartStdio.h"
: o  b& w/ N$ [- E8 Y9 H. {! e/ I 18 6 t. I4 m$ B9 H; d; j
19     #define OUTPUT UARTprintf+ K& y: H, B, J, f' k! F  j
20 #else
! D4 V9 Z/ i- |# Q9 S 21     #include <stdio.h>
" {( @6 J5 n) P2 h; J6 V 22     #include <stdbool.h>% Z  Y9 a" m: [1 q0 U
23
" k/ m6 u2 `4 k 24     #define OUTPUT printf
: k7 D9 I; T/ _2 w7 l- c, f 25 #endif
1 k: U" ?& _4 T" e 26
. p' `, `  u4 s  G 27 /* Log init */
6 Q% e' a! K' j  b- \ 28 #if OUTPUT_TO_UART1
- t# b* \! u$ P0 ?3 C  b; q- t- ?3 u 29     #define LOG_INIT() do {                                     \) X8 P2 A$ Z! x, @
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
- ~6 ]! M$ F7 v9 Y% E# U. W 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
. W; p. d+ k# f# E+ P- Y! N8 S" g 32                          PSC_MDCTL_NEXT_ENABLE);                \& ^1 a' u7 H3 r+ P6 h# y
33         GPIOBank6Pin12PinMuxSetup();                            \: S) Z" ]& w# e" @2 S4 Y* {* K2 m; n
34         GPIOBank6Pin13PinMuxSetup();                            \
2 M6 `5 x- E8 j) P* ~6 \4 Z! r7 o 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \& l, ^" m) c. _' a" G, @
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
- o  R3 _! D" t  f' U% u/ `& Y 37         UARTStdioInit();                                        \) Q  @" B% g$ u! y3 a
38     } while (0)
8 }7 R( L3 \3 B+ D2 W& x" k 39 #else
" ]  s" `* V9 `6 \* J+ ?& s 40     #define LOG_INIT() do { } while (0)
+ `# H8 b$ b2 p4 j/ V 41 #endif" W, ~+ R' _/ c
42 ; n0 ~2 Q; H& |/ p" R& F" p2 G
43 /* Log Output */
( G% N% [- P8 \0 m 44 #define LOG_INFO(format, ...)      \
% u" A% M0 Y' }& i* | 45     do {                           \
, K1 ], z  o; M" p& } 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ b( [& d- o# X5 V4 }% M3 Y 47     } while (0). I* @4 L( ?; @+ K8 Q
48   u1 l( C. A* l+ C: ]9 s" z' n+ ]
49 #define LOG_ERROR(format, ...)     \- d7 \0 x- }3 V$ M
50     do {                           \4 M2 a5 b% g1 `* d+ O6 I
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ ?" s( F1 @- m 52     } while (0)! B7 t' C' P$ b- R2 r7 j2 n
53 5 y9 U( \. Z+ T! {% F2 u% A
54 #define LOG_DEBUG(format, ...)     \
: i# {, N, H9 s- B2 J 55     do {                           \
9 ^0 K& ]; ~3 M, X; N 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# _8 Q0 j# T1 D( p, n/ } 57     } while (0)
- b( v) \- P0 I% Q" K0 a! [; d 58
* ?4 X2 c' C+ c: ?$ n 59 #define LOG_WARN(format, ...)      \# a" T, H/ E1 z* ^
60     do {                           \" `! q, g! W+ K) }6 R
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ p" |, b/ V2 J) J 62     } while (0)' J7 S+ @' J$ y% j" A6 k: v3 `
63
) b8 y+ g& M0 k+ A+ u 64 #define LOG_TRACE(format, ...)     \
  v1 ~* z; j( Z! @" e% |* X- n  Q 65     do {                           \
; e; f) F0 Q* D+ Q4 w8 v9 X 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 K( ]) W! u! Q7 g5 T 67     } while (0)
7 Q* h; a! H5 S4 a. n* r' e 68 ) S  C! H# r: P3 E) b; C3 C7 e
69 #define LOG_FATAL(format, ...)     \
6 a) }# P# V8 q8 U  y  s; `9 f 70     do {                           \
4 N2 N7 q. p, |) p% Q8 s 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ C& W) i7 m4 f, _9 o1 z7 A3 I 72         exit(1);                   \
, S& ^" l' {4 V6 z6 K5 A+ O- F+ c 73     } while (0)& J; U4 _6 @; |! @4 c
74 7 `8 s3 L" y+ ^9 h
75 /* Assert */
7 l+ F' Q1 c1 s, ?6 m* H1 l4 z 76 #define ASSERT(EXP)                \
8 g' I! A  f; R 77     do{                            \
% F8 n7 [% j) y2 e$ A! ?' n4 s 78         if (!(EXP)) {              \$ k: [1 \3 w- T$ l; y& ]
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
1 \* K; k' T9 h7 t* a# d8 E 80             exit(1);               \
9 b' t7 _  d2 p( F2 q. g! C- x- e 81         }                          \. i% E( r3 l8 M4 S4 E0 y/ Y7 Y+ I
82     } while(0)- v# C* c! u& M- E/ ^4 V) \" N9 o# l
83
* {! j% X( m" o$ x 84 #endif
4 J# B7 Q/ ]* P$ j, F' _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
1 g( M, n; F6 N7 a9 D3 k0 F, w- s! p
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03/ U$ D' @) q8 U9 H1 T& u/ R, Z
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
; S* Q0 t  S/ s, v
你好,是arm这一端的app& `4 V: S$ ~% v  ^
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03% M6 O' e2 N7 [# F3 I  g2 y
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

6 Z% I: ~, k3 C( M# P' s你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路% G# ?: f. O! p# g$ I7 q/ A) }' ?5 _
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 u4 ~8 L& @: P: o& K2 N
dsp 端的 log 才使用了 uart1/ D' h2 n8 e' e" |, p
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)2 p" f0 l+ n! {' w# O" x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
2 J# F; d# i. G9 O* Oarm 端的 log 并没有用到 uart1
+ v2 v& C: j0 X2 }8 l9 @dsp 端的 log 才使用了 uart10 l2 v; M0 ~. n& i7 A
所以,你需要也只需要修改的是 dsp 子工程的  ...
5 ?# Z8 ~( y4 u( F4 a4 j( ?- ^
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,' q9 U' b. S; K$ Y$ o4 g
然后将#define OUTPUT_TO_UART1 1 换成
3 k. t* J% Q# C$ T#define OUTPUT_TO_UART1 0
( ]! V8 |' l) V( q- o  是不是这样
4 X0 Q0 ^9 N2 @! s
; I/ S5 w& p" R8 w3 b  C6 `/ ~+ X( a. g

( K5 {3 i* Y4 ^, u. S
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
% ]8 \+ Q8 |+ x2 r1 @
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-11 22:34 , Processed in 0.042180 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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