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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

; d. y( o; n* g1 Y& }
4 s* _' r! q: p& X, Q谢谢9 v9 ^3 L* n3 |2 \
1 l3 N+ A" [8 S+ ~  l* X

5 u) E- F. j2 v) r2 S$ Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_& M! s  X- F6 ~  g
  2 #define _LOG_H_
' Q3 A9 t3 u- \( l  3 " f* Q2 Z" c0 }, ]: J2 C+ Y8 C
  4 /* 0: printf; 1: UART1 */, S, E3 ^0 T% Y  O
  5 #define OUTPUT_TO_UART1 14 K4 ~; I1 l$ b1 b$ D
  6
' _! o( O: k! H+ {& @  7 /* Switch Log Output */7 ^$ \9 H7 |$ ~" k1 N) {: \& ^
  8 #if OUTPUT_TO_UART1; u" ]  X* y3 {( v
  9     /* For UART1 Initial */5 A+ Z9 h# Q. q5 J4 D1 P: T/ Q
10     #include <stdlib.h>
8 j5 P' W) P+ I/ k 11     #include "hw_types.h"  6 R$ ~, `$ t: G; c, M
12     #include "hw_syscfg0_C6748.h"
6 L7 C9 f  b* J* i" q' Y  ~/ V 13     #include "soc_C6748.h"
% b( Q, v& l; U, L" `5 I2 U6 R' a/ v 14     #include "psc.h"               
) ]2 s, x  z$ C6 G 15     #include "gpio.h"               6 [$ F: V- ]/ t7 H
16     #include "uart.h"
2 O; [( q# h6 Q9 m  g3 Y 17     #include "uartStdio.h"
) p0 _' t- i' w4 k5 `" r/ B' Y 18
) ?! m& U) J4 v. p+ v+ g 19     #define OUTPUT UARTprintf
( ^- G" T8 Y, w2 B: ^ 20 #else: |( v3 a. }" I6 q
21     #include <stdio.h>
% d) a; V  r: M. |$ {4 p/ W 22     #include <stdbool.h>
2 R9 }- `1 y* Q 23
% R" l* r# i6 x6 { 24     #define OUTPUT printf
2 [6 a% n- D+ W 25 #endif0 C/ T8 w. y: W; E
26
' r7 L4 P5 [" m% W* `% V 27 /* Log init */2 z4 A7 |% K8 o. i- S- d. S6 S
28 #if OUTPUT_TO_UART1
2 Z3 ]: b: \0 e. T/ u/ P6 t 29     #define LOG_INIT() do {                                     \: |' y2 _! ^% ^: N9 T9 W: d
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \  W) P' e; s, f/ J/ w2 |& j+ J
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
- a/ W3 ]# t4 c& ?* X 32                          PSC_MDCTL_NEXT_ENABLE);                \- Y+ U( Y9 |/ ]* K) R6 z( p6 r9 K
33         GPIOBank6Pin12PinMuxSetup();                            \
% p$ E/ j' Z% }" S) S- P 34         GPIOBank6Pin13PinMuxSetup();                            \& T  w- L7 |/ w  ]& U7 f) v- \! X
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
( _% Z6 @6 O4 j 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \! ^% E) F/ ?# u( J8 `- }
37         UARTStdioInit();                                        \
1 k4 F+ V) ]- V4 X! Z+ k 38     } while (0)
8 A- v: x% |( V- }" o+ Y; K 39 #else
0 b0 }5 @1 Y. y. K  K1 x. h 40     #define LOG_INIT() do { } while (0)6 W5 [7 ]0 w7 d7 E
41 #endif" g* p; l, M/ X: o
42
- r5 v0 M% d: i) I- i- C 43 /* Log Output */7 ?" u6 b1 }8 p$ Z- h: L
44 #define LOG_INFO(format, ...)      \' ~: K4 k" I1 c* C( Z' {) z4 u
45     do {                           \
1 k$ Y6 u9 Q$ J 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
# o# p% d/ u- d) l8 s 47     } while (0)
- T( z& _6 U8 y% U' J' a 48
. ]; |8 L3 C, U" F* A 49 #define LOG_ERROR(format, ...)     \
: v" X) W9 n8 }# ?* ` 50     do {                           \  Z, P( K, I$ y0 ~' E' q
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \: X  u2 @4 \1 N" t; G) J' W
52     } while (0)
0 O% [, }3 `# E* q; T 53 % Y/ D+ @# j+ j% H% j
54 #define LOG_DEBUG(format, ...)     \# ~# d& u' [, B
55     do {                           \3 b2 F: H' m' q/ r) z) ]
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \/ {- V# g! P7 X( P
57     } while (0); d/ t/ R7 ~% x3 J
58 2 W) h; ~1 X& p9 X' n5 o: d1 B6 O' e
59 #define LOG_WARN(format, ...)      \+ H9 Q+ d1 O6 j
60     do {                           \
# D7 \* Z. V8 W" r 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ p% d; W; B+ o 62     } while (0)" h" a2 n! z* _( z; L- K
63
: }3 H3 T4 _- d8 i4 O; P0 y 64 #define LOG_TRACE(format, ...)     \
0 ?7 d8 E' o& _4 r8 J4 ]. |; |2 m 65     do {                           \
$ o4 V! X# K0 a6 p 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \; p" i' F) o# E$ Q( V
67     } while (0)
8 H( L; j1 m! |! }/ ~8 R 68
% w& Z) P3 T3 v9 u, t* Y4 w3 T/ i 69 #define LOG_FATAL(format, ...)     \
' d$ ^4 B& A/ ~: H1 _  _2 b 70     do {                           \( h; [' x1 w% Q9 a9 Z
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* [0 k4 [% H8 J; l# X# T( W
72         exit(1);                   \* F( w' {+ F; J2 v: q6 i
73     } while (0)
+ I8 p, \" g# L8 N 74 : a4 u; j+ B$ K  T( @) B1 h4 `9 k; J
75 /* Assert */, n6 d8 k8 h6 a
76 #define ASSERT(EXP)                \$ Z% V5 g* o* C3 t  E4 @
77     do{                            \
- R+ u) Y5 f. _7 Z 78         if (!(EXP)) {              \
6 V! }+ B; z6 `+ l 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \! r7 f8 [; S+ z& p+ h$ U! M! j
80             exit(1);               \9 _5 O8 [+ |" L6 h, D. f# t9 I  l
81         }                          \2 x: c+ Q* U1 i8 U3 I; N- g
82     } while(0)
/ Y0 G9 O6 [1 n+ h 83 8 c2 d, _# ~: a$ b, d
84 #endif
+ P: t: F2 Y7 |- y7 r
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏0 K0 N  B: E% i5 }# E+ M( U3 y# I
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 o8 P' j" C% h3 l8 [修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

' l9 [5 w5 y) n( R3 ?你好,是arm这一端的app
. b1 S3 Q- G' z* c4 i5 f  @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03/ @6 ^1 I! @6 R
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

, O  n) J# d! \" Z5 @# m你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
* \8 n5 T8 V3 E. U) n
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
; x3 L* G" p4 H9 J. n: G" x4 U, @dsp 端的 log 才使用了 uart1* U3 N3 A- t1 A4 v: ]4 s
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
8 a0 g# B0 f$ B4 @9 Y1 B8 S6 G. M/ N
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59) D& t- {* ]: ~2 n, d# K
arm 端的 log 并没有用到 uart17 c5 Y% s9 W( o- u
dsp 端的 log 才使用了 uart1: v% \% D5 P* E$ B
所以,你需要也只需要修改的是 dsp 子工程的  ...

9 S  D  _. v" V3 J6 G那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,$ g) Z: ?' U- T* h. N: V
然后将#define OUTPUT_TO_UART1 1 换成  M! b0 a+ l- h$ h8 H' Q8 X
#define OUTPUT_TO_UART1 0
6 }  F  F) l8 g  是不是这样/ Z5 J. X* }3 l2 }* {+ t' E
0 F: b1 V6 D; ^6 N7 f6 z, h7 X
' I( Y6 v) v: N% D
# S3 I( f; N: q$ `% B( E" ^
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

7 n5 o- O* Y+ V: E4 j" G  }, c
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 13:14 , Processed in 0.042708 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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