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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

/ g3 _% u7 I5 M3 @& L
, K+ ]; V0 R. y( l$ W谢谢! }5 Z. [6 W1 j
- N2 R) f9 E% _; k
8 m% q5 q4 [* G% J7 k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
; e( Z5 }" e6 o# t( O  2 #define _LOG_H_+ x  A# O( p0 w! w0 ?" R% Z* f
  3 * x' V0 {* c  R1 W: {
  4 /* 0: printf; 1: UART1 */3 k9 c! B& N% f' _5 [) U
  5 #define OUTPUT_TO_UART1 1  K' u3 H8 D: j/ y4 ?
  6 * |9 B9 R$ o% U
  7 /* Switch Log Output */# u& P; ^& y2 `! W
  8 #if OUTPUT_TO_UART1
4 ^. I) y6 n8 E5 l* l; D  9     /* For UART1 Initial */
2 e# W% a; w" _8 i 10     #include <stdlib.h>
4 u# k1 _$ _* J) E1 z 11     #include "hw_types.h"  
* I' W; F3 a8 Y% g! X# b 12     #include "hw_syscfg0_C6748.h"
1 _; Y4 H7 _, L: e. I% D; _ 13     #include "soc_C6748.h"
7 P+ v) A: O  [1 x 14     #include "psc.h"               
- O7 l% Q# d9 v1 F9 z( k' i6 F 15     #include "gpio.h"               , l+ C; B. P1 c7 Q! C
16     #include "uart.h"
( g- K. {  y7 e  x- h 17     #include "uartStdio.h"4 ?( @$ F7 K4 C0 f' F
18 % [) u, j+ q0 ?& _0 O* P) U+ s  Q
19     #define OUTPUT UARTprintf
: K% B8 O) i8 p2 @6 X. d 20 #else$ z3 C  g$ y3 \, S$ \3 E5 J
21     #include <stdio.h>
/ u6 u+ Q9 c8 C5 i* e) M 22     #include <stdbool.h>0 W1 ~* r( `* G3 R$ U, _
23
$ p1 q6 O3 _9 |  Z7 X; K9 U 24     #define OUTPUT printf
' m% r1 q* h* N8 C! u6 p" q 25 #endif
; U8 d4 s# r' r$ R; |9 u) t 26
5 E0 c! h; g3 w5 t# C/ J 27 /* Log init */
; e! U3 ~$ f4 f: `2 M8 P 28 #if OUTPUT_TO_UART1
1 \- u8 l6 p' ?+ ?# \ 29     #define LOG_INIT() do {                                     \6 e' L( L. }6 P8 K; n+ X' N, B
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \5 G4 u! o7 C  ~6 O6 L( @
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
' r" S3 g: r8 Q% v1 U 32                          PSC_MDCTL_NEXT_ENABLE);                \
/ S8 U- M" U% P 33         GPIOBank6Pin12PinMuxSetup();                            \  l) I9 S& v  K& C% n- b4 D
34         GPIOBank6Pin13PinMuxSetup();                            \$ e6 {2 z! h0 k$ J, M7 \
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
/ E3 a$ ~  M9 t 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
* q: q8 ^  E4 f/ x 37         UARTStdioInit();                                        \+ Z, o% l# V! t$ Z% F
38     } while (0)
6 o7 ?+ N/ U5 D 39 #else% l8 M7 }. P; _' T; }, k7 a! t6 D9 R
40     #define LOG_INIT() do { } while (0)
, b5 w8 ?5 b2 d" l& L' u# B 41 #endif2 {# i2 Y; U5 [1 @7 K% [9 \- P
42
: y' G9 o) Q! L# @; f! H 43 /* Log Output */
. r9 F' x" ?4 l; O) Y 44 #define LOG_INFO(format, ...)      \$ P2 S' ~/ F8 |  T( U
45     do {                           \, j; J2 F6 h5 D$ p7 q) z
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \8 Z9 w( Y/ B' i) J) {
47     } while (0)4 Q" ?# M: b5 _5 Z7 |" ?9 K" T4 r
48 * G3 s- W! X+ @) x
49 #define LOG_ERROR(format, ...)     \2 _- a( @$ C; P" v% H% f
50     do {                           \+ Z" L5 v& L8 z) `1 F' d, q8 R( V
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  f- O8 n" c9 T
52     } while (0): U: i; u& o* H- k6 T+ T! f: ~( R
53 - Y: U2 g, e  i  |8 n: Q5 |+ K8 r" ^" m
54 #define LOG_DEBUG(format, ...)     \1 d, L$ }( h; q, `* [( ?
55     do {                           \
0 I6 H  _5 ^5 j3 P( o 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ z, b: U3 }4 ], Y. v+ P$ E
57     } while (0)& C9 d  |# ]6 J; q7 Z4 k
58
( S% L$ @8 c& | 59 #define LOG_WARN(format, ...)      \* q4 `8 l' k& K  e
60     do {                           \& }* Y8 v( f; k7 g% X" J
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" t7 _* q6 q/ M. k: I
62     } while (0)8 k5 Z5 L/ W' J, g4 [
63   ^/ Z7 C4 c0 Q6 p* B  o
64 #define LOG_TRACE(format, ...)     \
" D+ T. k; t7 T/ A+ y 65     do {                           \4 V7 _5 b9 b( S2 R" [# {" k; u
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
" S  c9 s4 |, l1 ]/ P 67     } while (0)+ ?/ u0 |6 E+ j& E3 ^% i, x
68 1 V" n& ?' r& o; t$ W" D$ q
69 #define LOG_FATAL(format, ...)     \
0 _9 W# n7 t  } 70     do {                           \
6 C( l5 d! H) w, X+ [! g- Y 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \5 [, z- G# o2 @# f
72         exit(1);                   \0 y3 A1 }5 Q7 `8 z
73     } while (0)
2 f3 Z0 ]- R. c6 ?' {6 E4 ^ 74
3 a( s) H$ l3 u* r, d7 P4 b0 E7 M 75 /* Assert */
# b0 q& m( C. o 76 #define ASSERT(EXP)                \
3 @  A) N' c- l3 h' ~) j( M# i 77     do{                            \7 h9 c8 f6 N  Q/ U* M
78         if (!(EXP)) {              \
6 B) H7 V" z; X! ]" X, C0 l 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \2 A  L% Q4 w& a9 y: W$ _, ]/ N7 T3 Y
80             exit(1);               \
' g0 \8 V  M2 K" i) s- ~ 81         }                          \& h- b5 P6 y2 k
82     } while(0)/ O" f% ~! \& O
83
# Q( C' `; w% @- ~6 R) N 84 #endif
  F( i9 T% H4 h1 E
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
' N  m0 G. D) ~: G) `
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% T5 Z: Q6 t. m* V' Q' L8 W* J修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

4 x, s" f* [9 o你好,是arm这一端的app
. O0 h- D. u4 O" {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
8 J5 R' Q$ M" p, T& E! B修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
5 u. ^0 t/ f; t, A* v! e
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路0 K! S9 ]" |0 o/ v
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
+ k& k1 Y+ I2 Y4 `, L5 C! rdsp 端的 log 才使用了 uart1
' j. K1 _% @$ k, p8 N0 c! ^5 _所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)- ]% S0 N1 E  c+ R6 j" s7 m
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
# \* e' U* W7 H% @$ Z3 Jarm 端的 log 并没有用到 uart14 Y5 l5 X# D( k. j% u) y! s
dsp 端的 log 才使用了 uart1
8 X" H" I& Z& T0 ~( P2 K所以,你需要也只需要修改的是 dsp 子工程的  ...

8 q, z9 U0 S# D# o) _! ]  r那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,9 K" Z. w. q3 d% ^
然后将#define OUTPUT_TO_UART1 1 换成5 H1 A5 R: Y' X  m# L" s) K% c3 ]9 G# ^
#define OUTPUT_TO_UART1 0
) a$ A# K# l  y/ }3 K5 }  K  是不是这样5 {5 o7 X: e" Z& n# w: L* }4 }

- k4 u' g/ `  |3 Y+ T
8 m1 {# w/ d( j* \9 T" L- F; v% N
% A6 J. t- V6 n  {3 h
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
% e) v2 O* b6 J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 14:16 , Processed in 0.042646 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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