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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

% {% {2 I# w, {% A9 K1 H1 A' n" ?
4 W, `6 S6 O! g- [8 l谢谢+ ^. c: T. G" Q
4 @2 t; {; T% z) j; o

7 T) n- O; E3 ^& \& a  e5 I- V; V* O
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_8 \; z* |3 G9 G. J# P( |# i* b' [
  2 #define _LOG_H_
0 s6 M9 u( h9 a9 W2 I  3 $ j2 Q  f7 F6 K: h! b! q
  4 /* 0: printf; 1: UART1 */
: Q/ X! \2 @2 d3 R  5 #define OUTPUT_TO_UART1 1
8 ^7 n  O  ]' ~5 M! f% O' t/ A
  6
) k* k* I& w0 I  J% W5 ~/ B5 g  7 /* Switch Log Output */
$ t! H9 l, ]  V- {) }! U7 P; I  8 #if OUTPUT_TO_UART1* V( |8 ^- A' R" b1 D
  9     /* For UART1 Initial */
* o6 R  z9 u$ }# U 10     #include <stdlib.h>4 ]& l- G) ?$ c2 D2 }, @2 y# Y( ?
11     #include "hw_types.h"  / `4 D- t. H, k) l- {
12     #include "hw_syscfg0_C6748.h"8 {, {8 N+ M1 ~- D5 \
13     #include "soc_C6748.h"
4 a+ c% u3 Y1 b: V  I% y 14     #include "psc.h"               
& q' P0 |, m7 n  M9 z  r 15     #include "gpio.h"               # z+ M9 q9 J! z6 ]
16     #include "uart.h"/ H' |9 ~- F  V5 Z' F
17     #include "uartStdio.h"
, `% k7 m- b% F5 ^ 18 $ H( v+ ?. v1 s
19     #define OUTPUT UARTprintf- |. h$ G  C2 B: P/ n: d
20 #else, E* o. `0 ^0 I
21     #include <stdio.h>
0 `) H' t; J+ A/ Y1 R 22     #include <stdbool.h>" D  q! S; N7 }) \0 U3 Y. O' L
23
" I& U- O5 _1 q+ O% g/ `$ O 24     #define OUTPUT printf
7 C6 s8 J' C: w 25 #endif* p4 E+ K3 o/ c" ^. r
26
+ Y: ^; d0 E; s1 V" Q 27 /* Log init */( h, Y, S) C6 l6 \
28 #if OUTPUT_TO_UART1( g8 s6 u" X+ ]5 p1 p
29     #define LOG_INIT() do {                                     \1 B1 P1 E6 s9 Q; Q
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \! B1 o; A4 {" R7 @" d1 {0 C( V4 o
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
9 @; `$ z$ r# Y# R 32                          PSC_MDCTL_NEXT_ENABLE);                \
; `: d8 R4 P4 ]4 U 33         GPIOBank6Pin12PinMuxSetup();                            \
4 Z4 e( U# }6 z) g! B. t2 H 34         GPIOBank6Pin13PinMuxSetup();                            \
, @+ M, @- l" a& `% t 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \5 p/ E. c4 F* g; Y$ t' O
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
& ]; \( M, q: F; V. t# j' M2 U 37         UARTStdioInit();                                        \( A/ D/ g% }) V1 v5 u9 [( M# W
38     } while (0)
4 V0 I) W' V" ]! W 39 #else
7 U4 K& E8 \# V" U0 _ 40     #define LOG_INIT() do { } while (0)1 J% K* l( b9 v0 g+ Q
41 #endif( P4 @0 o& ~' o
42
/ \* Z0 u) @% V- P. U% W2 I( H 43 /* Log Output */$ G1 [8 V4 Y- r+ ?. b. e
44 #define LOG_INFO(format, ...)      \
$ b6 ?- H! F* q7 o( Z 45     do {                           \# I" g, u" Z/ G% s2 U% I3 e
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \  |' e' c. C. ?$ ^& L3 ^
47     } while (0)
, T; t# h5 U9 C9 H7 N 48
; a/ m; V+ {3 _8 \% d$ L2 I9 Y) \ 49 #define LOG_ERROR(format, ...)     \; b! g" t5 I% `. {" I: x  `! T
50     do {                           \# c% o+ V& P# c. a
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
- ?- b: I' m% Y& r$ Q 52     } while (0)
# ~" I% ^. t" Q5 {- n' Q9 ~ 53 - G' C0 j0 N, a2 ~3 ~& L
54 #define LOG_DEBUG(format, ...)     \/ J: t# n+ L: m  f0 m/ r  O# I" I
55     do {                           \' _2 }, ~- d/ U$ i
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
) ?( }; [% }& @+ p5 B, n, U1 } 57     } while (0)2 t4 w; _* Q8 `
58
, A4 s/ A' P/ b 59 #define LOG_WARN(format, ...)      \
7 R3 o* g5 t9 V5 {7 ]4 D8 S- H# {' y 60     do {                           \
( J0 W/ _+ n2 J% k! e* K- h 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \1 u  h: u( M$ L( ?4 a2 e5 j5 \2 r
62     } while (0)
( H. U# Y/ \7 k7 q1 z; `7 n' r1 m/ } 63
, W0 }; M# m7 I, R+ v 64 #define LOG_TRACE(format, ...)     \
1 I# @, g/ C& S0 l0 c/ ^- g, R) z 65     do {                           \6 {' P" T: e8 V7 n1 K: T1 {
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 N( H& ^  i6 O9 I* }& }/ A. y0 s 67     } while (0)
5 f' @7 T. J! Z 68 / k6 d# c) P1 w
69 #define LOG_FATAL(format, ...)     \
! ~4 [4 f  b. ]+ _, ^$ U 70     do {                           \' Q( Q  ]( S4 t' a
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( h: {9 C4 `, e( Q3 C$ c* Z7 n- O" b
72         exit(1);                   \( f1 Q/ h" q: L+ A/ V
73     } while (0)
3 r. X! J1 J$ m  w0 W 74
1 H2 i  K7 X, m. G  i" o 75 /* Assert */, L8 ^3 _! p1 w' |0 g& O
76 #define ASSERT(EXP)                \
6 e$ ]8 H" d& l0 u% l* A8 L 77     do{                            \/ O5 I6 f2 n8 ?
78         if (!(EXP)) {              \
5 f$ V: A# ~, H- v* S 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
$ o" q0 j' M5 t; I( U* {, c 80             exit(1);               \: |7 U5 m0 @/ i& ?
81         }                          \" X$ L# a3 Y' U7 t
82     } while(0)2 r' Y0 D* j& ^1 {0 `$ Y" P# @
83
) c: ?! k% S5 L. e/ d7 F9 e6 ] 84 #endif4 S, r: p) W5 w2 P. a5 N
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
# q; r7 K1 H( j) Y( R" ]
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:038 j; Z" V5 ]( k. C  q
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

$ l8 |- V8 ^& ~; W8 j: q你好,是arm这一端的app( h. ~  S+ k- P$ f
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
9 r0 q& F9 l. m3 ~4 X修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

; i6 `/ F- j% Q+ k! G. Q& Q# l你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
* g/ D& g3 |9 j5 T
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart15 L' V6 |1 g. c5 K6 [2 k
dsp 端的 log 才使用了 uart1
, I( V( T  k. l! H( @6 G4 Z& m所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
4 c4 i; }# B& z3 x, d( O. c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:596 k! e1 k1 v% O) ^: {
arm 端的 log 并没有用到 uart1
& Y: o3 O+ j) g1 N& K) \dsp 端的 log 才使用了 uart1
: z- M- B* e+ i$ {# w% h. R所以,你需要也只需要修改的是 dsp 子工程的  ...
* x" v. G* I& x5 Y( d
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
+ c# w7 a/ j( v4 o: Q  Z然后将#define OUTPUT_TO_UART1 1 换成
. N  {; m9 T- `3 d, p#define OUTPUT_TO_UART1 0% o# ?3 P4 a; g; z7 ]
  是不是这样1 x$ N5 L$ d1 ]" c

( u. }. H0 X  h3 M
1 `6 k2 `! W9 y# ?0 t0 X$ I8 [0 ]$ C3 |: I3 C
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

, J# m% `( U4 W# m& R" T
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-7 04:42 , Processed in 0.045247 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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