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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
/ ]9 ~5 {6 L/ y7 @% N3 E1 Z
4 h2 }/ R. T' w, P' ?0 n/ S: T6 n. ~1 U+ i4 o) g
谢谢3 s! V7 T$ X3 W! V/ M+ \/ p

6 V3 a' z% _* \  [4 _1 H2 ~8 @9 }# a7 `4 c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
0 @& ~' X( t( I- U7 D" A  2 #define _LOG_H_
4 ?$ V1 u8 `! f+ {6 i) I  3
' E9 |2 V+ K. ^6 z: \% p# w* O  4 /* 0: printf; 1: UART1 */
% {; n* C5 n6 s3 d2 {  5 #define OUTPUT_TO_UART1 1
2 V0 I4 E- e- ]8 S- J* C& ^# q
  6
% ^/ p/ S2 _; b/ e! g  7 /* Switch Log Output */
( t6 I( `0 y0 j6 Y/ f  8 #if OUTPUT_TO_UART1: b  O2 ^" V# E6 ?5 t
  9     /* For UART1 Initial */  o3 j# y. Z7 f" m
10     #include <stdlib.h>/ u# g2 @/ A3 u
11     #include "hw_types.h"  % Y) S& x9 G3 n* \
12     #include "hw_syscfg0_C6748.h"; V( M+ Y! E1 ~2 B" `% E
13     #include "soc_C6748.h"
; B) Y& @: L! q 14     #include "psc.h"               
1 S( U' m" `. d" I, U 15     #include "gpio.h"               
/ ~+ X6 I, W* N* [ 16     #include "uart.h"
% \* M* H: I/ a9 p+ v 17     #include "uartStdio.h"
" k3 C/ O; ^, H  ^ 18 3 y2 U8 H  g0 D' I6 ?
19     #define OUTPUT UARTprintf, u) D! m1 a# e% {
20 #else
/ b/ P, b, ?  D0 U5 p3 e4 s 21     #include <stdio.h>
: ?9 B; m/ j* K$ W! j7 Z8 r 22     #include <stdbool.h>
3 I8 [+ v: F; S2 Y+ W 23
# T6 ~9 ^6 a3 a* c! h& V" b% H 24     #define OUTPUT printf
; z* K" d) \0 Y  _! a/ L 25 #endif. y! r, d; C$ o
26
+ p" t$ D/ ]" _, t$ [ 27 /* Log init */4 r4 K3 Z, H7 L
28 #if OUTPUT_TO_UART1
" G* Y+ D2 G& Q8 J) O 29     #define LOG_INIT() do {                                     \
: W1 I: W9 P+ w8 m  V$ |# v 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \7 R  T5 Q/ L% T0 Y$ `" ]& a
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
; ~" t7 `- C( W- m' Y( @' y 32                          PSC_MDCTL_NEXT_ENABLE);                \3 w, H4 u7 c" M" O1 k# F
33         GPIOBank6Pin12PinMuxSetup();                            \3 @' u) k* n1 e9 v/ g
34         GPIOBank6Pin13PinMuxSetup();                            \
( K! T3 ~( ~, F0 d3 h, \2 A7 s6 z+ ] 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
1 O+ q* U7 i9 I& ~/ M8 L8 o- m 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \- F; q$ ]( {  M) @! J. G; \
37         UARTStdioInit();                                        \) \% f6 a4 G3 }* s2 b: u2 E3 v) _7 C
38     } while (0)
% h+ |  _3 a- Y7 y 39 #else- [0 a3 a( H) G: O& r
40     #define LOG_INIT() do { } while (0)
* u) g8 u; P4 C* S; | 41 #endif, g  O7 ]5 ?- h7 `+ b" z* c5 T
42 , i3 R0 g0 f: q6 b- B
43 /* Log Output */
  V4 s' g. V. y 44 #define LOG_INFO(format, ...)      \8 A: d  Y6 N' Z% k  f6 i  S
