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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
" G# e6 k6 Y, s1 v, f, h% v0 \* N+ i' c0 V9 v: S; @; l

0 Q! _( J, S7 ]: M; E; w! N谢谢* `4 f; z+ I' E" n3 W& k

! I$ s# L& v( \, b
' O6 v) ^+ w+ h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
2 G) j: m; }5 \" N/ T; _  2 #define _LOG_H_
7 x% W; x% s0 ?/ I  3
/ D8 j2 t$ Z* C8 k; r  4 /* 0: printf; 1: UART1 */
( t$ e7 q% m- K- @1 j9 z& F/ U  5 #define OUTPUT_TO_UART1 1; E% O, [( i7 W3 Z1 l; W1 D
  6
+ x* @. Q0 f3 V2 r! r4 B1 r  7 /* Switch Log Output */
% {. S- g3 e& `  8 #if OUTPUT_TO_UART1
  B0 g  j! c1 B) g) I, w  9     /* For UART1 Initial */
+ e. a+ s  J! N" Y1 ~ 10     #include <stdlib.h>
0 _0 b/ D; s2 |( _ 11     #include "hw_types.h"  1 {: c" T0 u  n' K
12     #include "hw_syscfg0_C6748.h"
/ M. d) i2 p# I9 r- X2 E8 j  v: z5 a 13     #include "soc_C6748.h"  G/ L$ t" x0 A# m
14     #include "psc.h"               " ?6 P8 t2 c  C) L
15     #include "gpio.h"               ' [& G$ }4 p1 Q' [
16     #include "uart.h"0 k, a: q# n8 M6 @: C5 A& K6 M6 G0 U
17     #include "uartStdio.h"  ^: j3 Y; ?4 V& T
18
- c3 ?8 p! G+ |1 R! k5 i4 f. E9 @ 19     #define OUTPUT UARTprintf
% [! `. m$ C: \$ C  E$ X% l! L 20 #else
( [- A" g8 k6 o 21     #include <stdio.h>/ ~) c+ `! G" [6 M9 Y$ W2 u
22     #include <stdbool.h>- X+ [/ k" B( N8 S
23 ) I7 }3 O# Z( g: w* j4 ]
24     #define OUTPUT printf
4 v8 R4 l! X1 w5 l4 R$ G 25 #endif
0 P" M' h) f& r6 P  g1 X 26 & q% ^3 c- }9 N! t* O6 A  a
27 /* Log init */: B  ~" j8 Y1 m& ^
28 #if OUTPUT_TO_UART1
9 h1 u0 e6 K# l3 o8 c$ ?/ Z 29     #define LOG_INIT() do {                                     \, M5 i9 q2 C( Y" R: t
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
' \  |8 U& f% n; Z" ^$ p  O6 T 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
8 w' j3 c. w. R# E0 B# J 32                          PSC_MDCTL_NEXT_ENABLE);                \- D4 m# i" z& e
33         GPIOBank6Pin12PinMuxSetup();                            \
: [. k; s1 Z6 N 34         GPIOBank6Pin13PinMuxSetup();                            \! W( Y3 J% j' U+ }' Z2 h
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
$ n) u9 M% m1 Z8 U- x5 ? 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \6 T! G' e- W4 K
37         UARTStdioInit();                                        \
* b4 x6 \7 \. e7 A; [7 N 38     } while (0)
4 y" G& ^+ I# l4 b9 Q2 z" Q( l 39 #else
. E% W0 ?! k% J2 A$ Q 40     #define LOG_INIT() do { } while (0)
6 J* g! p3 K' n( ? 41 #endif
/ P6 {& V. |3 d# A0 r5 N 42
! @6 Q/ K* J" @8 f0 U 43 /* Log Output */
  X$ g) U2 S# a  J3 y 44 #define LOG_INFO(format, ...)      \, U' U; r+ T4 Y: G
45     do {                           \
: ]6 X0 ?# ^: d" Q+ G' e 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- d7 i% X; D7 B/ m2 C. x
47     } while (0)/ g$ {( P" K2 D7 P, Q- p) |
48 - t' K0 L7 R) i+ i* R' z( S
49 #define LOG_ERROR(format, ...)     \3 n# Y3 k1 u  |  L( O% F' J' c
50     do {                           \7 Z! v. p2 b0 u+ l; J8 s2 f
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% v3 Y1 _4 u8 q2 W" e
52     } while (0)
# g4 V5 J4 Z/ s  L! R 53
0 p4 n0 i; M+ Q5 ?4 o0 L- k 54 #define LOG_DEBUG(format, ...)     \
% Z% U, `7 ~6 Z' z) ~& e8 @ 55     do {                           \
" j3 H$ A# U4 |% S 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ T8 A9 e% w; m) M4 g+ d3 M
57     } while (0)
8 A  Z4 b$ o7 R/ R& z 58 ) ?. b; n% a# K. W
59 #define LOG_WARN(format, ...)      \4 C5 x  m! u, N5 a; G0 @4 X5 c
60     do {                           \  t: J1 J8 c. [3 u
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% S/ |0 h* ^; t6 @! u
62     } while (0)
! m( [( C* [& m2 K% T0 R, O 63 # `% X$ V+ z7 A
64 #define LOG_TRACE(format, ...)     \! S" Y5 X7 I( O6 F
65     do {                           \
- ~; }% A( Z; s' ]# f" z7 T 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; c# E* y" l" V  e! b" ^7 i9 V 67     } while (0)+ ], {' W+ [$ j0 H; S
68 ; `$ q2 V9 }  A, W; C
69 #define LOG_FATAL(format, ...)     \
6 \0 d- N9 j1 ]- p) Q 70     do {                           \/ j* K4 e- V3 C' o, ~
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ [* H4 u. q; q5 C! D& Y- L2 c  w
72         exit(1);                   \
4 s- r' l  n! r9 z6 \8 [' v 73     } while (0)9 Y) m1 u. G8 |! ?: m
74
0 G0 k5 c" t2 q' w* q" }. ` 75 /* Assert */
- P! n7 l; @6 _% b 76 #define ASSERT(EXP)                \* J- p8 R$ w2 J5 U2 o1 a8 X3 I& O) B8 J
77     do{                            \
# A: q( _1 j" s* d) P 78         if (!(EXP)) {              \# \4 [; V; J% ~- q3 q1 J
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
# h0 j5 _0 a, r  k0 ^; ~% b 80             exit(1);               \9 k" O+ s! Z! z$ v# d  [& p
81         }                          \. o  p% n2 ^# T) K, t- J* A% q
82     } while(0)
4 s- h  R' u$ [9 k" C" w 83 9 F3 E  w: ]$ l. p: E
84 #endif, w1 Q- }; \: @  r( \) D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
/ K% [: _. F' E$ q" U4 _
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
: \% H6 ?  ]# o8 Y, N9 b修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 }- n( y3 @- V( X( G  M5 o
你好,是arm这一端的app( o6 p  J5 _) {; u
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03  T6 g9 y0 {; e- ~+ Q2 Y9 H
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

! s8 }; _) i: k! J你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路/ d& G, H  k5 I7 K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1/ h& q0 c6 L( R, C
dsp 端的 log 才使用了 uart1
3 b+ P- }" t6 u4 x" F6 \所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h); ]' k" \6 ^7 l% B- t
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59# J7 p% `  ~1 r0 [" k
arm 端的 log 并没有用到 uart1
) o: l/ X$ V) p: G5 M- Udsp 端的 log 才使用了 uart1
  z' w; q/ p/ k所以,你需要也只需要修改的是 dsp 子工程的  ...
/ Y6 d  ^: V# `
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,$ ?0 M* N. i1 T4 Y# q( j! [/ |
然后将#define OUTPUT_TO_UART1 1 换成
1 \. E5 w% e+ s4 u#define OUTPUT_TO_UART1 0
; R1 Q1 T. R1 |( F0 C7 f  是不是这样
5 F& Y+ P4 x% o4 L8 ]
' s9 o9 o2 C6 X. Q( D$ |3 E4 {" I4 Y$ W5 F( U

' Q7 i' r8 h5 k7 ?( T- W% |
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

$ q/ z: y$ T5 J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 09:16 , Processed in 0.042273 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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