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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
: J3 R$ q; T/ i) E
1 C5 D% T4 V6 `: l( \' h; M/ K: w' V% S" s
谢谢+ x1 R5 W6 h$ D4 Z3 V, m7 u
3 ?) l" a9 e* a" }( N+ {4 x! V
" \& v( S/ K: l* `) Z* k7 k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
3 z9 a; p* _6 q0 \6 Y% t  2 #define _LOG_H_* x, B. a/ \: W8 `
  3 " T! j# \$ X& u1 u- O+ B6 i
  4 /* 0: printf; 1: UART1 */
. ?7 u5 x! ]. b6 g" u- |+ _  5 #define OUTPUT_TO_UART1 1
( g' J& C: h: b
  6 9 m2 s( j6 Z! b& T4 T$ H
  7 /* Switch Log Output */. V+ t+ T( s, S5 G7 _9 T
  8 #if OUTPUT_TO_UART14 M" }& f1 b$ l% ], P
  9     /* For UART1 Initial *// f! ^2 R* Z; d3 b! E% g
10     #include <stdlib.h>
7 G( M7 L/ D9 A# h! Z. ]2 @% z( Z 11     #include "hw_types.h"  
: B4 P% q+ ~- O$ J  W 12     #include "hw_syscfg0_C6748.h"
6 z4 C, r( j1 z 13     #include "soc_C6748.h"
/ G0 O- ?* ~6 Q! a 14     #include "psc.h"               + s3 T4 q* H3 l) b5 T
15     #include "gpio.h"               . B$ f" d( y. G4 @4 G
16     #include "uart.h"
( k& H4 P0 O7 ^+ T9 `5 K 17     #include "uartStdio.h": R. V0 c8 H5 d' c, j  `
18
5 y+ s6 l: |3 K3 U" Q 19     #define OUTPUT UARTprintf% B9 y- b" O1 J4 n2 X" P: k
20 #else
& T: V1 O2 Y# \9 t; R 21     #include <stdio.h>" }! w* o; p' B8 _: x8 _
22     #include <stdbool.h>
1 d& z1 k0 E$ R, F7 w1 u% D 23 ' U$ _# C1 E, e1 x
24     #define OUTPUT printf9 D, `2 b9 F5 b) |' A8 b
25 #endif/ J9 c9 `3 D, I! n& U' t- @$ g% }
26
& e1 I4 d# M  a! W 27 /* Log init */$ C( d7 q! ~6 I* c( C
28 #if OUTPUT_TO_UART1- s( K& p3 Y4 |
29     #define LOG_INIT() do {                                     \5 O. O+ O6 g2 i5 m- E
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \/ ^: ]; F# {: {; Q* \
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
" c$ b1 h+ S7 J 32                          PSC_MDCTL_NEXT_ENABLE);                \
# f% \+ e+ D: l5 l0 k4 D% r 33         GPIOBank6Pin12PinMuxSetup();                            \
' t, U5 N& s8 s% Z" I0 B- G4 [ 34         GPIOBank6Pin13PinMuxSetup();                            \5 v* _. _& n' ~5 C3 J" Y! l. b
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
- J8 m: Q7 ^5 r, u6 E) ~ 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \4 g' d$ ]" J; l* }# I* B) b5 n
37         UARTStdioInit();                                        \' q$ j+ _6 {( t4 Z/ c, G3 L9 P( l" N
38     } while (0)
% N0 n; i0 R5 u# F7 k% z 39 #else' q) ~% X8 f! y3 `9 w
40     #define LOG_INIT() do { } while (0); e, q# Y4 l8 `
41 #endif
  x2 {& j6 O3 n. x& K5 g: S 42
: h: V1 J' m, Y, n  s5 i1 X7 E7 i6 P 43 /* Log Output */
! a3 n6 B6 c2 }$ l& Y0 G) N 44 #define LOG_INFO(format, ...)      \
+ U. t* k$ [' w, @  @ 45     do {                           \
/ D# f3 u& a* E5 h 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
/ M0 F0 l4 }7 P3 ]5 m 47     } while (0)
# r3 i5 d( u* l/ C 48 + T, F1 ], i" ?" m
49 #define LOG_ERROR(format, ...)     \( T! K" U, f- G4 k& ]! y/ H4 F
50     do {                           \# H  U3 l# g: `! [* P% }
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \% p4 `/ a( \! X" R, C; R, t
52     } while (0)
. P9 J( n! X) c1 f 53 6 m* M. _- c  z* \  F* B
54 #define LOG_DEBUG(format, ...)     \
9 U& R9 S. U7 M: f9 Q# z 55     do {                           \" U" F& B# z1 t  _/ P! X9 i+ e$ ^
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ d9 V  _7 E' L4 S6 `% {/ s! b: ?0 Q
57     } while (0)( g7 l: L' F- {" a
58
' r$ W4 V1 T% S! \4 t) c 59 #define LOG_WARN(format, ...)      \$ S; l7 z/ u& R4 |
60     do {                           \
' W- C/ d; ], L5 |5 M& P 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \$ A" q) Y7 x$ T; O8 e3 i
62     } while (0)6 P# L0 O* w- z( {4 D
63
$ A1 O% X& G" |! H' X, H) _0 N5 D* G 64 #define LOG_TRACE(format, ...)     \
& |/ V7 m" a( h( d3 Q; C 65     do {                           \
) ~/ X9 C- j2 R" \% {8 M 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- S+ O% g+ g& L/ k# |" Y3 x" u5 w
67     } while (0)
' k) U6 u1 F) o9 i6 e 68 + ]! j8 I' C- \6 P' L5 L
69 #define LOG_FATAL(format, ...)     \
2 z! K/ O1 m0 S& P$ \/ B, A" D+ G 70     do {                           \
4 x! [: W9 c3 W7 o 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- |' H7 s' A8 r. T
72         exit(1);                   \$ t3 w" t4 Q5 e- F3 Z5 E
73     } while (0)
, ]% u4 y" P. e. w7 U: ], V- g 74 ( m5 @' j" n5 s, B6 p
75 /* Assert */
3 u, Z  \6 U! X: a4 y 76 #define ASSERT(EXP)                \
7 d, A0 E  f2 u. f 77     do{                            \
- g) n0 X5 n( R1 R9 J- a, ? 78         if (!(EXP)) {              \5 L' z- p, [1 X, x& F
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
& L" ]6 Y- b. O7 m5 {: _/ [ 80             exit(1);               \9 V: h2 m- h3 g% n! I
81         }                          \* w- n! B- j' K8 u. ?
82     } while(0)1 Z: j/ e  `( M0 `2 p
83 6 }# E9 |  }, U
84 #endif
$ V( K& Z# E$ r% L+ I' e: s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 I! a* h( a+ I" R0 x; V
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
2 O/ D0 f' R$ g+ O( J( _8 I! O) \修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 S8 F- Y" A( l' E9 }; \: S
你好,是arm这一端的app
& \' j: o3 L: m& A, E1 |1 h8 d% [
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:038 v- `8 G3 m& _, s6 J3 v3 i; P
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
6 f' h8 h6 q! p: M  J
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
4 ]/ c( b1 c/ V* r$ t! K: B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
; d* ~7 J7 s* B+ K  Y2 g+ Bdsp 端的 log 才使用了 uart1
; [5 D# c# i2 A: `( s% V7 T所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)$ E/ H$ p8 j: _( v# Z
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
! f$ t1 }( m: @5 Y1 y. v2 j5 `arm 端的 log 并没有用到 uart1  y+ a2 g% M2 g: ~) M% P6 a$ m# x
dsp 端的 log 才使用了 uart11 Q3 w* T5 ~4 [* Y
所以,你需要也只需要修改的是 dsp 子工程的  ...

8 X5 _, @/ {* C. H) W那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
  K/ k, b/ l0 ?然后将#define OUTPUT_TO_UART1 1 换成- P! ^6 U/ N4 ^3 p/ w& D! Z
#define OUTPUT_TO_UART1 0
: O* [  P* P* G1 `8 {; W- X! i& r7 Z  是不是这样, \, H( d$ \: [

1 d4 ^; H0 D, q: [0 b5 `
, n) T( J( ~5 h/ n% X$ q* ]: m' T8 g. p
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
9 B5 v* A# z; `0 R% K" V
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 09:15 , Processed in 0.043598 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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