45     do {                           \, H8 G3 ~% O4 i- {
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 i% k5 k' k9 Y5 D
47     } while (0)0 ^0 h' p$ _. t$ k0 ^# H" z
48 ( ]) C$ B8 g! }
49 #define LOG_ERROR(format, ...)     \% m  t" X' w) }: n/ e! d+ |5 Y/ @
50     do {                           \8 v2 _8 f5 }7 S* T, b. P
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ T! c, j9 G4 w) R' V  O. i3 {: V, M
52     } while (0)- g# |, Y2 F. I1 g. `& S6 V
53 2 b7 X2 \6 H3 H: l
54 #define LOG_DEBUG(format, ...)     \
& Z7 w2 Z  Y6 w  h) r 55     do {                           \9 X. r0 W" k) t/ O. @
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
! i$ N  I# }$ R# F& f 57     } while (0)( a+ @# X! e2 s6 ^- ^9 r7 V" _0 e
58
) v# A, ^+ f2 o: B 59 #define LOG_WARN(format, ...)      \) r# v  |2 o: r0 R& f
60     do {                           \* Y5 s8 L. ?8 L) r9 {& X; x
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& o6 r% d0 g5 O# e 62     } while (0)2 t1 L  m! h! b4 D
63 ; ^! \. r3 k! ]4 H2 N  ]& ]
64 #define LOG_TRACE(format, ...)     \" x9 p% S& q- E
65     do {                           \1 j) @7 L2 g% D  {& V( ~
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  b2 x+ R. T( u1 `* }6 F
67     } while (0)
' u/ i, P" N5 ^+ j# g 68
3 _: t3 ^. d/ e 69 #define LOG_FATAL(format, ...)     \
9 M' z: R$ g' d3 [2 C' K 70     do {                           \
' o! W5 H" l3 H( j% x, R5 F+ v 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 t6 c/ o. D5 Z/ y! L; R% P 72         exit(1);                   \
, i2 n5 J4 I: e6 O 73     } while (0)
- I4 T. X' d! j) q; N. p, q 74 4 f) _, z& W: w; [
75 /* Assert */
8 n5 q. D7 F8 \1 j% a( N 76 #define ASSERT(EXP)                \
/ S$ r( Y( l" X# ^1 ~9 _ 77     do{                            \
5 Z0 R9 W& K8 R1 x9 N, G 78         if (!(EXP)) {              \
/ Q8 B) G/ [9 b9 v' I% H 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
( X* T7 q+ _/ C8 E* S, i 80             exit(1);               \! u& v# V, g2 n5 @* k
81         }                          \
# P! ]' J- ~  A9 M, F 82     } while(0)
/ }' w9 B- Z( K7 |' U- }; J 83 " z; A# @; }5 x5 x1 d  ?
84 #endif
, u. J, v4 i, Z; k
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏, u3 t0 L( r4 {' z' {
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03, p5 a9 U* q! g1 }# {
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
8 M9 z4 i1 N6 n+ A
你好,是arm这一端的app
% _! B/ @8 i2 [! @3 ?! N; Z2 W# c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
+ {8 E/ L9 L  L. j. l- _- X# y修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
. V; V% \% g& p2 w3 [; A/ Y& k
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
1 D* R! t. o: d+ E1 X; n5 U
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
3 l. R) C: r6 c3 u3 K- Q+ Rdsp 端的 log 才使用了 uart1
( n0 P6 D' r! ^所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)$ Q9 L4 `) X9 ~- }5 @
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:591 C# \" R( g" `0 k
arm 端的 log 并没有用到 uart1
5 R. e( H& o0 e, vdsp 端的 log 才使用了 uart1' k4 n/ R! C- V0 b
所以,你需要也只需要修改的是 dsp 子工程的  ...
. Y# i) B8 Y& {/ z+ d1 Y
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,, l5 x' a( m$ n
然后将#define OUTPUT_TO_UART1 1 换成" v% l0 d4 C4 Q* s4 L4 ^
#define OUTPUT_TO_UART1 0
! |( P% c$ W+ v' T* V+ S' c  是不是这样
' ?2 R9 c3 \# D: o9 G3 y% Q+ g, t& O: Z4 x# u3 |; [$ s
* q* `7 d4 u7 j* y$ S
$ g& \' d: L6 v! [
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
! n/ L  {9 r% f% s1 N
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-29 01:57 , Processed in 0.044822 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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