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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
  ~2 f6 K( K  |. I5 ^' L
% Z/ i! f; e: \5 _" T5 P; d$ A' u. A+ H. Y# L
谢谢
2 f6 H) c7 w6 Q3 q) |' v( X6 t- m+ b- G, t

  |. q/ g- c$ T( v* a' v/ `: U1 d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_% D' b* r  m% c  O, T  b) X
  2 #define _LOG_H_
; m! O7 I, a/ Z8 m- |4 R# y3 ~  3 7 Q9 X7 T2 \, n! H/ e
  4 /* 0: printf; 1: UART1 */
! y, G: u% D8 X  5 #define OUTPUT_TO_UART1 1
3 N+ o; @1 U' m) l
  6 4 j  K) b! D2 h1 e9 A
  7 /* Switch Log Output */
' _' U+ J7 O" k5 A; A  8 #if OUTPUT_TO_UART1  f' O, X9 b" o% ~8 `4 s& C7 D' u) k
  9     /* For UART1 Initial */
% o9 a  O0 Q3 ], k  t 10     #include <stdlib.h>
4 C! s9 o, p% \$ G3 ^ 11     #include "hw_types.h"  
, A1 J1 I/ k: I  A# K 12     #include "hw_syscfg0_C6748.h"
% }( @8 V) c0 x7 w  b5 p  S5 x 13     #include "soc_C6748.h", t& e' A3 t  A/ j! p1 q0 ?
14     #include "psc.h"               & c4 j5 A( c3 x. g
15     #include "gpio.h"               
( Y' G- k) L0 \! }9 [  l2 {( _ 16     #include "uart.h"
' r2 C! y! E  n1 m 17     #include "uartStdio.h"
% G, B5 s/ t5 e 18
8 G4 z2 S0 g$ R* [ 19     #define OUTPUT UARTprintf
# ^! e- x5 t3 c( ^* y 20 #else
8 A9 ^! l! z6 A0 `' ` 21     #include <stdio.h>
2 B! }  p: t4 {$ W( S7 A 22     #include <stdbool.h>
/ N0 \4 M6 z, D& W* E; L 23 4 C; A! W* I1 E8 v7 x. q
24     #define OUTPUT printf6 Y1 n. M% l  W3 H: _2 k- ?
25 #endif6 i9 X/ m, X7 m; a% y# y/ |
26 9 o; k/ c" Q/ S4 \, S( x; d
27 /* Log init */
" @3 H+ T$ I& G) Y2 R 28 #if OUTPUT_TO_UART1
5 N3 B& m) K9 R; ~ 29     #define LOG_INIT() do {                                     \/ A+ C) k  t- a  {. d6 j
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \# o( X" ?3 @% J/ M% @
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
: c! _$ K, `* \+ q) G 32                          PSC_MDCTL_NEXT_ENABLE);                \; y0 k2 U/ B9 V) J; s. I
33         GPIOBank6Pin12PinMuxSetup();                            \
; g/ u5 g0 Y7 W, V" u- E5 Q 34         GPIOBank6Pin13PinMuxSetup();                            \7 j; f( N) _  c- X
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
/ Q7 f, ~: J+ v1 t% _5 Q  Y: `8 W6 u 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
( v) c7 X& V1 ]8 i+ E- | 37         UARTStdioInit();                                        \4 X$ s- e, C' G
38     } while (0)
1 q9 M# i: `0 J- y, t 39 #else
1 v3 \9 m0 B7 C0 L( v. [& a 40     #define LOG_INIT() do { } while (0)9 J  V* f' d* R
41 #endif5 B( s6 B: N# U; p$ z$ U% m7 [: \" v& x* t
42
4 u& ~* a' A4 Z' n$ k+ } 43 /* Log Output */
/ J$ {7 `" i! I+ Y 44 #define LOG_INFO(format, ...)      \
. O! c! [% ?0 J8 K 45     do {                           \' ?( p$ r) `- B3 ?. h/ B" H; w
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- {5 k2 t# @. @. L8 l- V$ J6 u 47     } while (0)
, O" B: u5 g( p: }8 [ 48 & s( }5 S. K6 L4 e8 [, o6 ^  j/ A
49 #define LOG_ERROR(format, ...)     \0 w7 U7 [: G- b' k
50     do {                           \, e+ Q, B! Y# c
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% p# f' V' v) e9 T% ~, Q2 ]* y 52     } while (0)! v! j3 ?" g- C5 Z0 ^% b- j) `
53 ! W$ s' c% n/ _" l
54 #define LOG_DEBUG(format, ...)     \
# U1 k2 U, l% r0 C5 V3 C* n4 \/ Q 55     do {                           \
) j0 A) J* d3 X4 ` 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 U  t4 S0 q% W5 z 57     } while (0)- _7 {1 P2 @' R" Y
58 . p/ C, R4 g5 I& Z( \, z
59 #define LOG_WARN(format, ...)      \
! V  l8 G4 Y1 y( \3 s 60     do {                           \
3 Z! H3 U0 R8 {  | 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) n/ M6 o- C  u* d' @
62     } while (0)
1 W- O- B6 a0 W) l 63 / I( L' y. H6 z( W
64 #define LOG_TRACE(format, ...)     \9 c8 X3 Z8 ]  u& z$ l) m
65     do {                           \
& H% b6 `$ ^1 {: ?7 K 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* A) O' r; v' }! P  _; r3 b$ Y& T
67     } while (0)
2 }% m7 q! \6 P9 s 68 # x9 S- H- @# Z
69 #define LOG_FATAL(format, ...)     \
; c6 }3 Y* L! u& H- w 70     do {                           \" Z$ T- `' T+ N9 J. d2 E# B
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
( Z) m1 z; t3 v& i  }8 E 72         exit(1);                   \5 i5 M8 z& C# J5 N& G! B
73     } while (0)
" O9 P5 \( j4 f- u! e8 m 74 2 g) t0 I& \% j! z- ^" {
75 /* Assert */1 G7 S% Q. y. z, Z* S7 n' i
76 #define ASSERT(EXP)                \
3 l" [2 L. B  x  a 77     do{                            \
* Q; M% x5 Y4 y 78         if (!(EXP)) {              \
& U% r5 e! C; R2 U 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
, r! ?! S3 k) e  O: k4 q 80             exit(1);               \
/ ]1 y" ]4 |& w: U& ~2 e! A 81         }                          \
! Q3 f( z) v% a+ h9 C 82     } while(0)
+ y& O& Y: U, M 83 3 K8 Y( `/ `! }# X4 E/ C% E, x
84 #endif
. [6 R! }8 Z$ h+ K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏" {" s" Y' `. y, A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
4 v7 S. K8 ^& V  a$ G! c! M( C5 q修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
( S  p6 s% h* O0 P* B
你好,是arm这一端的app- \  J2 E: o  `  l+ Q; ~
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 k$ [4 O+ T1 }8 l. M/ }/ E修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

( o1 a( l4 y1 P% ~  y% P你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
: f+ u& g1 y; n0 K) V/ z1 V
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart10 J5 g2 G! u! b$ y) I/ z
dsp 端的 log 才使用了 uart1/ E$ `* N6 X! ]+ W7 E
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)4 N& _6 R' g1 [' N& p$ H1 |0 O5 q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
1 o( O; f& c  W) u3 {% t& t3 ~arm 端的 log 并没有用到 uart18 a: \* w2 n; v8 E
dsp 端的 log 才使用了 uart1
& ^7 S& Q- }" M5 N1 u所以,你需要也只需要修改的是 dsp 子工程的  ...
1 j& ^8 Z9 B) g! i  h& W
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,9 Z2 z5 W' j0 C+ x- Q+ V2 `- p8 G
然后将#define OUTPUT_TO_UART1 1 换成
, k2 a4 L8 ?( L: d#define OUTPUT_TO_UART1 0
  ~" H- u  y! l  是不是这样/ o* ^, {  \" m, M
8 o% D% f7 b2 i$ Q

$ C/ x4 T/ j% X# ~' [: X
; c1 V/ z+ @+ C- o- `/ N, q" h# P
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

- a" m) s& O' R3 X) A, F" o4 y/ O
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 07:47 , Processed in 0.044860 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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